![Google Compute 上的 Ubuntu 16.04 - 具有 www 数据的用户权限](https://linux22.com/image/704277/Google%20Compute%20%E4%B8%8A%E7%9A%84%20Ubuntu%2016.04%20-%20%E5%85%B7%E6%9C%89%20www%20%E6%95%B0%E6%8D%AE%E7%9A%84%E7%94%A8%E6%88%B7%E6%9D%83%E9%99%90.png)
这个问题更多是关于 Linux 而不是 Google Compute Engine......但我似乎无法找到解决方案!
当我使用 SSH 密钥登录计算服务器时,我希望能够修改 www-data 组和用户拥有的文件。但我只能在运行此命令后才能修改文件sudo chown TJNevis:www-data -R /var/www
。然后我遇到了一些网站代码问题,它不喜欢权限不是 www-data:www-data,所以我发现我来回切换才能通过编辑文件SFTP
然后在网站上正常运行。这很烦人。
我读了很多关于这个问题的文章,也尝试了很多不同的命令,但似乎都不起作用。最有希望的是这个:
sudo adduser TJNevis www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rwX /var/www
但它对我来说仍然不起作用。
groups TJNevis
如果我运行该程序,我可以确认它是否www-data
会出现,所以我只是感到困惑,为什么如果没有我作为用户,我就不能通过 SFTP 编辑文件。
答案1
我刚刚跑了
sudo chown -R www-data:www-data /var/www
和
sudo chmod -R g+rwX /var/www
我已经确认 TJNevis 是 www-data 集团的一部分:
groups TJNevis
:
TJNevis adm dialout cdrom floppy audio dip www-data video plugdev netdev lxd ubuntu google-sudoers
然后我重新启动了。
同样的问题,当我使用 SSH 密钥通过 SFTP 登录时,我尝试修改一个文件,但得到了这个。
是不是因为我不在 sudoers 组或 root 组中?我不知道,但这让我很抓狂。
我想保留所有文件 www-data:www-data,因为如果不保留,我托管的网站上的一些脚本会崩溃 - 有些是第三方插件之类的......我不想进入并修改它们的代码只是为了用更新覆盖它。保存到磁盘后,我认为用户和组需要是 www-data,所以我真的想保留它。
我需要找到一种方法,让我可以用我的用户名进行 SFTP 并编辑文件,而不会对我大喊大叫 =)。