我有两个用户。每个用户都有一个项目。
问题:
我需要同时处理这两个项目,但我总是必须登录另一个用户才能进行更改,否则我没有权限。
我已将该项目拆分给两个用户,因为我需要为这两个用户设置另一组别名。这两个项目都使用不同的 PHP 版本运行,别名需要引用正确的版本。别名用于项目特定的 CLI 命令。
题:
有没有办法让用户 A 拥有对用户 B 的完全访问权限,反之亦然?
我有两个用户。每个用户都有一个项目。
我需要同时处理这两个项目,但我总是必须登录另一个用户才能进行更改,否则我没有权限。
我已将该项目拆分给两个用户,因为我需要为这两个用户设置另一组别名。这两个项目都使用不同的 PHP 版本运行,别名需要引用正确的版本。别名用于项目特定的 CLI 命令。
有没有办法让用户 A 拥有对用户 B 的完全访问权限,反之亦然?
如果您确实既是用户 A 又是用户 B(即两个帐户可以完全信任另一个),您可以
sudo
在它们之间切换。如果您将别名和其他定义放入您的登录/启动脚本中.bash_profile
,或者.bashrc
您甚至可以让它们在您切换时自动运行。您可以这样设置,使用户 A 和用户 B 都没有 root 权限,而只有足够的权限来切换到另一个帐户。
打开根 shell (
sudo -s
)。在您更改配置并且知道它会sudo
继续为您提供 root 访问权限之前,不要关闭它。使用
visudo
(或者EDITOR=nano visudo
如果您不喜欢vi
)并在文件底部附近添加一行,测试您是否可以
sudo
往返。usera
userb
测试您是否仍然可以按照用于实现步骤 1 的方式获得 root 访问权限。
在评论中,您注意到您已经做了类似的事情,但希望能够使用任一用户帐户并直接写入其他用户的目录树。
通常我根本不推荐这样做,特别是如果您对每个用户的开发环境都有不同的配置。特别是因为看起来他们可能是不同的客户。但是,如果您真的希望能够做到这一点,您可以将两个用户放入同一组并确保创建的文件具有组写入权限。
准备:
您可能希望减少
*
两个命令中的通配符find
以仅匹配适当的目录树。在每个会话开始时调用它(可能
~/.bashrc
在您的配置设置脚本中):您可能会发现,每小时或在登录时运行这两个
find
命令的每个用户变体很有用。cron
请注意,这不会将用户的主要组更改为
bothusers
。您可以newgrp bothusers
在当前会话中使用它 - 但请注意它会启动一个新的子 shell。