我有一个带GoDaddy的虚拟CentOS服务器,我在设置/var/www/html
的权限时遇到了问题。
不允许用户以root
身份登录,甚至可以将自己添加到root
群组,所以这就是我自己画的角落:
我使用以下命令更改了其所有者(我使用了httpd.conf
中的用户:组):
chown -R apache:apache /var/www/html
我将自己的用户添加到apache
组:
usermod -a -G apache myuser
我更改了权限:
chmod 777 /var/www/html -R
这是让我的SFTP帐户能够在/var/www/html
中创建,更改,和删除文件的唯一方法。 777! (SFTP帐户使用与ssh帐户相同的凭据,这意味着所有意图和目的都相同,对吧?)
我显然是Linux服务器管理员的新手,但这看起来非常不安全。有没有更好的方法来做这一切?
注意我计划在这里放置的网站将允许文件上传,cron作业等,所以我猜这也会使必要的权限复杂化。这是对的吗?
更新使用775似乎不起作用;我可以上传/覆盖文件,但当我尝试删除它们时,FileZilla会给我这个错误:
rm /var/www/html/index.php:许可被拒绝
我不知道为什么,但改回777“修复”了这个。
答案 0 :(得分:28)
只要您以myuser身份登录,就需要775
/var/www/html
。中间的7
八进制(用于“group”acl)确保该组具有读/写/执行权限。只要您属于拥有文件的组,“myuser”就应该能够写入它们。但是,您可能需要为docuemnt根目录中的所有文件提供组权限:
chmod -R g+w /var/www/html
答案 1 :(得分:0)
关于在apache网站托管目录上设置777权限,我刚刚处于类似的位置。经过一些修改后,似乎将文件夹的组所有权更改为“apache”组允许基于用户组访问该文件夹。
1)确保将文件夹的组所有权设置为使用/生成的组apache以供使用。 (检查/ etc / groups,我的是Ubuntu上的www-data)
2)将文件夹权限设置为774以阻止“所有人”拥有任何更改权限,但允许所有者和组权限。
3)将您的用户帐户添加到对该文件夹具有权限的组中(我的是www-data)。
答案 2 :(得分:-24)
以root用户身份登录:
sudo su
密码:
然后去var / www
做你想做的事