在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
。通过合理设置权限,可以保障系统安全性和协作需求。