我正在使用与大约 7 个人共享的服务器。我们每个人都有自己的用户帐户,但他们无权访问我们需要的大部分内容,因此除了用于身份验证之外,它们基本上毫无用处。
相反,我们使用 sudo 成为不同的用户(称为“dev”)。开发帐户由团队中的每个人以及来自不同团队的其他一些人共享。考虑到这是我们可以访问的唯一具有足够权限来实际工作的帐户,不得不共享它是非常令人沮丧的。
我在 dev 的主目录下有自己的目录。我想要做的是能够打开一个新的 shell 会话,并将我的子目录作为主目录,并从我的子目录而不是开发人员的主目录中获取源点文件。这样我就可以拥有自己的设置(.bashrc、.vimrc 等),当我按下时我不会挖掘其他人的 .bash_history,他们也不会挖掘我的。
我知道我可以通过更改 HOME 目录和根据需要获取点文件来伪造它,但是我想要一种在我对共享帐户执行 sudo 时自动执行此操作的方法,例如:(这不能按原样
sudo -ui dev HOME=/users/dev/me bash
工作). 有没有办法做到这一点?
我知道“正确”的解决方案是首先不使用共享帐户,并为每个用户的帐户授予适当的权限,但服务器由一家单独的公司拥有和运营,他们的系统管理员一直反对建议的更改我们的组。我们实际上曾经有更多的访问权限和可用的工具,但是当他们发现我们在做他们不想让我们做的事情时,它就被剥夺了(没有违反合同,甚至不寻常 - 系统管理员只是小气)
它不像我想要的那样自动,但这是我想出的:
rehome.sh:
这使得 vim 和我启动的其他程序可以使用我目录中的点文件而不是开发人员的点文件,并为我提供我自己的 shell 历史记录,这样我就不必滚动浏览团队的其他人,他们也不必看到我的.