用户权限管理
权限介绍
查询文件权限的方法:ll命令
共有10个字段
第一个字段代表文件类型:d为目录文件,l为链接文件,-为普通文件,c为字符文件,b为块设备
第二,三,四个字段为一组,代表文件所有者具有的权限
第五,六,七个字段为一组,代表文件所属组具有的权限
第八,九,十个字段为一组,代表其他用户所具有的权限
r(读):代表可以读取文件或者目录中的内容
w(写):对于文件来说就是可以编辑该文件,对于目录来说就是可以添加,修改,删除文件
x(执行):对于脚本文件来说就是可以执行这个脚本(普通文件一般没有x),对于目录来说就是可以进入这个目录
文件默认权限为644
目录默认权限为755
上面的“644”“755”是每一组字段所具有的权限用数字表示之后相加而得的
基本权限管理
chmod命令
用来修改文件的权限,格式:chmod 用户类型 操作符 权限 文件名
例如:chmod u+x test.sh
给test脚本的所有者增加了执行权限
除了用字母表示之外还可以用数字表示
例如:chmod 700 test.txt
代表test.txt的所有者具有所有权限,所属组和其他成员没有任何权限
chown命令
用来改变文件的所有者和所属组
格式:chown 所有者:所属组 文件名
只改变所有者:chown 所有者 文件名
只改变所属组:chown :所属组 文件名
chgrp命令
用来改变文件的所属组
格式:chgrp 所属组 文件名
特殊权限管理
SUID
这是一个针对二进制程序进行设置的特殊权限(仅对可以执行的二进制文件生效),拥有这个权限的二进制文件在被执行时,执行者会临时拥有该文件所有者的权限,在执行完后,权限消失。
在给文件添加这个权限时,会把所有者位置上的x替换成S
SGID
这个权限可以对可执行的二进制文件设置,也可以对目录进行设置。对二进制文件设置之后,在用户执行该文件时,执行者会临时具有文件所属组的权限,执行完毕后消失。在给目录设置后,在该目录下创建的文件所属组都会继承目录的所属组。
在给文件或目录添加这个权限的时候,会把所属组位置上的x换成S
SBIT
这个权限可以对文件或者目录设置,设置这个权限之后,该文件或者目录就只能被文件所有者或者root删除或修改,其他用户无法删除或修改,起到一个保护作用。
在给文件或目录添加这个权限的时候,会把其他用户位置上的x换成t
添加特殊权限的方法
格式:chmod 用户类型 操作符 权限 文件名
与上文的方法基本一致,不同点是权限有所不同,权限变为s或t
例如:chmod u-s /usr/bin/passwd
chmod u+s /usr/bin/passwd
chmod g+s mydir
chmod g-s mydir
chmod o+t mydir
chmod o-t mydir
suid用数字表示就是4,sgid是2,sbit是1
所以一个文件最大的全是应该是7777,也就是rwsrwsrwt
第一个7是特殊权限的数字之和,第二个7是文件所有者的权限,第三个7是文件文件所属组的权限,第四个7是其他人的权限