国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 服务器 > Linux操作系统系列之文件权限

Linux操作系统系列之文件权限

来源:程序员人生   发布时间:2014-06-18 03:49:35 阅读次数:2846次
Linux 继承自 Unix,自设计之初就是多用户的系统。我们用实际的例子说明一下。

~/test$ ls -l

-rw-r--r-- 1 yuhen yuhen 0 2009-08-03 20:07 a.txt
drwxr-xr-x 2 yuhen yuhen 4096 2009-08-03 20:08 b

显示的信息分别表示(按列): 文件属性、链接数(inode)、文件拥有者(owner)、文件所属用户组(group)、文件大小、最新修改日期、文件(目录)名。

1. 文件属性

文件或目录有 10 个基本属性,第 1 个表示类型,后 9 个分为三组,分别表示 owner、group、others 的执行属性。

文件类型: [d] 目录; [-] 文件; [l] 链接文件; ...
执行属性: [r] 可读; [w] 可写; [x] 可执行。

-rw-r--r-- 1 yuhen yuhen 0 2009-08-03 20:07 a.txt

表示文件拥有者(owner)可读写(rw)、用户组(group)和其他用户(other)只读(r)。属性还可以用数字表示 r = 4, w = 2, x = 1,比如 rw-r--r-- = 644。

~/test$ ls -l

-rw-r--r-- 1 yuhen yuhen 0 2009-08-03 20:07 a.txt
drwxr-xr-x 2 yuhen yuhen 4096 2009-08-03 20:08 b

~/test$ chmod 664 ./a.txt

~/test$ ls -l

-rw-rw-r-- 1 yuhen yuhen 0 2009-08-03 20:07 a.txt
drwxr-xr-x 2 yuhen yuhen 4096 2009-08-03 20:08 b

当然,我们也可以用更直观的参数。

~/test$ chmod a+w a.txt # 全部设置为可写

~/test$ ls -l

-rw-rw-rw- 1 yuhen yuhen 0 2009-08-03 20:07 a.txt
drwxr-xr-x 2 yuhen yuhen 4096 2009-08-03 20:08 b

~/test$ chmod ug=rw,o=r a.txt # 拥有人和组可读写, 其他只读

~/test$ ls -l

-rw-rw-r-- 1 yuhen yuhen 0 2009-08-03 20:07 a.txt
drwxr-xr-x 2 yuhen yuhen 4096 2009-08-03 20:08 b

~/test$ chmod u=rw,g-w a.txt # 拥有人可读写, 组移除写

~/test$ ls -l

-rw-r--r-- 1 yuhen yuhen 0 2009-08-03 20:07 a.txt
drwxr-xr-x 2 yuhen yuhen 4096 2009-08-03 20:08 b

参数说明:

(1) u = owner; g = group; o = other; a = u + g + o
(2) [=] 设置; [-] 移除; [+] 增加。

对于目录而言, r 表示读取目录结构的权限,w 表示可以在目录里创建、删除、移动文件和子目录,x 表示可以进入该目录。

~/test$ ls -l

-rw-r--r-- 1 yuhen yuhen 0 2009-08-03 20:07 a.txt
drwxr-xr-x 2 yuhen yuhen 4096 2009-08-03 20:08 b

~/test$ chmod a-x ./b # 移除 x

~/test$ ls -l

-rw-r--r-- 1 yuhen yuhen 0 2009-08-03 20:07 a.txt
drw-r--r-- 2 yuhen yuhen 4096 2009-08-03 20:08 b

~/test$ cd b # 无法进入该目录

-bash: cd: b: Permission denied

~/test$ chmod a+x b # 恢复

~/test$ ls -l

-rw-r--r-- 1 yuhen yuhen 0 2009-08-03 20:07 a.txt
drwxr-xr-x 2 yuhen yuhen 4096 2009-08-03 20:08 b

~/test$ cd b # 正确进入

chmod 支持 -R 参数对目录下所有文件和子目录进行递归修改。

除了上述的基本属性外,还可以用 chattr 和 lsattr 设置和显示隐藏属性。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生