Jcat
宠辱不惊,闲看庭前花开花落~~
posts - 173,comments - 67,trackbacks - 0
<概述>
LINUX文件权限针对的对象分三类(互斥的关系):
1. user(文件的拥有者)
2. group(文件拥有者所在的组,但不包括user)
3. other(其它用户,即user和group以外的)

LINUX用一个3位二进制数对应着文件的3种权限(1表示有该权限,0表示无):
第1位    读        r    100    4
第2位    写       w    010    2
第3位    执行    x    001    1


<CMD>
查看权限
#ls -l

第一列,一共10位(drwxrwxrwx),就代表了文件的权限:
1)第一个d代表是一个目录,如果显示“-”,则说明不是一个目录
2)2-4代表user的权限
3)5-7代表group的权限
4)8-10代表other的权限

对于后9位:
r 代表可读(read),其值是4
w 代表可写(write),其值是2
x 代表可执行(execute),其值是1
- 代表没有相应权限,其值是0



修改文件权限
# chmod [ugoa][+-=][rwx] 文件名

1)用户
u 代表user
g 代表group
o 代表other
a 代表全部的人,也就是包括u,g和o

2)行动
+ 表示添加权限
- 表示删除权限
= 表示使之成为唯一的权限

3)权限
rwx也可以用数字表示法,不过很麻烦要自己算,比如 rw=6




<常见权限>
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限,最大权限


<trick>
如果只拥有一个文件的r权限,也是可以执行它的,只需在最前面加个点加个空格,e.g.:
#. /etc/bashrc

通过 # man . 可以找到官方的解释:
. filename [arguments]
Read  and  execute  commands from filename in the current shell environment and return the exit status of the last command executed  from  filename.

其实这也合理:我可以r,就可以把内容copy出来,就可以自己造一个文件来实现同样的功能。



<解读 ls -l 命令>
drwxr-xr-x   2 root oinstall 4096 Jun  6 19:02 oracle
drwxrwxr-x  20 root sinstall 4096 Apr 22 14:03 sybase
一个文件(夹),有两个owner
1. user
2. group

创建一个文件时,它默认属于创建它的user,以及这个user所在的group。
这两个owner其实是相互独立的(它们的权限也是相互独立的):一个文件可以属于user a,并指定它属于非a所在的组B。自然的,组B的成员b也就享有了这个文件。
(安装oracle时的用户设置就是很好的例子)
# chown user_a file_test
# chown :group_B file_test

posted on 2008-03-25 17:25 Jcat 阅读(362) 评论(0)  编辑  收藏 所属分类: Linux

只有注册用户登录后才能发表评论。


网站导航: