时间:26-04-21
掌握理论后,真正的精通始于命令行实践。本手册将用户管理、组管理和权限控制的核心操作拆解为清晰的步骤与命令,助你从概念理解跃升至熟练应用。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
绝大多数用户、组及权限的修改操作,都需要root超级用户权限才能执行。普通用户账户不具备这些系统管理能力。
获取root权限通常有两种途径:
一是直接切换到root用户身份:su -;二是更安全、更受推荐的方式,使用sudo命令临时提权:sudo [命令]。
本文演示的所有命令在Anolis OS、CentOS、RHEL及Ubuntu等主流Linux发行版上均通用。
创建新用户时,系统会自动执行一系列操作:分配唯一的用户标识符(UID,普通用户UID通常从1000开始,规则定义于/etc/login.defs)、创建同名的主用户组,并在/home目录下生成该用户的专属家目录。
# 创建用户 zhangsan
useradd zhangsan
# 自定义家目录路径(通常无需指定,使用默认设置即可)
useradd -d /home/zhangsan zhangsan
在Linux系统中,新建用户必须设置密码后方可登录系统。
# 为 zhangsan 设置登录密码
passwd zhangsan
执行命令后,根据终端提示输入密码(输入过程不显示字符),确认后回车即可。
# 删除用户账号,但保留其家目录及文件
userdel zhangsan
# 彻底删除用户账号,同时移除其家目录及邮件池(操作前请确认)
userdel -r zhangsan
# 显示当前登录执行命令的用户名
whoami
# 查看指定用户的UID、GID及所属组信息
id zhangsan
# 列出系统所有用户账户信息
cat /etc/passwd
# 普通用户的UID通常大于或等于1000
# 切换至 zhangsan 用户身份(不加载该用户的环境变量与配置文件)
su zhangsan
# 完全切换至 zhangsan 用户(推荐,加载完整的用户登录环境)
su - zhangsan
# 切换回 root 用户
su -
(1) 创建组:groupadd
# 创建名为 dev 的用户组
groupadd dev
(2) 删除组:groupdel
# 删除 dev 组
groupdel dev
(3) 将用户加入组(最常用!)
# 将用户 zhangsan 添加至 dev 组(作为附加组)
usermod -aG dev zhangsan
参数解析至关重要:-a(append)确保将用户追加至新组,不影响其原有的其他附加组;-G指定目标附加组。
(4) 查看一个用户属于哪些组
# 列出 zhangsan 所属的所有组
groups zhangsan
(5) 查看所有组
# 显示系统所有组信息
cat /etc/group
chmod(change mode)命令用于修改文件或目录的读(r)、写(w)、执行(x)权限。其主流用法分为数字表示法和符号表示法两种。
权限数字对应关系:读(r)=4,写(w)=2,执行(x)=1。将所有者、所属组、其他用户三方的权限值分别相加,组合成一个三位数。
以下为高频权限数字组合,建议熟记:
644 → 标准文件权限(所有者读写,其他用户只读)
755 → 目录或可执行脚本(所有者完全控制,其他用户可读可执行)
700 → 私有目录(仅所有者可访问)
600 → 敏感文件(如私钥、密码文件,仅所有者读写)
777 → 完全开放权限(生产环境应严格避免使用)
应用示例:
# 将文件权限设置为 644
chmod 644 test.txt
# 将目录权限设置为 755
chmod 755 project/
# 将目录权限设置为 700(仅所有者可用)
chmod 700 mydir/
此方法更直观,语法为:chmod [用户类别][操作符][权限] 文件。
u=所有者 g=所属组 o=其他用户 a=所有用户
+添加权限 -移除权限 =设置精确权限
操作示例:
# 为文件所有者添加执行权限
chmod u+x test.sh
# 移除文件所属组的写权限
chmod g-w test.txt
# 为所有用户添加读权限
chmod a+r readme.txt
如需修改一个目录及其内部所有子目录与文件的权限,使用-R(递归)参数。
# 递归设置 /data/project/ 目录下所有内容权限为 755
chmod -R 755 /data/project/
chown(change owner)命令用于变更文件或目录的所有者及所属组。
(1) 修改所有者
# 将文件所有者改为 zhangsan
chown zhangsan test.txt
(2) 同时修改所有者和组
# 将文件所有者改为 zhangsan,所属组改为 dev
chown zhangsan:dev test.txt
(3) 递归修改目录所有者
# 递归修改 /data/project/ 目录下所有内容的所有者及组
chown -R zhangsan:dev /data/project/
通过以下综合练习,你将掌握本章90%的核心操作。
任务目标:
完整命令序列(可复制执行):
# 1 创建用户并设置密码
useradd wangwu
passwd wangwu
# 2 创建用户组
groupadd test
# 3 将用户加入附加组
usermod -aG test wangwu
# 4 创建目录(-p确保父目录存在)
mkdir -p /data/testdir
# 5 设置权限 775:所有者rwx,组rwx,其他用户r-x
chmod 775 /data/testdir
# 6 递归修改目录所有者与所属组
chown -R root:test /data/testdir
操作完成后,权限结构明确:root用户拥有完全控制权;test组成员(如wangwu)可在目录内进行读写和创建操作;其他用户仅具备读取和进入目录的权限。
以下常见误区与关键细节,能帮助你规避操作风险:
chmod 777,这会赋予所有用户完全控制权,构成严重安全漏洞。/、/etc、/bin等系统核心目录的权限,错误的权限设置可能导致系统无法启动或运行异常。usermod为用户添加附加组时,务必结合-a(追加)参数。仅使用-G会覆盖用户原有的所有附加组列表。正确:usermod -aG dev zhangsan # 将zhangsan追加至dev组
错误:usermod -G dev zhangsan # 此操作会清空zhangsan原有的其他附加组!
核心命令汇总,便于快速查阅:
useradd 创建新用户
passwd 设置或修改用户密码
userdel 删除用户账户
su 切换用户身份
id 查看用户UID、GID及组信息
groups 显示用户所属组列表
groupadd 创建新用户组
groupdel 删除用户组
usermod -aG 将用户添加至附加组(追加方式)
chmod 修改文件或目录权限
chown 修改文件或目录的所有者及组
chmod -R 递归修改权限
chown -R 递归修改所有者及组