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

最新下载

热门教程

Linux chmod命令设置文件权限的详解

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

chmod,这个Linux命令在曾经VPS主机中安装环境和编译脚本的时候也有需要用到的,用来设定网站、文件目录的权限,比如我们给网站某个目录和文件设置可读、只读等等,确保文件和目录的安全设置。

hmod [options] mode files

只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。

options:

-c,--changes
只输出被改变文件的信息

-f,--silent,--quiet
当chmod不能改变文件模式时,不通知文件的用户

--help
输出帮助信息。

-R,--recursive
可递归遍历子目录,把修改应到目录下所有文件和子目录

--reference=filename
参照filename的权限来设置权限

-v,--verbose
无论修改是否成功,输出每个文件的信息

--version
输出版本信息。

 

第一、文件身份

 

u : User,即文件或目录的拥有者;

 

g : Group,即文件或目录的所属群组;

 

o : Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;

 

a : All,即全部的用户,包含拥有者,所属群组以及其他用户;

 

在当前某个文件的身份,权限包括本身,以及在所存在组中的权限,以及组外的权限。

 

第二、文件权限

 

r :读取权限,数字代号为“4”;

 

w :写入权限,数字代号为“2”;

 

x :执行权限,数字代号为“1”;

 

- :不具任何权限,数字代号为“0”;

 

s :特殊功能说明:变更文件或目录的权限。

 

这里文件用户身份分成4种,每个用户身份有对应不同的权限,一般是读取、写入、执行。一般我们看到的rwx对应的数字相加标示的,其实用字符表示也一样,只不过需要单独的设置。

 

第三、举例解释

 

 代码如下 复制代码

chmod -R 755 itbulu

 

从这个例子中我们可以看到对于itbulu文件夹以及子目录中的设置7(所有者权限)、5(所在组权限)、5(其他组用户权限)。

 

 代码如下 复制代码

chmod -R 644 itbulu

 

表示所有者有读写权限,其他用户只有只读权限。

 

 代码如下 复制代码

chmod -R 777 itbulu

 

表示每个人都有读、写、执行权限。

 

 代码如下 复制代码

chmod u+x,g+w itbulu

 

这个表示所有者用户有执行权限,组用户成员有写入权限。

 

 代码如下 复制代码

chmod u=rxw,g=rwx,o=rwx itbulu

 

这个与我们上面看到的777权限意思是一样的,有些时候还是数字表达比较简单。

 

 代码如下 复制代码

chmod o-x itbulu.sh

 

这里要顺带提一下=,+,-。这三个表示完全赋予、添加某个权限、减掉某个权限,比如上面一个例子就可能之前不需要赋予o其他用户执行权限,那这里就把减掉。

 

总结,chmod,权限的设置看似简单,但是在实际的使用中还是比较讲究的,不能乱设置更高的权限,否则文件会有安全风险,也不能设置过低权限,否则复无法执行。

s

热门栏目