linux chmod 命令理解
1.命令功能
改变文件或文件夹的权限
2.命令语法
语法 :
chmod [选项] mode 文件 注{选项可为 -c, -f, -v, -R}
chmod [选项] 八进制模式 文件
chmod [选项] --reference=参考文件 文件
mode:权限设定字串
写法规则:
[ugoa...][[+-=][rwxX]...][,...]
其中:
u表示该文件的拥有着,
g表示与该文件的拥有着属于同一个组(group)者,
o表示其他以外的人,a表示这三者
+表示增加权限,-表示取消权限,=表示设定唯一权限
r 表示可读, w 表示可写入, x表示可执行,
X[大]表示只有当该文件是个子目录或该文件已经被设定过为可执行
3.命令选项详解
-c : 该文件权限更改成功后,打印更改信息
-f : 若该文件权限无法被更改也不要显示错误信息
-v : 显示权限变更的详细信息,无论修改成功还是不成功
-R : 如果更改的是一个文件夹,则递归更改该文件夹下的全部文件和文件夹
--help : 显示命令说明
--version : 显示命令版本
例子:
|----第一种用法
chmod ugo=rwx file1 设定file1文件的 所有者, 组员, 其他人员的 均有 读,写,执行的 权限
chmod a=rwx file1 设定file1文件的 所有者, 组员, 其他人员的 均有 读,写,执行的 权限
chmod ug+w, o-w file1 将 file1 的权限设置为 该文件所有者, 与其所有者同一组的人 可写入, 但其他以外的人则不可写入
chmod -R a+r * 将当前目录下的所有文件与子目录的权限设定为 任何人可读
|----第二种用法 (八进制的模式)
chmod 755 file1 设定file1 文件的 所有着 有 读,写,执行的权限, 所有者所在的组的组员 和 其他人员 有 读,执行的权限,
chmod 4755 与 chmod 755 对比多了一个附加权限值 4, 这个4表示其他用户执行文件时,具有与所有者同样的权限 (设置了SUID)
补充{为什么要设置4755 而不是 755? 假入不是文件的所有者对该文件具有执行的权限,但是这个文件执行的过程中,需要访问一些 只有文件的所有者才有权访问的文件,此时可以通过设置该文件的权限为 4755 则可避免 用户具有执行的权限但不能执行的窘态}
|----第三种用法 使用参考文件 将想设定的文件的权限 设定为 跟参考文件一样
chmod --reference=file1 file2 设定 文件file2 的权限 跟参考文件 file1 的权限一样