我刚才在Ubuntu上安装了apache2,并注意到/ var / www文件夹受到保护。我sudo
什么都可以,但是我只想给它写访问权限。
我怎样才能做到这一点?
我试过了,sudo chmod 7777 /var/www
但是没有用。
我刚才在Ubuntu上安装了apache2,并注意到/ var / www文件夹受到保护。我sudo
什么都可以,但是我只想给它写访问权限。
我怎样才能做到这一点?
我试过了,sudo chmod 7777 /var/www
但是没有用。
Answers:
为了最好地与应该写信的多个用户共享,应该为/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 {} \;
如果您正在编辑自己帐户的权限,则可能必须注销然后重新登录才能进行更改。
sudo chmod -R g+w
,而不是g+rw
或g+rwX
?
有一种更简单的方法可以执行此命令。
sudo chmod -R 757 /var/www
本质上,该chmod
命令会更改权限,并且-R
切换会影响所有用户。然后,它只是给正确的使用权限。
chmod $permissions -R $file
是无效的…
sudo chmod -R 757 /var/www
您也可以使用访问控制列表复制jtimberman建议的内容。的setfacl的命令接受-s以替换现有的ACL或-M修改它; -R使目录ACL递归;和-d将指定的设置设为默认设置,如果您打算使用即将到来的用户帐户,这将非常有用。
这些只是使用chmod为用户,组,其他和掩码设置权限:
setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY
这可能是您要为指定用户或他/她的组执行的操作:
setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY
当然,优点是您可以指定任何特定用户,多个用户等,而无需修改组设置。与chmod不同,如果希望某些组可以访问一个目录,而其他组只能访问另一个目录,则可以使用setfacl来实现。最后,要查看目录的ACL,请运行getfacl:
getfacl DIRECTORY
您可以指定-R来查看子目录的ACL,或者-d来查看默认值。
快速简便的答案 -
一种。将(-a)您的用户(user_name)添加到组(-G)www-data中。
sudo usermod -a -G www-data user_name
b。给予组(克)相同(=)的权限的所有者用户(Û的)/无功/网络递归(-R)。
sudo chmod -R g=u /var/www
说明:Debian / Ubuntu上的Apache 2将User&Group www-data设置为/ var / www的所有者。用户的默认权限是“查看和修改内容”,但是组只能“查看内容”。因此,将自己添加到www-data组并为其赋予与wwww-data用户相同的权限,是一种快速而轻松的开发方法。我在所有本地(PC /笔记本电脑)Web开发环境中都这样做。
你可以试一下chmod 0777 /var/www
吗?
一个警告:如果让所有人都可以访问此文件夹,则意味着如果黑客获得了对系统的访问权限,他们就可以访问该文件夹。因此,最好创建一组允许的用户,并为该组提供写访问权限。
首先输入特定的文件夹路径,然后使用此命令…
chmod -R 777 foldername
chown username:username foldername