PHP 如何将 linux 服务器的 root 权限目录改为 www:www
PHP中文网
PHP中文网 2017-04-11 09:16:51
0
6
1001

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

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

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

PHP中文网
PHP中文网

认证0级讲师

reply all (6)
左手右手慢动作

bool chown ( string $filename , mixed $user )可以改的。php好像还有chmod,不过建议直接在服务器上改权限吧。


“客服通过 FTP 上传文件的时候,所有文件默认是 ROOT 用户权限的,导致 PHP 文件无法读写创建.”
看样子“客服”使用的是root登录,上传的文件所有者自然属于root用户了。

一般的情况,文件夹权限755,文件644。比如在nginx上的文件权限设定,一般用以下指令可搞定(具体文件夹路径自行更改):
chown -R www:www /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 www:www /usr/share/nginx/html/ && find /usr/share/nginx/html/ -type d -exec chmod 755 {} ; && find /usr/share/nginx/html/ -type f -exec chmod 644 {} ;'


!!!不过直接用root太不保险了,万一删错什么的就不好了,同时建议把ssh的root远程登录关闭了,别启用root用户的sftp来给客服用。
因此,更建议创建一个一般权限的用户给客服使用。为了方便,最好将并将这个用户放到www组中。
当然这样得的话,遇到需要有www:www权限读写时还是得需要手动给予文件们664权限了,保证同组的用户可以读写文件。

    阿神

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

      PHPzhong

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

        小葫芦

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

          巴扎黑

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

            伊谢尔伦

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

              Latest Downloads
              More>
              Web Effects
              Website Source Code
              Website Materials
              Front End Template
              About us Disclaimer Sitemap
              php.cn:Public welfare online PHP training,Help PHP learners grow quickly!