在我的 Amazon Lynux Debian 中。默认情况下,您会获得admin
用户,建议不要使用root
用户,而是使用sudo
命令,并且您必须遵循一系列步骤才能获得它。
当然,当我尝试将文件复制到时,/var/www
我收到一条被拒绝的权限消息,因为所有者是root
经过一番研究发现需要将权限改为 777
sudo chmod -R 777 www
drwxr-xr-x 4 root root 4096 Jun 7 2015 spool
drwxrwxrwt 2 root root 4096 Jun 7 2015 tmp
drwxrwxrwx 3 root root 4096 Sep 18 16:53 www
即使在解决我的问题时,我也知道 777 是什么意思... 所有者组和其他人的读写执行。我对 Lynux 不是很熟悉,因为我不仅仅是 Windows 用户。但我知道向所有人授予权限并不是解决权限问题的常用方法。
我读到另一个选项是将文件夹的所有权更改为admin
(必须研究如何操作)但我想知道为什么系统以 root 作为 www 文件夹的所有者来启动。
如果有帮助,现在我是该机器的唯一用户。
那么对于这种情况的最佳做法是什么?
答案1
可能的解决方案:
- 对于偶尔使用的情况,请使用
sudo cp
。 - 对于 Web 服务器来说,可能需要授予运行该服务器的 id(我的 Ubuntu 服务器上的 Apache 为 www-html)的永久写访问权限。
chown
授予该 Web 服务器是一个很好的解决方案,因为它比chmod 777
. 一般情况下,为了授予选定用户 ID 对目录文件的写权限,通常的方法是:
chown
将目录/文件添加到某个组中(该组可以已经存在,也可以使用 创建addgroup
)。chown owner:sharegroup {directory}
授予群组所需的访问权限
chmod g+rw {directory}
根据需要将用户添加到组:
usermod -a -G sharegroup