<概述>
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 阅读(368)
评论(0) 编辑 收藏 所属分类:
Linux