一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

关于Linux目录权限的深入分析

时间:2016-07-15 编辑:简简单单 来源:一聚教程网

下面是Linux目录权限的总结。

r权限:

列目录的权限。可以列出目录名,但是无法获得目录下的属性(日期、属主属组和权限等),获取属性需要目录具有x权限。

w权限:

在目录下有创建、改名、删除的权限,也就影响目录结构的操作。一个目录,w权限必须同时有x权限才有效,单独有w权限没有任何作用。

x权限:

1,进入目录的权限。

2,目录下的文件的rwx权限受目录的x权限限制,目录有x权限,其下的文件的rwx权限才有效,目录没有x权限,即使下面文件有rwx(任意一个)权限也没有作用。

Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。

在终端里输入 ls -l 命令可以查看当前目录下某个文件或目录的权限,显示每行数据的第一个字段就是它的权限内容。第一个字段由10个字符组成,如:
-rwxr-xr-x
第一位表示文件类型,-表示文件,d表示目录,后面的每三位字符分别表示三个不同用户组所具有的权限。
2-4位表示文件所有者的权限,即u(usesr)权限
5-7位表示文件所有者所属组成员的权限,g(group)权限
8-10位表示所有者所属组之外的用户的权限,o(others)权限
2-10位的权限总和有时称为a(all)权限
上面的那个字段,表示这是一个文件(非目录),文件所有者具有读、写和执行的权限,
所有者所属组成员和所属组之外的用户具有读和执行的权限而没有写的权限。
r、w和x也可以分别用4、2、1来代表,没有授予权限的则为0,这在修改权限时会比较方便。
linux下修改文件权限用chmod命令。
chmod命令有两种用法。一种是包含字母和操作符的表达式,即文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法

chmod [who] [+ | - | =] [mode] 文件名
其中who可以是上面提到的u、g、o、a中的任一个或者它们的组合。操作符+、-、=分别代表添加某个权限、取消某个权限、赋予给定权限并取消其他所有权限(如果有的话)。
mood则是r、w、x的任一组合。
例如:
chmod g+r,o+r fileName
表示给同组和其他用户添加对文件fileName的读权限。
2. 数字设定法则比较简单
chmod [mode] 文件名
不用管是要添加什么权限,而是可以直接设定具有什么权限了,这里的mood是一个三位数,每位数字可以是1至7中的任一个,代表对应的某种用户类型的权限,如:
chmod 777 fileName
这个表示所有用户都具有fileName的所有权限,这是很危险的事。在linux中修改权限,要用到管理员权限,如ubuntu中要用sudo或者切换到root帐号。
chmod后面还可以带参数,主要有 -R(修改目录时要用到) -v(显示操作)。
如:
chmod -R 755 dirName
把dirName下的所有文件及目录的权限修改为755,是一个对目录的递归操作。

想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,要使用参数-R表示启动递归处理。
 

例如:
 
[root@localhost ~]# chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx

[root@localhost ~]# chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx

想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,要使用参数-R表示启动递归处理。
 
例如:
 
[root@localhost ~]# chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx

[root@localhost ~]# chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx

 

热门栏目