su 选项(以另一个用户身份运行命令)

su 选项(以另一个用户身份运行命令)

你好 StackExchange 社区,
这篇文章涉及su 选项 - 以另一个用户身份运行命令(但是我还不能发表评论,因为我已经创建了一个个人资料来询问下面的这个具体问题)。

我想问以下问题(因为谷歌无法为我找到答案)。

我有一个命令,如下所示:
sudo su - usertwo -c 'mv /home/usertwo/file1.txt /home/usertwo/file2.txt'

上述命令由 执行userone
我希望该命令也出现在.bash_historyof 中usertwo

有没有办法可以将 userone 的 .bash_history 中的条目“转发”到 usertwo 中?

提前致谢!

答案1

更好的命令是

sudo -Hu usertwo mv file1.txt file2.txt

但在这种情况下或您的情况下,命令都不会以交互方式运行,因此usertwo它不会进入该用户帐户的.bash_history.

不过,您可以通过强制启用历史记录跟踪来创建一个(可怕的)解决方法:

sudo -Hu usertwo bash -c '
    set -o history; HISTFILE="$HOME/.bash_history"; history -n
    mv file1.txt file2.txt
'

相关内容