chgrp (Change Group)
- 作用 : 修改文件或目录的所属用户组(group)。
- 语法 :
chgrp [选项] <新用户组> <文件/目录>
chgrp developers example.txt # 将 example.txt 的用户组改为 developers
chgrp -R staff /home/user # 递归修改 /home/user 目录及其所有文件的用户组为 staff
chown (Change Owner)
- 作用 :修改文件或目录的所属用户(owner)或用户组(group)。
- 语法 :
chown [选项] <新用户>[:<新用户组>] <文件/目录>
chown alice example.txt # 修改 example.txt 的所有者为 alice
chown alice:developers example.txt # 修改 example.txt 的所有者为 alice,用户组为 developers
chown -R bob:staff /home/user # 递归修改 /home/user 目录及其所有文件的所有者为 bob,用户组为 staff
chmod (Change Mode)
- 作用 : 修改文件或目录的权限(读、写、执行)
- 语法 :
chmod [选项] <权限模式> <文件/目录>
数字表示法
使用 rwx 组合转换为八进制数:
r(读) = 4w(写) = 2x(执行) = 1- 无权限 = 0 例如:
chmod 755 script.sh # 所有者可读、写、执行,组和其他用户可读、执行
chmod 644 document.txt # 所有者可读写,组和其他用户只能读取
符号表示法
使用 u(所有者)、g(用户组)、o(其他人)、a(所有人):
chmod u+x script.sh # 让所有者有执行权限
chmod g-w document.txt # 取消组的写权限
chmod a+r file.txt # 让所有人可读
usermod (Modify User)
- 作用 : 修改用户的属性,如用户组、Shell、家目录等。
- 语法 :
usermod [选项] <用户名>
常见选项:
-g <用户组>:修改用户的主用户组-G <附加用户组>:为用户添加附加用户组(需 -a 选项追加)-d <新家目录>:修改用户的家目录-s <新Shell>:修改用户的默认 Shell-l <新用户名>:修改用户名
usermod -g developers alice # 修改 alice 的主用户组为 developers
usermod -aG sudo bob # 添加 bob 到 sudo 组(不改变原来的附加组)
usermod -d /home/newhome alice # 修改 alice 的家目录
usermod -s /bin/zsh alice # 修改 alice 的默认 Shell 为 zsh
总结
| 命令 | 作用 |
|---|---|
| chgrp | 修改文件/目录的所属用户组 |
| chown | 修改文件/目录的所有者和/或所属组 |
| chmod | 修改文件/目录的权限 |
| usermod | 修改用户的属性(组、家目录、Shell等) |