第二章 文件权限和目录配置

 

目录

1、执行文件权限的对象

2、文件的属性与权限的类型

2.1文件属性

2.2如何修改文件的属性与权限

2.3目录、文件的权限与意义

2.4Linux文件种类与扩展名

3、Linux目录配置

3.1Linu目录配置的依据--FHS(Filesystem Hierarchy Standard)

3.1.1根据文件系统使用的次数与是否与用户进行交互,FHS将目录定义为四种交互作用的形态

3.2三层(/、/usr、/var)目录的意义与内容

3.2.1 根目录的意义与内容

3.2.2 /var目录的意义与内容

3.2.3/var目录的含义与内容



1、执行文件权限的对象

对于一个文件,可能对其执行操作的对象有用户、用户组或者其他。也就是own、group、other。相应的在系统中也有对他们进行管理的配置文件。账号和一般用户的信息记录在/etc/passwd中,而密码则记录在/etc/shadow中。Lin组所有组名都记录在/etc/group中。


2、文件的属性与权限的类型

2.1文件属性

[root@localhost /]# ll
total 56                                                                        
lrwxrwxrwx.   1 root root     7 Mar 26 17:50 bin -> usr/bin                      
dr-xr-xr-x.   5 root root  4096 Apr 24 00:03 boot                                 
drwxr-xr-x.   2 root root     6 Apr 22 17:08 cdrom                                 
drwxr-xr-x.  20 root root  3520 Apr 26 17:35 dev
drwxr-xr-x. 131 root root  8192 Apr 26 17:35 etc
-rw-r--r--.   1 root root   516 Apr  1 19:23 fstab
drwxr-xr-x.   3 root root    19 Apr 24 23:02 github
-rw-r--r--. 1 root root 512 Mar 26 18:09 fstab
文件类型权限 链接数  文件拥有者 文件所属用户组  文大小件 最后修时间  文件名

第一栏:d=目录、-=文件、l=链接文件、b=块设备、c=设备文件中的键盘 鼠标,后面为文件权限。其他栏如文所叙述。

TIP:想修改默认系统语可以更改配置文件【/etc/locale.conf】 

文件权限重要性

  • 系统保护功能
  • 团队开发软件与数据共享的功能
  • 设置不当直接危害系统本身

2.2如何修改文件的属性与权限

记住三个命令chgrp、chown、chmod。意思分别为修改属组、修改拥有者、修改权限。命令的通用选项

 -R  递归。

数字类型修改:

r=4、w=2、x=1

符号修改:

chmod

u

g

o

a

+

-

=

r

w

x

文件或目路

2.3目录、文件的权限与意义

2.3.1权限对文件的意义

1)r(read) 可读取文件内容,可复制粘贴

2)w(write) 可编辑与修改文件的内容

3)x(eXexute) 该文件具有被系统执行的权限,也可删除

2.3.2权限对目录的意义

1)r   可以读取目录内的文件名与目录列表

2)w  可以对目录内的文件与目录进行移动包括,删除

3)x  可以将该目录作为工作目录 那


2.4Linux文件种类与扩展名

  • 常规文件:文本文件ASCII、二进制文件、数据文件
  • 目录(directory)
  • 链接文件(link)
  • 设备与设备文件(block device)
  • 数据接口文件(sockets)
  • 数据传输文件(FIFO,piepe)

Linux拓展名:文件拓展名仅作方便理解作用,并不能使文件能够被执行。单一文件或目录名最大容许文件为255字节。


3、Linux目录配置

3.1Linu目录配置的依据--FHS(Filesystem Hierarchy Standard)

3.1.1根据文件系统使用的次数与是否与用户进行交互,FHS将目录定义为四种交互作用的形态

  可分享(shareable) 不可分享(unshareable)
不变(static) /usr(软件存放处) /etc(配置文件)
  /opt(第三方辅助软件) /boot(启动与内核文件)
可变动(variable) /var/mail(用户邮箱) /var/run(程序相关)
  /var/spool/news(新闻组) /var/lock(程序相关)

实事上,FHS针对目录树仅定义了三层目录下应该放置什么数据

  • / (root,根目录): 与启动系统有关;
  • /usr (unix software resource):与软件安装/执行相关;
  • /var(variabl):与系统运行过程有关

3.2三层(/、/usr、/var)目录的意义与内容

3.2.1 根目录的意义与内容

根目录是整个系统最重要的一个目录,其他目录都是由根目录衍生出去,根目录在与系统的启动、还原、修复等操作有关。

