Linux /var/www/html的权限

Linux /var/www/html的权限,linux,apache,permissions,sftp,Linux,Apache,Permissions,Sftp,我有一个带有GoDaddy的虚拟CentOS服务器,设置/var/www/html的权限时遇到问题 用户不允许以root身份登录,甚至不允许将自己添加到root组中,因此我将自己描绘成: 我使用以下命令更改了它的所有者(我使用了httpd.conf中的user:group): 我将自己的用户添加到apache组: usermod -a -G apache myuser 我更改了权限: chmod 777 /var/www/html -R 这是让我的SFTP帐户能够在/var/www

我有一个带有GoDaddy的虚拟CentOS服务器,设置
/var/www/html
的权限时遇到问题

用户不允许以
root
身份登录,甚至不允许将自己添加到
root
组中,因此我将自己描绘成:

  • 我使用以下命令更改了它的所有者(我使用了
    httpd.conf
    中的user:group):

  • 我将自己的用户添加到
    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“修复”了这个问题。

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

chmod -R g+w /var/www/html

在apache网站托管目录上设置777权限方面,我也处于类似的位置。稍加修改后,将文件夹的组所有权更改为“apache”组似乎允许基于用户组访问文件夹

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

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

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

以root用户身份登录:

sudo su

password:

然后去做你想在var/www

中做的事,我是这个网站的新用户,请留下评论解释否决票以及我如何改进这个问题…+1,因为否决票是不允许的。我认为这个问题应该在诸如serverfault.com或unix.stackexchange.com之类的替代网站上提问。+1非常感谢@diceopolis。您的问题和答案以及Jon Lin帮助我最终解决了自己在Amazon EC2中使用
/var/www/html
的问题。非常感谢你!回答问题不是一种好的方式。应该为Web服务器用户正确设置。这在本地服务器上有所帮助。谢谢:D
sudo su

password: