1. 用户身份与能力
管理员UID为0:系统的管理员用户
系统用户UID为1~999:服务程序由独立的系统用户负责运行,有效控制系统被破环的范围
普通用户UID从1000开始:由管理员创建的日常工作的用户
1.2 id 命令
作用:显示用户的详细信息
语法格式:“id 用户名”
1.3 useradd命令
作用:用于创建新的用户账户
语法格式:useradd [参数] 用户名
| 作用 | 参数 |
|---|---|
| 指定用户的家目录(默认/home/username) | -d |
| 指定账户到期的时间(格式为YYYY-DD-MM) | -e |
| 指定用户的默认UID | -u |
| 指定一个初始的用户基本组(必须已存在) | -g |
| 指定一个或多个扩展用户组 | -G |
| 不创建与用户同名的基本用户组 | -N |
| 指定该用户的默认shell解释器 | -s |
1.4 groupadd 命令
作用:创建新的用户组
语法格式:“groupadd [参数] 用户名”
1.5 usermod 命令
作用:修改用户的属性
语法格式: usermod [参数] 用户名
参数:
| 作用 | 参数 |
|---|---|
| 填写用户账户的备注信息 | -c |
| 参数-m与-d连用,重新指定用户的家目录并自动把旧的数据转移过去 | -d -m |
| 账户的到期时间,格式为YYYY-MM-DD | -e |
| 变更所属用户组 | -g |
| 变更扩展用户组 | -G |
| 锁定用户禁止其登陆系统 | -L |
| 解锁用户,允许其登陆系统 | -U |
| 变更默认终端 | -s |
| 修改用户的uid | -u |
1.6 passwd命令
作用:修改用户的密码、过期时间等信息
语法格式:passwd [参数] 用户名
参数:
| 作用 | 参数 |
|---|---|
| 锁定用户,禁止其登陆 | -l |
| 解除锁定,允许用户登陆 | -u |
| 通过标准输出修改用户密码 | --stdin |
| 使该用户可用空密码登录系统 | -d |
| 强制用户在下次登陆时修改密码 | -e |
| 显示用户密码是否被锁定,以及密码所采用的加密算法名称 | -S |
1.7 userdel命令
作用:删除已有的用户账户
语法格式:userdel [参数] 用户名
参数:
| 作用 | 参数 |
|---|---|
| 强制删除用户 | -f |
| 同时删除用户以及用户家目录 | -r |
2.文件权限与归属
Linux系统中,每个文件都有归属的所有者和所属组,并且规定了文件的所有者、所属组以及其他人对文件所拥有的可读(r)、可写(w)、可执行(X)等权限
可读、可写、可执行权限对应的命令在文件和目录上的区别
| 文件 | 目录 | |
|---|---|---|
| 可读(r)4 | cat | ls |
| 可写(w)2 | vim | touch |
| 可执行(x)1 | ./script | cd |
文件权限的字符与数字表示
| 权限项 | 可读 | 可写 | 可执行 | 可读 | 可写 | 可执行 | 可读 | 可写 | 可执行 |
|---|---|---|---|---|---|---|---|---|---|
| 字符表示 | r | w | x | r | w | x | r | w | x |
| 数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
| 权限分配 | 文件所有者 | 文件所属组 | 其他用户 | ||||||
3.文件的特殊权限
rwx无法满足对安全和灵活性的需求,因此产生了 SUID、SGID与SBIT的特殊权限位,用于对文件权限进行设置的特殊功能,可以与一般权限同时使用
3.1 SUID权限
作用:让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效)
3.2 SGID权限
作用:让执行者临时获取文件所属组的权限,对目录内新创建的文件自动继承该目录原有用户组的名称
3.2.1 chmod命令
作用:设置文件的一般权限及特殊权限
语法格式:chmod [参数] 文件名
3.3 SBIT权限
作用:粘滞权限位,确保用户只能删除自己的文件而不能删除其他用户的文件
参数
| 作用 | 参数 |
|---|---|
| 设置SUID权限 | u+s |
| 取消SUID权限 | u-s |
| 设置SGID权限 | g+s |
| 取消SGID权限 | g-s |
| 设置SBIT权限 | o+s |
| 取消SBIT权限 | o-s |
4. 文件的隐藏属性
linux中的文件除了具备一般权限和特殊权限,还有一种隐藏权限,保证了Linux系统的安全性,隐藏权限的专用设置命令式chattr,专用查看命令是lsattr
4.1 chattr命令
作用:设置文件的隐藏权限
语法格式:chattr [参数] 文件名称
参数:
| 作用 | 参数 |
|---|---|
| 无法对文件进行修改 | i |
| 仅允许追加内容,不允许覆盖或删除内容 | a |
| 文件内容变更后立即同步到硬盘 | S |
| 彻底从硬盘删除,不可恢复 | s |
| 不再修改文件或压缩目录的最后访问时间 | A |
| 不再修改目录的存取时间 | b |
| 检查压缩文件中的错误 | D |
| 使用dump命令备份时忽略本文件/目录 | d |
| 默认将文件或目录进行压缩 | c |
| 删除该文件后依旧保留其在硬盘中的数据 | u |
| 让文件系统支持尾部合并 | t |
| 可以直接访问压缩文件中的内容 | x |
4.2 lsattr命令
作用:查看文件的隐藏权限
语法格式:lsattr [参数] 文件名称
5. 文件访问控制列表
ACL是针对指定的用户或用户组设置文件或目录的操作权限,精准的派发权限
5.1 setfacl命令
作用:管理文件的ACL权限规则
语法格式:setfacl [参数] 文件名称
参数:
| 作用 | 参数 |
|---|---|
| 修改权限 | -m |
| 从文件中读取权限 | -M |
| 删除某个权限 | -x |
| 删除全部权限 | -b |
| 递归子目录 | -R |
5.2 getfacl命令
作用:查看文件的acl权限规则
语法格式:getfacl [参数] 文件名称
6. su命令和sudo服务
6.1 su命令
作用:解决切换用户的需求
语法格式:su - 用户名称;普通用户切换到root需要输入密码,root切换用户不需要密码
6.2 sudo命令
作用:给普通用户提供额外的权限
语法格式:sudo [参数] 用户名
| 作用 | 参数 |
|---|---|
| 列出帮助信息 | -h |
| 列出当前用户可执行命令 | -l |
| 以指定用户的身份执行命令 | -u用户名 |
| 清空密码的有效时间 | -k |
| 在后台执行指定的命令 | -b |
| 更改 询问密码的提示语 | -p |