因此FSH建议:根目录所在分区应该越小越好,且应用程序所安装的软件最好不在和根目录在同一分区。

FHS要求根目录下必须存在的目录

  • /bin:放置能够在单人模式下还能被使用的命令。/bin下的命令通常被root与用户使用
  • /boot:放置开启启动会使用的文件。包括启动文件以及启动选项及选项配置文件。包括内核文件vmlinuz,以及启动引导目录/boot/grub2
  • /dev:设备文件
  • /etc:系统主要的配置文件,FHS建议不放可执行文件在此目录。此在还归定最好存在以下目录
  1. /etc/opt:放置第三方辅助软件/opt的相关配置文件
  2. /etc/X11:与Xwindow相关
  3. /etc/sgml:与SGML格式有关的配置文件
  4. /etc/xml:与XML格式有关的配置文件
  • /lib:在启动时会被使用到的函数库,以及/bin或/sbin下命令会调用的函数库。FHS要求必须存在下面目录
  1. /lib/modules/ : 这个目录主要放置可抽换式的内核相关模块(驱动程序)
  • /media:可删除设备,包括软盘、光盘、DVD挂载
  • /mnt:临时挂载外设。
  • /opt:提供给第三方复制软件放置的目录。
  • /run:系统启动后的各项信息存放,/run目录可以使用内存来模拟。
  • /sbin:放置启动、修复还原系统会使用到的命令。
  • /srv: 服务器启动后,这些服务所需要使用的数据目录
  • /tmp:临时文件夹
  • /usr--
  • /var--

FHS建议根目录下存在的目录

  • /home:系统默认的家目录
  • /lib<qual>:放置不同格式的二进制文件
  • /root:管理员的家目录
  • /lost+found:etx文件系统格式下才会产生的文件
  • /porc:虚拟文件系统,放置的数据都在内存中,如系统内核、进程信息、外接设备的状态以及网络状态
  • /sys:虚拟文件系统,记录内核与系统硬件信息相关的内容,包括已加载的内核模块与内核检测到的硬件设备信息

3.2.2 /var目录的意义与内容

根据FHS定义/usr中放置的数据属于可分享不可修改(shareble,static),所以可以用于网络分享中。usr为Unix Software Resource 的缩写,用来存放操作系统的软件资源,这个目录所占据的空间最多。一般来说FHS建议/usr下应该存有以下子目录。

  • /usr/bin/:一般用户使用的系统命令,/bin就是链接此处的
  • /usr/lib/:如上,/lib也是链接此处的
  • /usr/local/:用于存放管理者安装的软件。
  • /usr/sbin/:非系统正常运行使用到的命令,/sbin也是链接此处的
  • /usr/share/:用于存储一些只读的文本文件,如/usr/share/man|doc(软件说明文档)|zoneinfo(与时区有关的)

建议存在的目录

  • /usr/games/:游戏
  • /usr/include/:c/c++程序语言的头文件与包含文件放置处,当我们以Tarball方式安装软件时,会使用到里面的许多文件
  • /usr/libexec:某些不被用户常用的执行文件或脚本,列如大部分Xwindow下面的操作命令
  • /usr/lib<qual>/:与/lib/<qual>功能相同,所以链接到此处
  • /usr/src/:一般源代码建议放置在这里,至于内核源代码则建议放到/usr/src/Linux/目录中

3.2.3/var目录的含义与内容

如果说/usr是安装时会占用大空间的目录,那么/var则是在系统运行之后才会渐渐的占用硬盘空间目录。因为/var目录主要针对经常性变动的文件,包括缓存(cache)、日志文件(log file)以及某些软件运行所产的文件,包括(lock file、run file),或者MySql数据文件等。

常见的子目录有

  • /var/cache/:应用程序本身运行产生的缓存
  • /var/lib/:程序本身执行的过程中,需要使用的数据文件放置的目录。如MySql的数据库就放置在/var/lib/mysql,还有rpm数据库/var/lib/rpm/
  • /var/lock/:程序锁,
  • /var/log/:重要到不行,放置日志文件的目录,比如/var/log/messafes、/var/log/wtmp
  • /var/mail/:邮件
  • /var/run/:程序或者服务启动后,会将他们的PID放置到这个目录下。与/run
  • /var/spool/:队列数据,就是排队等待其他程序使用的数据


猜你喜欢

转载自blog.csdn.net/bleach357/article/details/89531238