这是 stackoverflow 上一个“离题”问题的转发。
我的情况是:
我创建了一个用户并将该用户添加到 sudoers:
维苏多
用户 ALL=(全部) 全部
然后
sudo adduser 用户 www-data
和
chown www-data:www-data -R /var/www
是否重新启动服务,然后尝试:
scp 文件 用户@ip:/var/www
没有权限
我对文件夹和文件申请的权限是(不是wp-config.php
或.htaccess
):
德鲁伊
-rw-rw-r--
我试过:
sudo chmod -R g+w /var/www然后我可以将文件上传到
/var/www
,但这将权限设置为775
,因此我运行:
查找 /var/www -type d -exec chmod 755 {} \;
现在我可以编辑文件,但不能通过 SFTP 或 SSHFS 等写入文件夹。
我现在的问题是:
如何在不影响安全性的情况下写入 /var/www?
答案1
此sudo
更改仅影响您使用命令运行的命令sudo
。因此,在这种情况下它不起作用。
我更愿意让user
成为 中所有文件的所有者/var/www
。然后,您就可以访问 WP 需要写入权限的chmod 777
所有目录和chmod 666
所有文件。这样,如果有人利用 WP 中的安全问题,他就无法轻易覆盖 WP 文件。
www-data
或者,您可以将 WP 需要写入权限的文件/目录的所有者更改为。但是,这种方式user
无法写入这些文件/目录。
如果您的服务器文件系统支持 ACL,您可以添加一个 ACL,/var/www
为所有者以外的其他用户授予写入权限。这可以通过setfacl
命令实现。