linux文件权限修正,我理解的是有两部分的意思:一是修正文件本身的权限,二是通过修正所有者改变文件的权限组成。
先说修正文件本身的权限问题。
修正文件本身的权限,首先要知道修正权限的命令chmod的用法,然后须要搞清楚如何表示出文件的权限(目标权限)。
chmod命令的用法:
#chmod 目标权限 文件/或文件夹(目录)
如果是修正文件夹(目录)下的所有文件权限,命令语法如下:
#chmod -R 目标权限 文件夹
举个栗子:
# chmod 777 ./dir/test.log
# chmod 777 ./dir
# chmod -R 777 ./dir
解读:
第一个:将dir文件夹下的文件test.log改成权限为777
第二个:将dir文件夹本身修正权限为777
第三个:将dir文件夹下的所有文件和文件夹都改成权限为777
等等,777是目标权限,也便是将要设置文件的权限,777是啥意思呢?
这便是我们要搞清楚的第二个问题:如何表示出我们要把文件修正后的文件权限(目标权限)
不幸的是,表示方法竟然有两种:一种是数字型,另一种是文本型。晕,还要学两种……
先安歇一下眼睛
1、数字型
所谓数字型,便是4代表r,2代表w,1代表x,0代表没权限,将目标权限每三个为一组,按照数字代表转化出来,并把权限加起来,终极形成三位数字,这三位数字便是目标权限的数字表示。
太绕了,上图:
目标权限 数字转化过程数字表示法rwx rwx r-x(4+2+1)(4+2+1)(4+0+1)775rw- r-x r--(4+2+0)(4+0+1)(4+0+0)654解释:括号仅做分割之用,别当成乘法啊,哈哈
2、文本型
不说定义,我们上例子。
说,假设test.log的权限是:rwxrwxr-x,我们希望把这个文件的所有者权限去掉可实行的权限怎么办?
用数字型的话,便是:
chmod 675 ./test.log
文本型的表示方法是:
chmod u-x ./test.log
这都是什么乱七八糟的?看官莫急,我们一点点看u-x到底是什么鬼。
上一节中,我们知道,文件的权限有:
u权限:所有者权限
g权限:组成员权限
o权限:其他组成员的权限
a权限:所有人权限(上一节把这个拉下了,这里补上)
以是u-x里的u表示所有者权限,而个中的-表示减号,便是去掉某权限的意思,u-x表示所有者去掉实行权限(x)。
对应的,还有+号,表示增加权限,还有一个=号,表示重新定制权限,u=r表示所有者只有读权限。
是的,权限的表示方法仍旧是rwx-。
终于说完linux的文件本身权限修正的问题了(还有一些分外权限的问题,用的少不表了)。
还剩一个问题:修正文件的所有者。利用chown命令即可,语法:
chown [选项]... [所有者][:[组]] 文件... 不多表,举个常用例子:
#chown -R php:www ./dir
表示将dir文件的所有者改成www用户组下的php用户。
再安歇一下吧
二、PHP操作文件权限php操作文件权限比较大略:函数如下
chmod('文件路径’,目标权限);
成功返回TRUE,失落败返回FALSE。
举个例子:
chmod(‘./dir/file’,0755);
须要把稳的是:
1、设置的文件不能是远程文件。
2、目标权限可以是数字型,也可以是文本型
3、每次只能操作一个文件或者文件夹。
其余,php有关权限的函数还有,mkdir()和chown()大伙翻翻手册吧,我就不抄了。
理解有偏颇之处请大家示正。
点滴也分享,欢迎关注,点赞,评论,收藏,转发,您的支持是最大的鼓励。
原创不随意马虎,转载请注明出处:头条号|PHP在路上