基于linux下的文件权限控制
文件权限的控制
1.权限存在的意义
权限对于文件
r(read): 可读取文件的实际内容。
w(read): 可以编辑、新增或者修改该文件的内容(不包含删除该文件)。
x(execute): 该文件具有可以被系统执行的权限。
注: 在Windows中文件可以通过拓展名来判断是否具有执行能力,但是在Linux中,文件能否被执行那个则是由是否具有”x”权限来决定,与文件名没有绝对的关系。同样文件可以执行与可以成功执行是不一样的。成功执行不仅需要”x”权限,还需看该文件的内容。
r(read): 表示具有读取目录结构的权限。
w(modify contents of directory):
新建新的文件和目录;
删除已经存在的文件和目录;
将已经存在的文件和目录重命名(不论该文件的权限为何);
转移该目录内的文件、目录位置。
x(access directory): 表示的是用户能否进入该目录成为工作目录 。
注: 具有”r”权限并不能进入目录,必须需要”x”权限。
2.权限的识别
ls -l file
ls -ld dir
3.权限的查看和理解
- rw-r--r-- 1. root root 0 Aug 17 01:30 wxp
1 2 3 4 5 6 7 8
以上标号下面将一一作出解释。
1.文件类型
- 普通文件
d 目录
l 软链接
s socket
c 字符设备,把文件的内容直接显示出来
2.文件权限
rw-r--r--
u g o
user 用户
group 组
other 其他
3.文件硬链接个数,文件内容被系统记录的次数
4.文件拥有者
5.文件拥有组
6.文件大小
7.文件最后一次被修改的时间
8.文件名
ls -ld /mnt/ :
d rwxr-xr-x. 1 root root 4096 May 12 2017 /mnt/
1 2 3 4 5 6 7 8
1.类型
2.权限
3.目录中子目录的个数
4.用户
5.组
6.子文件或子目录元数据(描述数据的数据,即文件属性)大小
以上截图表述:
当ww目录下没有创建文件时,子目录为6字节;当创建file文件后ww子目录字节为17,将file文件删掉创建fil文件时ww子目录字节数变为16。
7.最后一次被更改的时间
8.名称
修改用户和用户组
1.此命令必须用root用户执行
chown username file|dir 改变某文件或目录的拥有者
chown username:|.group file|dir 改变某文件或目录的拥有者及组,但不改变里面的内容
chown -R username dir 改变某目录的拥有者
chgrp -R group dir 改变目录的组并改变里面的内容
文件权限
r
对文件 是否可以查看文件中的字符
对目录 是否可以查看目录中有什么文件
w
对文件 是否可以改变文件中记录的字符
对目录 是否可以在目录中管理文件,是否可以改变目录中文件的元数据
x
对文件 是否可以可以通过文件名称调用文件内记录的程序
对目录 是否可以进入此目录
2.权限的管理
字符形式
chmod <u/g/o> <+|-|=> <r|w|x> file|dir
+为增加权限
-为取消某权限
=直接给某权限
改变文件权限如下:
改变目录权限如下:
数字方式
rwx
210
x权限:2^0x1|0=1|0
w=2^1x1|0=2|0
r=2^2x2|x0=4|0
x=1
w=2
r=4
故有:
rwx=7
rw-=6
r-x=5
r--=4
……
--x=1
例如:chmod 755 wxp
chmod 775 ww/
练习:
access control(acl)权限列表
特定用户对特定文件有指定权限
-rw-r--r--+ 1 root root 216 May 12 2017 rht
+为权限列表开启
getfacl file 查看文件权限
##file:file ##文件名
##owner:root 文件所有人
##group:root 文件所有组
user::rw- 用户权限
user:可iosk:rwx 特殊指定用户权限
group::r-- 组权限
mask::rwx 权限最大值
other::r-- 其他*限
setfacl -m u:admin:rwx wxp 设定列表用户权限
setfacl -x u:student file 删除列表中指定用户
setfacl -b file 关闭权限列表