/ var / www / html的权限

时间:2012-09-13 20:07:49

标签: linux apache permissions sftp

我有一个带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“修复”了这个。

3 个答案:

答案 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

做你想做的事