在 Linux 系统中,更改文件和目录的权限是系统管理中的一个基本任务。主要用到的命令是 chmod(change mode)。以下是 chmod 命令的一些常见用法:
1. 符号模式(Symbolic Mode)
符号模式使用字符来表示用户类型、操作类型和权限类型。
用户类型:
u:文件所有者(user)
g:文件所属组(group)
o:其他用户(others)
a:所有用户(all,即 ugo 的总和)
操作类型:
+:添加权限
-:移除权限
=:设置权限(覆盖原有权限)
权限类型:
r:读权限(read)
w:写权限(write)
x:执行权限(execute)
示例:
给所有用户添加执行权限:
chmod a+x filename
移除文件所有者的写权限:
chmod u-w filename
设置文件所有者的权限为读和执行,组的权限为读,其他用户的权限为无:
chmod u=rx,g=r,o= filename
2. 八进制模式(Octal Mode)
八进制模式使用一个三位或四位的八进制数来表示权限。每一位分别对应所有者、所属组和其他用户的权限。
八进制数表示:
4:读权限(read)
2:写权限(write)
1:执行权限(execute)
4:读权限(read)
2:写权限(write)
1:执行权限(execute)
0:无权限0:无权限
将这些数字相加即可得到权限的八进制表示。例如:7(4+2+1):读、写、执行权限
6(4+2):读、写权限
5(4+1):读、执行权限
4(4):读权限4(4):读权限
示例:
设置文件权限为所有者有读、写、执行权限,组有读、执行权限,其他用户有读权限:
chmod 754 filename
一般习惯 直接 chmod 777 filename
3. 更改文件或目录的所有者和所属组
虽然这不是 chmod 的功能,但更改文件或目录的所有者和所属组也是权限管理的一部分,分别使用 chown 和 chgrp 命令。
更改所有者:
chown newowner filename
更改所属组:
chgrp newgroup filename
同时更改所有者和所属组:
chown newowner:newgroup filename
4. 递归更改权限
在更改目录及其内部所有文件和子目录的权限时,可以使用 -R 选项。
示例:
示例:
递归地给目录及其所有内容添加执行权限:递归地给目录及其所有内容添加执行权限:
chmod -R a+x directoryname
Comments NOTHING