40

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

4

3 回答 3

30

只要您以 myuser 身份登录,您就需要775/var/www/html中间的7八进制(用于“组”acl)确保组具有读/写/执行权限。只要您属于拥有这些文件的组,“myuser”就应该能够写入它们。但是,您可能需要为文档根目录中的所有文件授予组权限:

chmod -R g+w /var/www/html
于 2012-09-13T20:12:08.527 回答
0

关于在 apache 网站托管目录上设置 777 权限,我刚刚处于类似的位置。经过一些修补后,似乎将文件夹的组所有权更改为“apache”组允许基于用户组访问文件夹。

1)确保文件夹的组所有权设置为组apache used/generates for use。(检查 /etc/groups,我的是 Ubuntu 上的 www-data)

2) 将文件夹权限设置为 774 以阻止“每个人”拥有任何更改访问权限,但允许所需的所有者和组权限。

3)将您的用户帐户添加到对该文件夹具有权限的组(我的是 www-data)。

于 2013-10-22T20:25:02.050 回答
-31

以 root 用户身份登录:

sudo su

password:

然后去 var/www 做你想做的事

于 2014-09-13T15:15:54.327 回答