我刚刚在 Ubuntu 上安装了 apache2,发现 /var/www 文件夹受到保护。我可以执行sudo
所有操作,但我宁愿只授予其写权限。
我怎样才能做到这一点?
我试过了sudo chmod 7777 /var/www
,但是没用。
答案1
为了与能够写入的多个用户进行最佳共享/var/www
,应为其分配一个共同组。例如,Ubuntu 和 Debian 上 Web 内容的默认组是www-data
。确保所有需要写入权限的用户都/var/www
在此组中。
sudo usermod -a -G www-data <some_user>
然后在 /var/www 上设置正确的权限。
sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www
此外,您应将目录及其下的所有目录“设置 GID”,以便所有新的在其下创建的文件和目录/var/www
归该组所有www-data
。
sudo find /var/www -type d -exec chmod 2775 {} \;
查找所有文件/var/www
并添加所有者和组的读写权限:
sudo find /var/www -type f -exec chmod ug+rw {} \;
如果您正在编辑自己帐户的权限,则可能必须注销并重新登录才能进行更改。
答案2
读+写:
sudo chmod -R a+rw /var/www
读+写+执行:
sudo chmod -R a+rwx /var/www
答案3
有一个更简单的方法可以做到这一点,尝试执行此命令。
sudo chmod -R 757 /var/www
本质上,该chmod
命令会更改权限,并且-R
开关会递归应用于文件和目录。然后它只是提供正确的使用权限。
答案4
快速简便的答案-
a. 添加 (-A) 您的用户 (用户名) 到组 (-G)www-数据。
sudo usermod -a -G www-data user_name
b. 给予该组 (G) 相同 (=) 权限作为拥有用户 (你) 的/var/www递归地(-R)。
sudo chmod -R g=u /var/www
说明:Debian/Ubuntu 上的 Apache 2 设置用户和组www-数据作为/var/www。用户的默认权限是“查看和修改内容”,但组只能“查看内容”。因此,将自己添加到 www-data 组并赋予其与 wwww-data 用户相同的权限是一种快速简便的开发方式。我对我的所有本地主机(PC/笔记本电脑)Web 开发环境都这样做。