在 PHP 的 Web 应用 LAMP 中,我们使用共同所有权:所有文件均归用户 webmaster 和组 www-data 所有。用户 webmaster 拥有完全访问权限,www-data(由 apache 使用)大部分为只读。多个管理员/开发人员通过同一用户(webmaster)的 SSH 连接到此服务器。
我想要的是允许多个开发人员通过 SSH 登录到用户 webmaster 到交互式 shell,但有他们自己的定制启动脚本。
可能的解决方案:
- 修改 .profile/.bashrc 以识别不同的远程用户。但我不知道该怎么做,我不能使用更多用户 IP(我们经常在家工作)。
- 使用 ssh 的方式是在远程服务器上打开交互式 shell,然后在这个 shell 中调用远程服务器上的特定命令。如果可以在 .ssh/.config 中配置就更好了,这样命令行仍然很简单
ssh myserveralias
。但我也不知道该怎么做。
答案1
我认为你应该做的是:
- 让所有网络文件归真实所有者所有,每个特定用户都有唯一的所有者。
我会将每个用户的公钥“command=/foo user1”字符串放入 ~webuser/.ssh/authorized_keys 中,其中 user1 是他的真实用户名。命令“/foo”将运行一些命令,如配置中所述,您将为 user1 定义运行该命令或该命令...
无论如何,使用 sudo 和良好的所有权并让您的用户使用用户自己的登录名登录不是更好的设置吗?
答案2
我找到的解决方案:使用 SSH 选项发送环境变量在客户端加接受环境在服务器上传递给服务器例如本地用户名变量。然后修改服务器上的 .profile/.bashrc 以使用此变量来修改行为。