如何授予 Linux 中所有用户对文件夹的写访问权限?

如何授予 Linux 中所有用户对文件夹的写访问权限?

我刚刚在 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) 您的用户 (用户名) 到组 (-Gwww-数据

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 开发环境都这样做。

相关内容