如何直接 su 到用户登录 shell

如何直接 su 到用户登录 shell

我每天都会做很多次以下的事情

我通过 ssh 登录到服务器user1
然后我执行su -成为root
然后我执行su --login user2成为user2

有没有办法直接从知道su前往?user2user1

笔记:
user21没有密码。 user2在不同时间命名不同。(apache,liferay,solr,ftp,...)

笔记2:
user1不受信任,sudo它是一个主要用于访问日志的通用帐户。它甚至没有密码,只能通过 sshkey 授予访问权限。

注3:
没有解决方案意味着任何允许修改远程计算机。我管理着 30 多台服务器。

1如果您好奇的话,应用程序以何种用户身份运行(tomcat、apache、jetty 或类似)

答案1

这将起作用:

su -c "su - user2"

答案2

您可以使用“sudo”代替“su”。

允许用户 1 以用户 2 的身份运行 shell 命令(/bin/bash?)(在 sudoers 文件中 - 使用 编辑visudo):

user1 ALL=user2 /bin/bash

然后你可以(以用户 1 的身份)执行以下操作:

$ sudo -u user2 /bin/bash

答案3

我确信你可以做到:

sudo su user2

您所做的就是转到 root 以获得访问该帐户的权限,您可以跳过一个步骤,但仍然需要提供 root 凭据。

相关内容