资讯专栏INFORMATION COLUMN

Liunx笔记(一):特殊的文件权限

wushuiyong / 2382人阅读

摘要:仅对二进制程序有效。执行者对该程序有的可执行权限。除了用在二进制程序上,还能够用在目录上,当一个目录设置了后,具有如下功能用户若对此目录拥有与权限时,该用户能够进入次目录。允许任何用户创建文件,为了避免文件被其他人误删除,设置权限。

Linux的文件权限不只有r,x,w还有s,t。与系统账号和系统进程相关。
s可以出现在文件拥有者的x权限位置上,也可以出现在文件所属组的x权限位上。前者被称为set UID,简称SUID,后者被称为Set GID,简称SGID。
执行命令ls -l /bin/su,能够看到这个命令权限是 -rwsr-xr-x,这就是SUID。SUID权限拥有这样的功能:

SUID仅对二进制程序有效;

执行者对于该程序具有x的可执行权限;

执行权限仅在该程序执行过程中有效;

执行者将具有改程序拥有者的权限;

su这个命令,无论任何人执行了它都具有root权限,因为它的拥有者是root,只是这个权限仅在su命令中有效。这也是su命令能够切换用户的实现原理。
设置SUID权限可以使用u+s来进行。
SUID在Linux中是非常常见的。那些需要提供给普通用户,但是又需要root权限的程序基本都有SUID,如passwd,mount等。

相对于SUID,SGID比较少见。典型的是/usr/bin/locate,他的权限是-rws--s--x,设置SGID,用g+s来进行。SGID权限的功能是这样的。

SGID仅对二进制程序有效。

执行者对该程序有x的可执行权限。

执行者在执信过程中将会获得该程序所属用户组的支持。

SGID用在locate命令上,是期望任何用户在执行命令时候能够
读取mlocate.db文件内容。这个文件位于/var/lib/mlocate/mlocate.db。与locate命令有相同的用户组,而且用户组具有读权限,其他用户没有任何权限。
SGID除了用在二进制程序上,还能够用在目录上,当一个目录设置了SGID后,具有如下功能:

用户若对此目录拥有r与x权限时,该用户能够进入次目录。

该用户在此目录下的有效用户组将变成该目录的用户组。

若用户在此目录下具有w的权限,则用户所创建的新文件的用户组与此目录的用户组相同。

有了这一特性,进入目录的用户就会发生有效用户和实际用户不一致的情况。另外一种导致有效用户和实际用户组不一致到情况是使用newgrp命令。而有效用户组所起到的作用就在于创建文件时文件的用户组。

文件的拥有者和用户者和用户组的x权限位可以有s,其他用户的权限位也有类似的标记,t。设置这个权限使用o+t。t的权限名称是Sticky Bit。简称SBIT。仅对目录有效。SBIT对于目录的作用如下:

用户若对此目录拥有w和x权限,即拥有写的权限。

当用户在此目录下创建了文件或目录,仅自己和root才有权利删除。

SBIT典型的应用是/temp目录。允许任何用户创建文件,为了避免文件被其他人误删除,设置SBIT权限。

SUID,SGID,SBIT和普通的x,w,r权限一样能用数字法设置。只需将原来的3位数字扩展到4位即可。SUID代表4,SGID代表2,SBIT代表1.他们放在数字权限的最开头。如设置SUID,写成4755

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/7761.html

相关文章

  • Liunx笔记():特殊文件权限

    摘要:仅对二进制程序有效。执行者对该程序有的可执行权限。除了用在二进制程序上,还能够用在目录上,当一个目录设置了后,具有如下功能用户若对此目录拥有与权限时,该用户能够进入次目录。允许任何用户创建文件,为了避免文件被其他人误删除,设置权限。 Linux的文件权限不只有r,x,w还有s,t。与系统账号和系统进程相关。 s可以出现在文件拥有者的x权限位置上,也可以出现在文件所属组的x权限位上。前者...

    MycLambert 评论0 收藏0
  • <liunx学习>liunx 下用户和用户组查看方法

    摘要:查看用户所在的组以及组内成员查看当前登录用户名文件包含所有组和系统存在的所有用户名解说文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组同一用户组的用户之 groups gliethttp 查看gliethttp用户所在的组,以及组内成员 whoami 查看当前登录用户名 /etc/group文件包含...

    lk20150415 评论0 收藏0
  • <liunx 学习> 增加用户组和用户及设置权限问题

    摘要:下面的权限很重要增加用户组为用户组名称增加用户为用户名称让用户拥有目录的拥有者权限改变拥有者是递归目录下的所有文件用户名和用户所在的组文件目录名称 liunx下面的权限很重要 增加用户组 groupadd groupname //groupname 为用户组名称 增加用户 useradd -g groupname username //username 为用户名称 让用户拥有目录的...

    sPeng 评论0 收藏0
  • <liunx 学习> mysql 中新建用户和用户权限

    摘要:创建新用户登录登录成功创建用户,,刷新系统权限表这样就创建了一个名为密码为的用户。当权限权限权限被或者代替,表示赋予用户全部权限。连接口令不能为空,否则创建失败。给来自的用户分配可对所有数据库的所有表进行所有操作的权限,并设定口令为。 创建新用户   //登录MYSQL   mysql -u root -p   //登录成功   // 创建用户   mysql> insert int...

    cyixlq 评论0 收藏0
  • <liunx 学习> mysql 中新建用户和用户权限

    摘要:创建新用户登录登录成功创建用户,,刷新系统权限表这样就创建了一个名为密码为的用户。当权限权限权限被或者代替,表示赋予用户全部权限。连接口令不能为空,否则创建失败。给来自的用户分配可对所有数据库的所有表进行所有操作的权限,并设定口令为。 创建新用户   //登录MYSQL   mysql -u root -p   //登录成功   // 创建用户   mysql> insert int...

    cgh1999520 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<