如何在linux中给所有用户提供文件夹的写入权限?
我刚才在Ubuntu上安装了apache2,发现/var/www文件夹被保护了。我可以只用sudo
所有的东西,但我宁愿只给它写权限。
我该怎么做呢?
我试过sudo chmod 7777 /var/www
,但没有用。
我刚才在Ubuntu上安装了apache2,发现/var/www文件夹被保护了。我可以只用sudo
所有的东西,但我宁愿只给它写权限。
我该怎么做呢?
我试过sudo chmod 7777 /var/www
,但没有用。
为了最好地与多个用户共享,而这些用户应该能够在/var/www
中写入内容,应该给它分配一个共同的组。例如,Ubuntu和Debian上的Web内容的默认组是www-data
。
sudo usermod -a -G www-data <some_user>
sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www
然后在 /var/www 上设置正确的权限。
sudo find /var/www -type d -exec chmod 2775 {} \;
sudo find /var/www -type f -exec chmod ug+rw {} \;
找到/var/www
中的所有文件,并添加所有者和组的读写权限:
&001
如果是为自己的账户编辑权限,可能需要注销后再登录才能进行修改。
有一个更简单的方法,可以尝试做这个命令。
sudo chmod -R 757 /var/www
从本质上来说,chmod
命令改变了权限,-R
的切换会影响到所有用户。那么它就是简单的赋予了正确的使用权限。
你也可以复制jtimberman建议的访问控制列表。设置访问控制列表](http://linux.about.com/library/cmd/blcmdl1_setfacl.htm)命令可以接受-s来替换现有的ACL,或者-m来修改它;-R来使目录ACL递归;-d来使指定的设置成为默认设置,如果你预计到即将到来的用户账户,这很有用。
这些只是设置了用户、组、其他和掩码的权限,就像你使用chmod设置用户、组、其他和掩码一样:
setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY
当然,它的优点是你可以指定任何特定的用户、多个用户等。当然,你可以指定任何特定的用户、多个用户等,而不需要修改你的组设置。而且与chmod不同的是,如果你想让一些群组用户访问一个目录,而其他的群组用户只能访问另一个目录,其实用setfacl就可以做到。最后,要查看一个目录的ACL,请运行 getfacl :
setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY
。
你可以试试 chmod 0777 /var/www
吗?
警告:如果你让每个人都访问这个文件夹,那就意味着黑客可以访问这个文件夹,如果他们进入你的系统。这就是为什么最好创建一个允许的用户组,并给予该组写权限。