PHP 如何将 linux 服务器的 root 权限目录改为 www:www

php中文网
发布: 2016-08-04 09:20:52
原创
2290人浏览过

客服通过 ftp 上传文件的时候,所有文件默认是 root 用户权限的,导致 php 文件无法读写创建.

只有通过 chown www:www 来进行对每个文件的设置才可以.

立即学习PHP免费学习笔记(深入)”;

请问有办法通过 PHP 来操作吗?

回复内容:

客服通过 ftp 上传文件的时候,所有文件默认是 root 用户权限的,导致 php 文件无法读写创建.

只有通过 chown www:www 来进行对每个文件的设置才可以.

立即学习PHP免费学习笔记(深入)”;

请问有办法通过 PHP 来操作吗?

你说:他们的服务器,他们喜欢用这个 SFTP 直接传文件,然后导致程序不能创建目录改写文件之类的。这个是必然,你可以把他们登录sftp的用户用usermod -aG www [username]加入到www这个组里面,把www用户加入你传文件的那个用户的组里面,这样www和传文件的用户就是一个组的了,这样得给予文件们664权限
(我就用过的这个方法,本地用syncthing以及atom编辑器(属于users组下)和web服务器(nginx组)互通同步文件。不过我是把web服务器chown给users的)

对,bool chown ( string $filename , mixed $user )可以改的。php好像还有chmod,不过建议在服务器上改吧, chown -R www:www /path/

图改改
图改改

在线修改图片文字

图改改 455
查看详情 图改改

一般文件夹权限给个755,文件给个644。用以下指令可搞定(具体文件夹自行更改): chown -R nginx.nginx /usr/share/nginx/html/ && find /usr/share/nginx/html/ -type d -exec chmod 755 {} \; && find /usr/share/nginx/html/ -type f -exec chmod 644 {} \;
我是把它写入bashrc,总不能下次要用又敲一次吧:alias webroot='chown -R nginx.nginx /usr/share/nginx/html/ && find /usr/share/nginx/html/ -type d -exec chmod 755 {} \; && find /usr/share/nginx/html/ -type f -exec chmod 644 {} \;'

<code>-----</code>
登录后复制

另一个服务器用的sftp传文件,用户属于users组下的aaa,我传文件前打开ssh,先把文件全部权限搞成属于users的aaa,在bashrc里面写入alias的,也不麻烦,传完了再弄回去,还是上面的好点,毕竟你们要用stfp,把root随便给出去用也不太安全)

你要是图方便 直接把文件夹chown -R 777就可以

ftp用户设置一下权限不行?

别用root登录嘛,win下传过去的吧,ftp工具一般可以改,比如xftp,可以修改传过来的文件夹和文件权限,并且保持后续传进来的也是如此的权限

可以用这个函数boolchown(),不过不太安全,最好是能在服务器上直接改,这个也需要root权限才能执行,最好ftp的账户是和php进程的用户保持一致

shell 中 使用 chown 命令,之前也遇到过这样的问题,配置lamp的时候。

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号