Linux就该这么学: 用户身份与文件权限

本文详细介绍了Linux中的用户身份与权限,包括管理员的UID、普通用户的UID分配,以及文件的特殊权限SUID、SGID、SBIT。此外,还讲解了如何设置和查看文件的隐藏属性,以及文件访问控制列表(ACL)。最后,讨论了su命令与sudo服务在切换用户权限中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


5.1 用户身份与能力

管理员UID为0:系统的管理员用户。
UID是不能冲突的,而且管理员创建的普通用户的UID默认是从1000开始的(即使前面有闲置的号码)。

相关命令:
id useradd userdel groupadd usermod passwd

5.3 文件的特殊权限

1. SUID

SUID是一种对二进制程序进行设置的特殊权限,能够让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效)。

2. SGID

SGID特殊权限有两种应用场景:当对二进制程序进行设置时,能够让执行者临时获取文件所属组的权限;当对目录进行设置时,则是让目录内新创建的文件自动继承该目录原有用户组的名称。

3. SBIT

SBIT特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件。换句话说,当对某个目录设置了SBIT粘滞位权限后,那么该目录中的文件就只能被其所有者执行删除操作了。

tips:文件能否被删除并不取决于自身的权限,而是看其所在目录是否有写入权限


4. SUID、SGID、SBIT特殊权限的设置参数 :
参数 作用
u+s 设置SUID权限
u-s 取消SUID权限
g+s 设置SGID权限
g-s 取消SGID权限
o+t 设置SBIT权限
o-t 取消SBIT权限

SUID、SGID与SBIT也有对应的数字表示法,分别为4、2、1。也就是说777还不是最大权限,最大权限应该是7777,其中第1个数字代表的是特殊权限位(是SUID、SGID与SBIT的组合计算得值)。

如果权限是“rwsrwSr–”,计算方法是:
大写S表示原先没有执行权限,因此一般权限为rwxrw-r–,将其转换为数字表示法后结果是764。带有的SUID和SGID特殊权限的数字法表示是4和2,心算得出结果是6,合并后的结果为6764。在这里插入图片描述

5.4 文件的隐藏属性

隐藏权限的专用设置命令是chattr,专用查看命令是lsattr

1. chattr命令

chattr命令用于设置文件的隐藏权限,英文全称为change attributes,语法格式为“chattr [参数] 文件名称”。

如果想要把某个隐藏功能添加到文件上,则需要在命令后面追加“+参数”,如果想要把某个隐藏功能移出文件,则需要追加“-参数”。

chattr命令中的参数及其作用:

参数 作用
i 无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a 仅允许补充(追加
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值