设置php文件夹权限,文件权限的那些事儿(2)linux和php修改文件权限-设置文件夹权限...

9c56332aabf3e561eedd96346ac61034.png

前言

上次我们我们聊了 什么是文件权限以及怎么查看文件权限,下面接着聊文件权限修改的那些事。

内容概要

1、linux文件权限的修改

2、PHP操作文件权限

一、linux文件权限的修改

linux文件权限修改,我理解的是有两部分的意思:一是修改文件本身的权限,二是通过修改所有者改变文件的权限组成。

先说修改文件本身的权限问题。

修改文件本身的权限,首先要知道修改权限的命令chmod的用法,然后需要搞清楚如何表示出文件的权限(目标权限)。

chmod命令的用法:#chmod 目标权限 文件/或文件夹(目录)

如果是修改文件夹(目录)下的所有文件权限,命令语法如下:#chmod -R 目标权限 文件夹

27613f70fa805918e707c18ffd8fde32.png

举个栗子:# chmod 777 ./dir/test.log

# chmod 777 ./dir

# chmod -R 777 ./dir

解读:

第一个:将dir文件夹下的文件test.log改成权限为777

第二个:将dir文件夹本身修改权限为777

第三个:将dir文件夹下的所有文件和文件夹都改成权限为777

等等,777是目标权限,也就是将要设置文件的权限,777是啥意思呢?

这就是我们要搞清楚的第二个问题:如何表示出我们要把文件修改后的文件权限(目标权限)

不幸的是,表示方法竟然有两种:一种是数字型,另一种是文本型。晕,还要学两种……

fe041b4a5e8c2eb6c02bce4f50a23a37.png

先休息一下眼睛

1、数字型

所谓数字型,就是4代表r,2代表w,1代表x,0代表没权限,将目标权限每三个为一组,按照数字代表转化出来,并把权限加起来,最终形成三位数字,这三位数字就是目标权限的数字表示。

太绕了,上图:目标权限数字转化过程数字表示法

rwx rwx r-x(4+2+1)(4+2+1)(4+0+1)775

rw- 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到底是什么鬼。

35d69f7af93d4062ffeca6c342118d27.png

上一节中,我们知道,文件的权限有:u权限:所有者权限

g权限:组成员权限

o权限:其他组成员的权限

a权限:所有人权限(上一节把这个拉下了,这里补上)

所以u-x里的u表示所有者权限,而其中的-表示减号,就是去掉某权限的意思,u-x表示所有者去掉执行权限(x)。

对应的,还有+号,表示增加权限,还有一个=号,表示重新定制权限,u=r表示所有者只有读权限。

是的,权限的表示方法仍旧是rwx-。

终于说完linux的文件本身权限修改的问题了(还有一些特殊权限的问题,用的少不表了)。

还剩一个问题:修改文件的所有者。使用chown命令即可,语法:

chown [选项]... [所有者][:[组]] 文件... 不多表,举个常用例子:#chown -R php:www ./dir

表示将dir文件的所有者改成www用户组下的php用户。

9455bed109d721420c5cd7bdb5c2bdad.png

再休息一下吧

二、PHP操作文件权限

php操作文件权限比较简单:函数如下

chmod('文件路径’,目标权限);

成功返回TRUE,失败返回FALSE。

举个例子:chmod(‘./dir/file’,0755);

需要注意的是:

1、设置的文件不能是远程文件。

2、目标权限可以是数字型,也可以是文本型

3、每次只能操作一个文件或者文件夹。

另外,php有关权限的函数还有,mkdir()和chown()大伙翻翻手册吧,我就不抄了。

理解有偏颇之处请大家指正。

点滴也分享,欢迎关注,点赞,评论,收藏,转发,您的支持是最大的鼓励。

原创不容易,转载请注明出处:头条号|PHP在路上

要安装Docker并安装插件,可以按照以下步骤进行操作: 1. 首先,安装Docker。可以按照官方文档提供的步骤进行安装,或者使用适合您操作系统的包管理器进行安装。 2. 安装Docker Compose插件。可以使用以下方法安装: 2.1 下载指定版本的docker-compose文件: curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 2.2 赋予docker-compose文件执行权限: chmod +x /usr/local/bin/docker-compose 2.3 验证安装是否成功: docker-compose --version 3. 在安装插件之前,可以测试端口是否已被占用,以避免编排过程中出错。可以使用以下命令安装netstat并查看端口号是否被占用: yum -y install net-tools netstat -npl | grep 3306 现在,您已经安装了Docker并安装了Docker Compose插件,可以继续进行其他操作,例如上传docker-compose.yml文件到服务器,并在服务器上安装MySQL容器。可以参考Docker的官方文档或其他资源来了解如何使用DockerDocker Compose进行容器的安装配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Docker安装docker-compose插件](https://blog.csdn.net/qq_50661854/article/details/124453329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Docker安装MySQL docker安装mysql 完整详细教程](https://blog.csdn.net/qq_40739917/article/details/130891879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值