在Linux系统中,chmod(change mode)命令用于修改文件或目录的权限。权限分为三类用户角色,每种角色对应不同的权限类型,具体含义如下:
u+g+o)。每种角色可以分配以下权限:
- r (read):读取权限。
- 文件:可查看内容(如 cat、less)。
- 目录:可列出目录内容(如 ls)。
- w (write):写入权限。
- 文件:可修改内容。
- 目录:可创建、删除、重命名目录内的文件。
- x (execute):执行权限。
- 文件:可执行(如脚本、程序)。
- 目录:可进入(如 cd)或访问子内容。
语法:chmod [角色][+/-][权限] 文件名
示例:
chmod u+x script.sh # 给所有者添加执行权限
chmod g-w file.txt # 移除所属组的写入权限
chmod o=r file.txt # 其他用户仅保留读取权限
chmod a+r file.txt # 所有用户添加读取权限
权限用3位八进制数表示,每位对应 r=4、w=2、x=1(和为权限值):
- 第一位:所有者权限
- 第二位:所属组权限
- 第三位:其他用户权限
示例:
chmod 755 script.sh # 所有者:rwx(7),组:r-x(5),其他:r-x(5)
chmod 644 file.txt # 所有者:rw-(6),组:r--(4),其他:r--(4)
chmod 4755)。chmod 2770)。/tmp 的 1777)。bash
chmod +x myscript.sh # 所有用户可执行bash
chmod 600 ~/.ssh/id_rsa # 仅所有者可读写bash
chmod 770 /shared_dir # 所有者和组可读写执行x 权限则无法 cd)。ls -l 查看权限,输出如 -rwxr--r-- 对应 u=rwx, g=r, o=r。通过合理设置权限,可以保障系统安全性和协作需求。