she*_*hea 10 permissions apache2 www user-management
我在 Digital Ocean 上运行 Ubuntu 14.04.1 LTS 服务器。我正在尝试这样做,以便我可以/srv/www从我的普通用户帐户中编辑文件,而无需成为 root。
目前,/srv/www归www-data:www-data:
sudo chown -R www-data:www-data /srv/www
Run Code Online (Sandbox Code Playgroud)
我还将所有文件的权限设置为664,并将目录的权限设置为755:
sudo find /srv/www/ -type f -exec sudo chmod 644 {} \;
sudo find /srv/www/ -type d -exec sudo chmod 755 {} \;
Run Code Online (Sandbox Code Playgroud)
我将我的用户 , 添加shea到www-data组中:
sudo adduser shea www-data
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试时touch /srv/www/foo,我收到以下错误:
touch: cannot touch ‘/srv/www/foo’: Permission denied
Run Code Online (Sandbox Code Playgroud)
如果我sudo在该命令前面添加它就可以正常工作,但我宁愿不一直这样做;另外它不能通过 SFTP 工作。
将所有者更改为shea:www-data允许我写入文件,但 WordPress 无法更新插件和主题。
sudo chown -R shea:www-data /srv/www
Run Code Online (Sandbox Code Playgroud)
反正是www-data和shea用户都有访问/srv/www?我的印象是将两个用户添加到一个组中会成功,但我似乎无法让它工作。
小智 17
您正在设置 644,这是组读,而不是写!
sudo chown -R www-data:www-data /srv/www
sudo chmod -R g+w /srv/www
Run Code Online (Sandbox Code Playgroud)
小智 11
我在 DigitalOcean 上运行 16.04 时遇到了类似的问题。以下是我遵循的步骤:
授予与下文件关联的组的写访问权限 /var/www/html
sudo find /srv/www/ -type f -exec sudo chmod 664 {} \;
Run Code Online (Sandbox Code Playgroud)添加myuser到www-data组:
sudo adduser myuser www-data
Run Code Online (Sandbox Code Playgroud)确认权限,例如:
ls -la /var/www/html/wp-content/themes/responsive/style.css
Run Code Online (Sandbox Code Playgroud)
给
-rw-rw-r-- www-data www-data 3892 Jan 1 2017 style.css
Run Code Online (Sandbox Code Playgroud)确认组成员身份:id myuser给出
uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),33(www-data),110*lxd)
Run Code Online (Sandbox Code Playgroud)但是,当我尝试在style.css不sudo使用我的myuser帐户的情况下进行更新时,出现permission denied错误。
myuser在新权限开始生效之前,我必须注销并重新登录所有已登录的会话。不知道为什么,但希望这可以帮助其他处于类似情况的人。
| 归档时间: |
|
| 查看次数: |
12801 次 |
| 最近记录: |