我在 AWS 上有一个 ec2 实例,其中已经安装了一些 Wordpress-es。我想设置一些东西,让更多人处理他们自己的项目,如果我仍然想的话,我也可以使用终端进入服务器。
我一直在关注
如何在 Ubuntu 上设置受限 SFTP 服务器?和其他一些人。我想他们都只是教用户如何sftp
进入他们自己的主文件夹,这些步骤也一直在说addUser
,但一些用户已经存在,删除它们可能会导致一些问题。
如何授予现有用户将 SFTP 用于 Wordpress 项目的权限?
假设我所有的 Wordpress 项目都已经在/var/www/
其中设置了www-data:www-data
.
设置这样的东西真的很新。
提前感谢您的帮助。
更新:最近我已将此答案转换为有用的脚本,并开始广泛使用它与 VSCode 及其 SSH 功能。该脚本现在在 GitHub 上可用:bindfs-to-home-bash。
在这里,我假设您能够成功 ssh/sftp 到您用户的主目录,并且您希望(与您的用户一起)编辑和-
/var/www
拥有的文件和文件夹(不更改其所有权)。user
:group
www-data:www-data
在这里,我还假设主题如何在 /var/www 中工作时避免使用 sudo?不能满足你的需要。例如,您不想更改
/var/www
.我认为解决此任务的最简单和最清晰的方法是将
/var/www
(或其中的某个目录)挂载到用户的主目录并将所有者更改为您的用户和:组。这可以通过以下工具来实现bindfs
:在这里,我们将把整个目录挂载到
/var/www
一个名为 also的目录中,该目录www/
位于您用户的主目录中。命令替换
$(id -u)
并将$(id -g)
返回当前用户的 UID 和 GID。如果您想为其他用户执行上述命令,请使用
$(id -u <user>)
and$(id -g <user>)
。<user>
实际用户名在哪里。有关使用的参数的更多详细信息,
bindfs
请阅读其手册页 -man bindfs
。如果要卸载
~/www
($HOME/www
),请使用以下命令:要在系统启动期间自动挂载
/var/www
,~/www
请将以下行添加到底部/etc/fstab
:注意:您应该替换
<user>
为实际用户名;也应该用 的实际 UID 和 GID替换<uid>
和,您可以通过命令找到它们:和.<gid>
<user>
id -u <user>
id -u <user>
要查看结果,请重新启动系统或执行:
这是动画演示这是如何工作的:
我发现这种方法的唯一限制是当您更改绑定目录的所有权时,这也会更改源目录的所有权。例如下一个命令不是一个好主意:
也许该命令有一个合适的选项
bindfs
可以防止这种情况发生,但我目前无法确定。笔记:
SOS 目录噩梦 - 一个目录可能有两个具有完全访问权限的不同用户吗?
“ls -ld /tmp”的输出中的“t”字母是什么?
如何将 www-data 用户提供给我的主文件夹中的文件夹?
/var/www/html 和我自己的网站文档根目录的权限问题