我每天都会做很多次以下的事情
我通过 ssh 登录到服务器
user1
,
然后我执行su -
成为root
,
然后我执行su --login user2
成为user2
有没有办法直接从知道su
前往?user2
user1
笔记:
user2
1没有密码。 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 凭据。