权限大致分为几类, root 用户, 标准用户 + sudo, 所有者, 所属用户组, 标准用户.
其中 普通用户 + sudo 就是提升用户的权限到 root, 两者几乎相同. 用于系统的维护和管理,对系统所有资源具有访问权限. 因为直接使用 root 权限过大,甚至可以删除系统文件致使系统瘫痪,所以不推荐直接使用 root, 而是使用 home 目录下的 标准用户 + sudo 的方式实现.
切换用户 su - [用户名], - 表示切换到 home 目录, 用户名默认 root.
创建标准用户和用户组
1 | # 创建删除用户组 |
其中标准用户的 home 目录默认权限 755. root 用户的 /root 路径权限为 700.
查看当前用户, 所属组信息
组信息在 /etc/group 中, “行号 组名:密码位:组 id:组中的用户列表”
用户信息在 /etc/passwd 中, “行号 用户名:密码位:UID:GID:说明信息:home 目录位置:登录时使用的 shell 软件”,
其中 UID 0:超级用户, 1499:系统用户, 50065535:普通用户
使用命令 id, who, whoami, w 快速查看
查看用户组, 附属组
用户默认组是和用户同名的组, 或者是通过初始化用户的时候 -g 指定的组, 每个用户 1 个.
用户的附属组默认是没有的, 是通过 -G 指定的组, 可以指定多个附属组.
1 | $ cat /etc/group | grep ops |
可以看到, 当前用户 ops 用户组为 ops:x:1000:, 所在的附属组为 adm 和 docker. 其中 docker 组下还有 root 用户.
使用命令 id ops 查看用户 uid 和 gid, 以及 附属组信息
更改文件或文件夹的所属用户和所属用户组
1 | # 修改文件或文件夹的所属用户, 可以同时修改用户组 |
使用 -R 表示操作文件夹时级联操作
参考文档