Chmod的用法 php chmod 无效的原因

chmod 是一条在Unix系统中用于控制用户对文件的权限的命令(changemode单词前缀的组合)和函数。只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式,符号模式指定文件的权限。

用法

chmod使用语法

$ chmod [options] mode[,mode] file1 [file2 ...]

使用ls命令的查看文件或目录的属性

$ ls -l file

八进制语法

chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(user)的读、写、执行,用户组(group)的读、写、执行以及(other)其它用户的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。

chmod的八进制语法的数字说明;

r 4

w 2

x 1

- 0

所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如rwx ,也就是4+2+1 ,应该是7。

用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如rw- ,也就是4+2+0 ,应该是6。

其它用户的权限数字表达:其它用户权限位的数字相加的总和。如r-x ,也就是4+0+1 ,应该是5。

例如修改文件myfile的权限

$ chmod 664 myfile

$ ls -l myfile

-rw-rw-r-- 1 57 Jul3 10:13 myfile

符号模式

使用符号模式可以设置多个项目:who(用户类型),operator(操作符)和permission(权限),每个项目的设置可以用逗号隔开。命令chmod将修改who指定的用户类型对文件的访问权限,用户类型由一个或者多个字母在who的位置来说明,如who的符号模式表所示:

who

用户类型

说明

u

user

文件所有者

g

group

文件所有者所在组

o

others

所有其他用户

a

all

所用用户,相当于ugo

operator的符号模式表:

Operator

说明

+

为指定的用户类型增加权限

-

去除指定用户类型的权限

=

设置指定用户权限的设置,即将用户类型的所有权限重新设置

permission的符号模式表:

模式

名字

说明

r

设置为可读权限

w

设置为可写权限

x

执行权限

设置为可执行权限

X

特殊执行权限

只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行

s

setuid/gid

当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限

t

粘贴位

设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

符号模式实例

对目录的所有者u和关联组g增加读r和写w权限:

$ chmod ug+rw mydir

$ ls -ld mydir

drw-rw---- 2 unixguy uguys96 Dec 8 12:53 mydir

对文件的所有用户ugo删除写w权限:

$ chmod a-w myfile

$ ls -l myfile

-r-xr-xr-x 2 unixguy uguys 96Dec 8 12:53 myfile

对mydir的所有者u和关联组g设置成读r和可执行x权限:

$ chmod ug=rx mydir

$ ls -ld mydir

dr-xr-x--- 2 unixguy uguys 96Dec 8 12:53 mydir

特殊模式

命令使用实例

命令说明

命令

说明

chmoda+rfile

增加读权限对file的所有用户

chmoda-xfile

删除执行权限对file的所有用户

chmoda+rwfile

增加读写权限对file的所有用户

chmod+rwxfile

增加读写执行权限对file的所有用户

chmodu=rw,go=file

设置读写权限对file的所有者,清空所有权限对file的用户组和其他用户

chmod -Ru+r,go-rdocs

对目录docs和其子目录层次结构中的所有文件增加所有用户的读权限,而对用户组和其他用户删除读权限

chmod664file

设置读写权限对file的所有者和用户组,为其其他用户设置读权限

chmod0755file

相当于u=rwx (4+2+1),go=rx (4+1 &4+1)。0没有特殊模式。

chmod4755file

4设置了设置用户ID位,剩下的相当于u=rwx (4+2+1),go=rx (4+1 & 4+1)。

find path/ -type d -execchmod a-x {} ;

删除可执行权限对path/以及其所有的目录(不包括文件)的所有用户,使用‘-typef'匹配文件

find path/ -type d -execchmod a+x {} ;

允许所有用户浏览或通过目录path/

函数说明

chmod函数C语言的定义:

int chmod(const char*path,mode_t mode);

函数使用mode_t类型的参数,使用其比特位组成各种模式:

模式

八进制

含义

S_ISUID

04000

执行时设置用户ID,setuid权限

S_ISGID

02000

执行时设置组ID,setgid权限

S_ISVTX

01000

粘贴位

S_IRUSR, S_IREAD

00400

所有者读

S_IWUSR, S_IWRITE

00200

所有者写

S_IXUSR, S_IEXEC

00100

所有者执行

S_IRGRP

00040

由组读

S_IWGRP

00020

由组写

S_IXGRP

00010

由组执行

S_IROTH

00004

其他人读

S_IWOTH

00002

其他人写

S_IXOTH

00001

其他人执行


Chmod的用法 php chmod 无效的原因

  

爱华网本文地址 » http://www.aihuau.com/a/25101017/357068.html

更多阅读

右脸颊长痘的原因 右脸颊长痘怎么调理

  有时候一些MM与人说话时,会因为用手捂着右脸颊而被责怪不礼貌。其实,罪魁祸首就是右脸颊的痘痘。它们让MM没有勇气地理直气壮地说话。相信很多受了委屈的MM都想知道右脸颊长痘的原因,那今天小编就先告诉你右脸长痘痘是什么原因,再教

口臭的原因和治疗方法 什么原因会引起口臭

口臭的形成原因:口臭的形成原因主要是由于饮食不节,或过多地食用辛辣食品,以及劳倦过度等不良的生活方式造成的脾功能衰竭,胃肠功能减弱,使食物在肠内得不到正常的消化,大量食物糟粕不能排出体外,愈积愈多,形成毒素进入肠壁血液,从而伤害脏腑

冰箱不制冷的原因是什么? 新飞冰箱不制冷的原因

相信有很多朋友,都遇到过家里的冰箱不制冷了,但其真正的原因都不是分了解,下面我就为大家综合的简单介绍几种原因,帮您更好的解析冰箱不制冷的原因是什么?——步骤/方法冰箱不制冷的原因是什么? 1、冰箱不制冷的原因 首先:电冰箱温控器是

智能手机速度变慢的原因以及解决办法 下载速度慢的解决办法

智能手机速度变慢的原因以及解决办法——简介人手一机智能手机,不管是高端的还是低端的,但是在买来以后用着用着,我们就发现自己的手机越来越不智能,速度也是变得越来越慢,这是什么原因呢?如何解决这个问题呢?智能手机速度变慢的原因以及

电脑反应慢的原因 游戏运行慢是什么原因

电脑反应慢的原因——简介你在为电脑很卡而烦恼?我作为一名富有爱心的电脑爱好者觉得有义务为大家详细全面的解答导致电脑卡、运行速度慢的原因以及解决办法,彻底打消大家电脑卡怎么办的烦恼。首先电脑能实现多媒体的功能,就缺少不了硬

声明:《Chmod的用法 php chmod 无效的原因》为网友燈下寫詩分享!如侵犯到您的合法权益请联系我们删除