一.查看文件属性
通常使用ls -l
命令显示文件详细信息,这里给出一个文件详细信息的示例并进行分析。
-rw-r--r-- 1 zxp zxp 8980 1月 511:37 examples. desktop
文件权限 链接 所有者 所属组 容量 修改日期 文件名
其中文件信息共有7个字段,
第2个字段表示该文件的链接数目,表示只有一个硬链接。
第3个字段表示这个文件的所有者,第4个字段表示这个文件的所属组。
后面3个字段分别表示文件大小、修改日期和文件名称。
第1个字段表示文件类型与权限,共有10个字符,格式如下:
字符1 | 字符2到4 | 字符5~7 | 字符8~ 10 |
---|---|---|---|
- | rw- | r– | r– |
文件类型 | 所有者权限 | 所属组权限 | 其他用户权限 |
其中第1个字符表示文件类型,d表示目录,表示文件,1表示链接文件,b表示块设备文件,c表示字符设备文件。接下来的字符以3个为一组,每种用户的3种文件权限依次用工w和x表示读、写和执行。这3种权限的位置不会改变,如果某种权限没有,则在相应权限位置用-表示。
二、设置文件访问权限
使用chmod命令来修改文件权限,基本用法如下:
chmod 选项 模式 文件名
使用-R表示递归设置指定目录下所有文件的权限。
对于不是文件所有者的用户来说,需要root 权限才能执行chomd命令修改权限,因此需要使用sudo命令。
1.文件权限用字符表示
这时需要具体操作符号来修改权限,+表示增加某种权限,-表示撤销某种权限,=表示指定某种权限(同时会取消其他权限)。对于用户类型,所有者、所属组和其他用户分别用字母u、g、o表示,全部用户(包括3种用户)则用a表示。权限类型用r(读)、w(写)和x(执行)表示。
chmod g+w,o+r /home/wang/myfile //给所属组用户增加写权限,给其他用户增加读权限
chmod go-r /home/wang/myfile //同时撤销所属组和其他用户对该文件的读权限
chmod a=rx /home/wang/myfile //对所有用户赋予读和执行权限
2.文件权限用数字表示
将权限读(r)、写(w)和执行(x)分别用数字4、2和1表示,没有任何权限则表示0。每一类用户的权限用其各项权限的和表示(结果为数字0~7)。依次为所有者(u)所属组(g)和其他用户(o)的权限。
例:754表示所有者、所属组和其他用户的权限依次4+2+1、4+0+1、4+0+0转化为字母就是: rwxr-xr–
要使文件file的所有者拥有读写权限,所属组用户和其他用户只能读取,命令:chmod 644 file
这也等同于:chmod u=rw-,go=r-- file
参考书目《Ubuntu Linux 操作系统》