使用 ll 或 ls -l 指令时 第一列会显示出目录下文件的权限
例如∶
-rw-r-r-
横线代表空许可.r代表只读,w代表写,x代表可执行.注意这里共有10个位置.第一个字符指定了文件类型.在通常意义上,一个目录也是一个文件.如果第一个字符是横线,表示是一个非目录的文件.如果是d,表示是一个目录.
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限.也可以利用chown命令来更改某个文件或目录的所有者.利用 chgrp命令来更改某个文件或目录的用户组. 下面分别对这些命令加以介绍.
chmod 命令
chmod [who] [+ | | =] [mode] 文件名
命令中各选项的含义为∶ 操作对象who可是下述字母中的任一个或者它们的组合∶
u 表示“用户(user)”,即文件或目录的所有者.
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户.
o 表示“其他(others)用户”.
a 表示“所有(all)用户”.它是系统默认值.
操作符号可以是∶
+ 添加某个权限.
- 取消某个权限.
= 赋予给定权限并取消其他所有权限(如果有的话).
设置mode所表示的权限可用下述字母的任意组合∶
r 可读,数字代号为"4"
w 可写,数字代号为"2"
x 可执行,数字代号为"1"。
- 不具任何权限,数字代号为"0"。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性.
s 在文件执行时把进程的属主或组ID置为该文件的文件属主.
t 保存程序的文本到交换设备上.
u 与文件属主拥有一样的权限.
g 与和文件属主同组的用户拥有一样的权限.
o 与其他用户拥有一样的权限.
例如:给一个文件添加执行的权限
[[email protected] init.d]# chmod +x xkzd.sh
数字设定法
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限, 2表示可写权限,4表示可读
权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为:
语法:chmod [mode] 文件名
例如:给一个文件所属者设置读、写、执行权限,并给同组用户设置可读、执行权限
[[email protected] init.d]# chmod 750 xkzd.sh
使用chmod和数字改变文件或目录的访问权限
文件和目录的权限表示,是用rwx这三个字符来代表所有者、用户组和其他用户的权限。有时候,字符似乎过于麻烦,因此还有另外一种方法是以数字来表示权限,而且仅需三个数字。
r: 对应数值4 w: 对应数值2 x:对应数值1 -:对应数值0
数字设定的关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:
111 101 100
再将其每三位转换成为一个十进制数,就是754。 例如,我们想让a.txt这个文件的权限为: 自己 同组用户 其他用户 可读 是 是 是 可写 是 是 可执行
那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我 们执行命令:
[[email protected] ~]# chmod 664 a.txt
按照上面的规则,rwx合起来就是4+2+1=7,一个rwxrwxrwx权限全开放的文件,数值表示为777;而完全不开放权限的文件“---------”其数字表示为000。下面举几个例子:
-rwx------:等于数字表示700。 -rwxr—r--:等于数字表示744。
-rw-rw-r-x:等于数字表示665。 drwx—x—x:等于数字表示711。 drwx------:等于数字表示700。
参考:http://www.linuxeden.com/html/softuse/20100316/76103.html