文件权限的控制
1)权限存在意义:为了更好的约束用户的权力范围,例如约束用户对文件的读写,当然也为了信息的安全。
2)权限的识别
ls -l file --------->针对文件权限识别
ls -ld dir --------->针对目录的权限识别
3)权限查看和理解
实验:在mnt目录下中建立3个文件(file1.file2.file3)和一个目录westos,westos目录下包含3个文件(filea.fileb.filec)。
以file1的文件权限信息为例
- rw-r--r-- 1 root root 0 авг 17 20:54 file1
[1] [2] [3] [4] [5] [6] [7] [8]
[1] - :表示文件的类型
- - 普通文件
- d 目录
- | 软链接(例如windows快捷方式)
- s socket 套接字
- c 字符设备
[2] rw-|r--|r-- r ---> 可读 w --->可写 x --->可执行
u g o
u user 文件所有者对应权限
g group 同组者对应权限
o other 除上述两类的其他人对应的权限
[3] 1 文件硬链接的个数,也就是文件被系统记录的次数,首次建立为1,复制次数会增加,删除次数会减少
[4] root 文件的所有人
[5] root 文件拥有组
[6] 0 文件的大小
[7] авг 17 20:54 文件最后一次被修改的日期
[8] file1 文件的名称
以westos目录为例理解目录权限
d rwxr-xr-x 2 root root 4096 авг 17 20:53 westos
[1] [2] [3] [4] [5] [6] [7] [8]
[1] d :表示类型为目录
- - 普通文件
- d 目录
- | 软链接(例如windows快捷方式)
- s socket 套接字
- c 字符设备
[2] rwxr-xr-x r ---> 可读 w --->可写 x --->可执行
u g o
u user 目录所有者对应权限
g group 同组者对应权限
o other 除上述两类的其他人对应的权限
[3] 2 目录中子目录的个数
[4] root 目录的所有人
[5] root 目录拥有组
[6] 4096 子文件或者子目录中元数据的大小 元数据:也就是描述数据的数据(类似于事物的属性)
[7] авг 17 20:53 目录最后一次被修改的日期
[8] westos 目录的名称
4)修改文件用户和用户组
chown username file/dir ------------>修改文件或目录的用户名
chown username.group file/dir ---->修改文件或目录的用户名和用户组
chgrp group file/dir ---------->修改文件或目录的用户组
由于/mnt/ 目录下有挂载点 因此直接在/root/目录下创建文件file1,file2,file3,目录westos,包含filea ,fileb,filec进行实验
chgrp -R group dir ------------->把整个目录下的所有下级目录及文件的用户组均修改
chown -R username dir -----------> 把整个目录下的所有下级目录及文件的用户名均修改
5)文件权限
(1)文件权限的作用
r 可读
---> 对文件而言 是否可以查看文件中的字符
--->对目录而言 是否可以查看目录中的文件
w 可写
---> 对文件而言 是否可以改变文件中记录的字符
--->对目录而言 是否可以在目录中管理文件,是否可以更改目录中文件的元数据
x 可执行
-->对文件而言 是否可以通过文件名称调用文件中记录的程序
-->对目录而言 是否可以进入目录
(2)权限的管理
字符形式: chmod <u|g|o> <+|-|= > <r|w|x> file|dir
注意:在使用chmod更改权限时若省略ugo则默认是三者都被选中,值得注意的是w写操作由于容易产生安全问题,所以在执行ugo+w命令时,ugo不可省略,例如chmod ugo+w file1
数字形式:
x 2**0*0|1= 0|1 w 2**1*0|1 = 0|2 r 2**2*0|1 = 0|4
x = 1 w = 2 r = 4
所有的可能组合:
rwx = 7
rw- = 6
r-x =5
r-- =4
-wx = 3
-w- = 2
--x =1
用法:例如chomd 755 file2 权限设置:rwx r-x r-x
6)权限列表
特定用户对特定文件有特定权限
-rw-r--r--+ 1 root root 216 may 12 2017 rht 权限列表开启
命令行输入 getfacl filename
file:file 文件名称
owner:root 文件所有人
group:root 文件所有组
user::rw- 用户权限
user:kiosk:rwx 特殊指定用户权限
group::r-- 组权限
mask::rwx 权限最大值
other::r-- 其他人权限
setfacl -m u:username:rwx file 设定列表用户权限
setfacl -x u:username file 删除列表中的指定用户
setfacl -b file 关闭权限列表