suid,sgid AND sticky bits

SUID(set-user-ID)位

    SUID位的做用:若文件F设置SUID位为1,文件F的拥有者是用户A,而用户B拥有文件F的执行权限,则当用户B执行文件F时就以文件拥有者(用户A)的权限执行。 ubuntu

    SUID位的典型应用:修改Linux用户密码。Linux用户密码加密后存储在/etc/passwd文件中,用户使用passwd命令修改密码。而修改/etc/passwd文件须要root权限, 以下图: 加密

 

heaad@ubuntu:~$ ls -l /etc/passwd spa

-rw-r--r-- 1 root root 1672 2010-04-30 03:22 /etc/passwd 线程

 

 

那么普通用户是如何修改本身的密码的呢?答案在/usr/bin/passwd文件中,以下图: file

heaad@ubuntu:~$ ls -l /usr/bin/passwd 权限

-rwsr-xr-x 1 root root 37140 2010-01-26 09:09 /usr/bin/passwd scroll

 

passwd命令的全部者特权位中的x变成了s,表示passwd文件设定了SUID特权位。那么其余用户执行passwd命令时将得到passwd文件的全部者(root)的权限,因而就有权限修改/etc/passwd文件了。 密码

 

设置SUID位:使用以下命令设置SUID位: 方法

$ sudo chmod 4xxx file 命名

$ sudo chmod u+s file

其中的4xxx中的4是由于SUID位在特殊访问位中的第三位。

执行完上面的两条命令中的其中一条后,file文件的权限可能变成了rwsr-xr-x

    若文件全部者也没有该文件的执行权限,则上面的两条命令可能使file的访问权限位变成了rwSr--r--,其中的S是大写的

 

11. SGID(set-group-ID)位

    做用:SGID与SUID相似,但它是使执行的线程拥有所在组的权限。

    设置方式:

$ sudo chmod 2xxx file

$ sudo chmod g+s file

    执行完以上其中一条命令后,文件file的访问权限可能会变成rwxr-sr-x 。

 

12. sticky位

    做用:若目录A设置了sticky位,则除了目录A的全部者和root用户外,其余用户均不能删除或重命名目录A下的文件。

    设置方法:

$ sudo chmod +t file

$ sudo chmod 1xxx file

执行完以上其中一条命令,文件的访问权限位可能被改变为rwxr-xr-t 若文件全部者也没有执行权限,则访问权限位可能会变成rw-r--r-T


看成笔记使用,如有侵犯版权,请做者及时说明,我会尽快进行改正

相关文章
相关标签/搜索