chmod用于改变文件或目录的权限。在类UNIX系统中,文件和目录权限分为三级类: 档案拥有者权限、群组权限、其他用户权限。使用 chmod 可以设置文件或目录的读取、写入、执行,设置方式可采用文字或数字方式。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。

权限范围如下:

u(User):即文件或目录的拥有者

g(Group):即文件或目录的所属群组

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

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

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

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

x:执行或切换权限,数字代号为“1”

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

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

语法格式

chmod [参数] 权限模式 文件

chmod [-cfvR] [--help] [--version] mode file...

参数

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...]

其中

u 表示文件的所有者

g 表示与文件的所有者属于同一个群体(group)者

o 表示其他以外的人

a 表示所有人

+ 表示增加权限

- 表示取消权限

= 表示唯一设定权限

r 表示可读取

w 表示可写入

x 表示可执行

X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行

-c : 若文件权限确实已经更改,才显示其更改动作

-f : 若文件权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本

Linux权限系统说明

Linux用户分为:拥有者、组群(Group)、其他(other),Linux系统中,预设的情況下,系统中所有的帐号与一般身份使用者,以及root的相关信息, 都是记录在/etc/passwd文件中,每个人的密码则是记录在/etc/shadow文件中,此外,所有的组群名称记录在/etc/group文件中。

linux文件的用户权限分析,执行命令ls -l periodic.conf,显示periodic.conf文件的属性,显示结果如下:

-rw-r--r-- 1 root wheel 5021 9 10 2014 periodic.conf

第一位:- 表示文件(为d时,表示为目录)

第二、三、四位:表示文件所有者的读、写、执行权限,此例中表示:文件所有者有读和写权限,没有执行权限

第五、六、七位:表示文件所有者所在组的读、写、执行权限,此例中表示:同组用户有读权限,没有写和执行权限

第八、九、十位:表示其它的读、写、执行权限,此例中表示:其它用户有读权限,没有写和执行权限

r 表示读取权限,对应数字值为4

w 表示写入权限,对应数字值为2

x 表示写入权限,对应数字值为1

跟据以上权限规则:

要赋予读、写、执行权限,即:rwx,则4+2+1=7

要赋予读、写权限,即:rw-,则4+2=6

要赋予读、执行权限,即:r-x,则4+1=5

示例

将file1设置为所有人可读

chmod ugo+r file1

chmod a+r file1

chmod a+4 file1

将file1设置为所有人可读写执行

chmod a=rwx file

chmod 777 file

将file1设置为所有者及同组用户可读写,其它用户可读写

chmod ug=rw,o=r file

chmod 664 file

Logo

更多推荐