参考书籍:linux就该这么学
5 用户身份与文件权限
5.1 用户身份与能力
强烈推荐大家在学习时使用 root 管理员权限!因为在 Linux 的学习过程中如果使用普通用户身份进行操作,则在配置服务之后出现错误时很难判断是系统自身的问题还是因为权限不足而导致的;这无疑会给大家的学习过程徒增坎坷。更何况我们的实验环境是使用 VMware 虚拟机软件搭建的,可以将安装好的系统设置为一次快照,这即便系统彻底崩溃了,您也可以在 5 秒钟的时间内快速还原出一台全新的系统,而不用担心数据丢失。
5.1.1 useradd 命令 用于创建新的用户
5.1.2 groupadd 命令 用于创建用户组
5.1.3 usermod 命令 用于修改用户的属性
5.1.4 passwd 命令 用于修改用户密码、过期时间、认证信息等
5.1.5 userdel 命令 用于删除用户
5.2 文件权限与归属
5.3 文件的特殊
5.3.1 SUID 是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限
5.3.2 SGID
➢ 让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置);
➢ 在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)
5.3.3 SBIT
现在,大学里的很多老师都要求学生将作业上传到服务器的特定共享目录中,但总是有
几个“破坏分子”喜欢删除其他同学的作业,这时就要设置 SBIT(Sticky Bit)特殊权限位了
(也可以称之为特殊权限位之粘滞位)。SBIT 特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件。换句话说,当对某个目录设置了 SBIT 粘滞位权限后,那么该目录中的文件就只能被其所有者执行删除操作了。
5.4 文件的隐藏属性
5.4.1 chattr 命令 用于设置文件的隐藏权限
5.4.2 lsattr 命令 用于显示文件的隐藏权限
5.5 文件访问控制列表
如果希望对某个指定的用户进行单独的权限控制,就需要用到文件
的访问控制列表(ACL)了。通俗来讲,基于普通文件或目录设置 ACL 其实就是针对指定的用户或用户组设置文件或目录的操作权限。另外,如果针对某个目录设置了 ACL,则目录中的文件会继承其 ACL;若针对文件设置了 ACL,则文件不再继承其所在目录的 ACL。
5.5.1 setfacl 令用于管理文件的 ACL 规则
5.5.2 getfacl 用于显示文件上设置的 ACL 信息
5.6 su 命令与 sudo 服务