一、Linux权限简介
Linux认为有三组用户会使用文件或目录,即实际拥有者(也称文件的用户User,缩写u)、用户组(Group,缩写g)和系统中的其他人(Other,缩写o)。
用户对文件和目录的常用操作属性有三种:读(r)、写(w)和执行(x)。
1、读(r):
对文件:可以查看;
对目录:可以使用ls命令列出其内容。
2、写(w):
对文件:可以编辑;
对目录:可以删除、重命名或添加文件。
3、执行(x):
对文件:可以作为程序来执行;
对目录:可以读取它的文件和子目录,或运行文件。
[注]root用户一直能够对任何文件或目录进行任何操作。
二、chmod命令用字母表示法修改文件和目录的权限
命令格式:
chmod [ugo][±=][rwx]
想要修改的用户组(u/g/o),后面用加号(+)来授予权限,减号(-)来删除权限,用等号(=)来设置完全匹配的权限,后面再跟上表示要修改的权限的字母(r/w/x)。
三、chmod命令用数字表示法修改文件和目录的权限
命令格式:
chmod [0-7][0-7][0-7]
数字权限是基于二进制数字系统而创建的,读(read,r)的值是4,写(write,w)的值是2,执行(execute,x)的值是1,没有授权的值是0。这种模式下,权限组合变成简单的加分运算。于是,在ls -l命令表示的数字权限对应关系是:
0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx
虽然可以设置各式各样的权限,但常用的权限只有几种。它们的含义是:
400 -r-------- 拥有者能够读,其他任何人不能进行任何操作;
644 -rw-r--r-- 拥有者都能够读,但只有拥有者可以编辑;
660 -rw-rw---- 拥有者和组用户都可读和写,其他人不能进行任何操作;
664 -rw-rw-r-- 所有人都可读,但只有拥有者和组用户可编辑;
700 -rwx------ 拥有者能够读、写和执行,其他用户不能任何操作;
744 -rwxr--r-- 所有人都能读,但只有拥有者才能编辑和执行;
755 -rwxr-xr-x 所有人都能读和执行,但只有拥有者才能编辑;
777 -rwxrwxrwx 所有人都能读、写和执行(该设置通常不是好想法)。
范例:
设置所有用户可读取文件 a.conf
chmod ugo+r a.sh 或 chmod a+r a.conf
设置 c.sh 只有 拥有者可以读写及执行
chmod u+rwx c.sh
设置文件 a.conf 与 b.xml 权限为拥有者与其所属同一个群组 可读写,其它组可读不可写
chmod a+r,ug+w,o-w a.conf b.xml
设置当前目录下的所有档案与子目录皆设为任何人可读写
chmod -R a+rw *
设置所有人可以读写及执行
chmod 777 file (等价于chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于 chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )
自: http://blog.sina.com.cn/s/blog_4aba6f3d0100x1lw.html