Linux 权限机制
一.文件权限
Linux系统中,每个文件拥有以下三种权限
文件 | 对文件的影响 | 对目录的影响 |
r(读取) | 可读取文件的内容 | 可列出目录内容 |
w(写入) | 可修改文件的内容 | 可在目录中创建删除文件 |
x(执行) | 可以作为命令执行 | 可访问目录内容 |
注意:目录必须拥有x权限,否则无法查看其内容
二.UGO模型
Linux权限基于UGO模型进行控制
1.U代表User,G代表Group,O代表Other
2.每一个文件的权限基于UGO进行设置
3.权限三个一组(rwx),对应UGO分别设置
4.每一个文件拥有一个所属用户和所属组,对应UG,不属于该文件所属用户或所属组的使用O权限
使用ls -l 可以查看当前目录下文件的详细信息
drwx r- x r-- 2 haige training 208 Oct 1 13:50 haige.txt
U G O 链接数量 U所属用户 G所属组 文件大小 创建时间 文件名
d表示文件类型,l表示链接
三.修改文件所属用户,组
1.命令chown用以改变文件的所属用户
chown haige haige.txt (修改haige.txt的所属用户为haige)
-R参数递归地修改目录下的所有文件的所属用户
2.命令chgrp用以改变文件的所属组
chgrp haige haige.txt
-R 参数递归地修改目录下的所有文件的所属组
四.修改权限
1.命令chmod用以修改文件的权限
chmod 模式 文件
2.模式为如下格式:
# u,g,o分别代表用户,组和其他
# a 可以代指ugo
# + - 代表加入或删除对应权限
# r,w,x 代表三种权限
3.模式示例
chmod u+rw haige(用户)
chmod g-x haige(用户组)
chmod go+r haige(为该文件的所属组或其他加上r读写权限)
chmod a-x haige(为所有(UGO)减去执行权限)
4.命令chmod也支持以数字的方式修改权限,三个权限分别由三个数字表示
# r=4 (2^2)
# w=2 (2^1)
# x=1 (2^0)
5.使用数字表示权限时,每组权限分别对应数字之和
rw = 4+2 =6
rwx = 4+2+1 =7
r-x = 4+1 =5
6.所有,使用数字表示ugo权限使用如下方式表示:(使用其必须ugo三个都修改)
chmod 660 haige == rw-rw----
chmod 775 haige == rwxrwxr-x