linux系统下文件的特别权限-linux运维
我们来看一个文件
ls /usr/bin/passwd -l -rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
发明没有,怎么涌现了一个蹊跷怪僻的东西s。这个s涌现在了文件所有者的x上面,此时就被称为Set UID,简称为SUID。要是涌现在所属组的x上面,则表示SGID。要是是在其别人的x上面,则表示Sticky。
下面通过一个表格来解释下各特别权限的用场:
文件 | 名目 | |
SUID | 此会员将继承此程序的所有者权限 | 无心义 |
SGID | 此会员将继承此程序的所属组权限 | 此名目下所实用户创建文件都主动继承此名目的会员组 |
Sticky | 无心义 | 名目中每个会员仅能删除、挪移或改名本人的文件或名目 |
下面,我们通过/usr/bin/passwd这个文件来解说下SUID的用法。
我们晓得,linux下每个会员都可以修改本人的密码,而root则可以修改所实用户的密码。那你有没有想过,为何普通会员也可以修改本人的密码?密码不是保留在/etc/shadow文件中的么?这个文件关于普通会员没有写入权限阿。
# ls -l /etc/shadow ---------- 1 root root 969 Sep 10 09:37 /etc/shadow
这个就是SUID的用法了,普通会员通过passwd下令来修改本人的密码。施行期间,会员会临时具有该文件所有者即root的权限,所以普通会员可以修改本人的密码。要是该文件特别权限为SGID,那么施行期间就会具有该文件所属组的权限。
SGID除了可以作用于文件外,还可以作用于名目,注意,关于文件和名目,它的作用完全不一样。我们通过一个场景来解说SGID关于名目的作用。
下面,我们模拟一个场景:企业此刻需要开发一个项目,原型图已经给出,需要交给设计部门design进行设计。此刻新建一个名目project1_ps。design部门所有人员对这个名目下的文件均拥有rwx权限。
我们晓得,在linux中,当创建一个文件或名目时,所有者是本人,所属组为本人所属的组。这样一来,当设计师a创建了一个文件时,其他会员对这个文件是其别人的权限,不相符我们的请求。所以,我们需要SGID来完成需求。
# groupadd design #新建design会员组 # useradd -G design --no-create-home dgn1 # 新建会员 # useradd -G design --no-create-home dgn2 # 新建会员 # id dgn1 uid=1003(dgn1) gid=1004(dgn1) 组=1004(dgn1),1003(design) # id dgn2 uid=1004(dgn2) gid=1005(dgn2) 组=1005(dgn2),1003(design) # mkdir design # 工作名目 # chgrp design design/ # chmod 2770 design/ <== 如果是SUID则是4770 # ll -d design/ drwxrws--- 2 root design 4096 5月 5 19:06 design/ # su dgn1 $ umask 0022 $ umask 0002 $ touch design/1.ps $ ls design -l 总用量 0 -rw-rw-r-- 1 dgn1 design 0 5月 5 19:31 1.ps <=== 新创建的文件默认组为design了
最后,我们来看看Sticky。这个非常好了解,名目中每个会员仅能删除、挪移或改名本人的文件或名目。其实/tmp名目就是运用该特别权限。
# ll /tmp -d drwxrwxrwt. 9 root root 868352 Sep 13 08:24 /tmp
以上就是linux系统下文件的特别权限的细致内容,更多请关注 百分百源码网 其它相干文章!