日期:2014-05-16  浏览次数:20723 次

UNIX/LINUX中的文件及目录权限的设置

在UNIX中,所有的文件及目录都拥有自己的访问权限,来限制用户的访问,提高系统的安全性.
每个文件及目录都有三个级别的权限:所有者级别(u),组访问级别(g),其他用户访问级别(o).每个级别都有三个权限:读(r),写(w),执行(x).
例如:

#ls -la
-rwxrwxrwx 1 root root 6789 Nov 1 09:01 abc.c
drwxr-xr-x 2 root root 51 Nov 1 10:20 tool

?

abc.c为一个文件,第一个rwx表示文件所有者(即文件属主)的权限为读写执行.第二个rwx表示同组用户的权限为读写执行.每三个rwx表示其他组用户的权限为读写执行.
tool为一个目录,每一个rwx表示目录所有者(即目录属主)的权限为读写执行.第二r-x表示同组用户的权限为读执行.第三个r-x表示其他组用户的权限为读执行.
我们可以用"1","0"来表示权限的设置与否.没有设置权限"-",用"0"表示,设置了权限(不管是r,w或x),用"1"表示.

?

用0,1表示 转换为八进制数表示 没有权限 --- 000 0
执行权限 --x 001 1
写权限 -w- 010 2
写执行权限 -wx 011 3
读权限 r-- 100 4
读执行权限 r-x 101 5
读写权限 rw- 110 6
读写执行权限 rwx 111 7

?

下面便让我们看一看该如何设置权限.举例如下:
#chmod u+rwx abc.c 设置abc.c文件属主的权限为rwx
#chmod g+rwx abc.c 设置abc.c文件同组用户的权限为rwx
#chmod o+rwx abc.c 设置其他组的用户对abc.c文件有读,写,执行权限
这种设置等效于:
#chmod 777 abc.c
也等效于:
#chmod a+rwx abc.c (a表示所有用户)
让我们再看一个例子:
#chmod 755 lpsed
等效于:
#chmod u+rwx lpsed
#chmod g+r-x lpsed
#chmod o+r-x lpsed
表示所有的用户对文件lpsed都有读及执行权限,只有文件属主可以改变文件.即写权限.