chmod 命令 用来变更文件或目录的权限。在 UNIX 系统家族里,文件或目录权限的控制分别以读取、写入、执行 3 种一般权限来区分,另有 3 种特殊权限可供运用。用户可以使用 chmod 指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。
权限范围的表示法如下:
u
User,即文件或目录的拥有者;
g
Group,即文件或目录的所属群组;
o
Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a
All,即全部的用户,包含拥有者,所属群组以及其他用户;
r
读取权限,数字代号为“4”;
w
写入权限,数字代号为“2”;
x
执行或切换权限,数字代号为“1”;
-
不具任何权限,数字代号为“0”;
s
特殊功能说明:变更文件或目录的权限。
语法
chmod(选项)(参数)
选项
- c 或——changes:效果类似“-v”参数,但仅回报更改的部分;- f 或 --quiet 或——silent:不显示错误信息;- R 或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;- v 或——verbose:显示指令执行过程;--reference=< 参考文件或目录 >:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;< 权限范围 >+< 权限设置 >:开启权限范围的文件或目录的该选项权限设置;< 权限范围 >-< 权限设置 >:关闭权限范围的文件或目录的该选项权限设置;< 权限范围 >=< 权限设置 >:指定权限范围的文件或目录的该选项权限设置;
参数
权限模式:指定文件的权限模式;
文件:要改变权限的文件。
知识扩展和实例
Linux 用 户分为:拥有者、组群 (Group)、其他(other),Linux 系统中,预设的情況下,系统中所有的帐号与一般身份使用者,以及 root 的相关信 息,都是记录在/etc/passwd
文件中。每个人的密码则是记录在 /etc/shadow
文件下。此外,所有的组群名称记录在 /etc/group
內!
linux 文件的用户权限的分析图
例:rwx rw- r–
r= 读取属性 // 值=4
w= 写入属性 // 值=2
x= 执行属性 // 值=1
chmod u+x,g+w f01 // 为文件 f01 设置自己可以执行,组员可以写入的权限
chmod u=rwx,g=rw,o=r f01
chmod 764 f01
chmod a+x f01 // 对文件 f01 的 u,g,o 都设置可执行属性
文件的属主和属组属性设置
chown user:market f01 // 把文件 f01 给 uesr,添加到 market 组
ll -d f1 查看目录 f1 的属性