Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用sudo su-user登录到新用户后,命令将不会传递到CLI_Linux_Bash_Shell_Ssh_Scripting - Fatal编程技术网

Linux 使用sudo su-user登录到新用户后,命令将不会传递到CLI

Linux 使用sudo su-user登录到新用户后,命令将不会传递到CLI,linux,bash,shell,ssh,scripting,Linux,Bash,Shell,Ssh,Scripting,强制性的“第一个帖子”标签问题:输入asudo su-userB的密码后,命令将不会传递到命令行 我正在用bash编写一个脚本,它需要作为特定用户运行。理想情况下,我们希望此脚本能够在本地工作站上运行,以便于使用。下面是我正在运行以测试的命令: ssh -qt -p22 userA@hostname "whoami; sudo su - userB; whoami" Expected: userA [sudo] password for userA: userB 有了这个命令,我可以得到提示

强制性的“第一个帖子”标签问题:输入a
sudo su-userB的密码后,命令将不会传递到命令行

我正在用bash编写一个脚本,它需要作为特定用户运行。理想情况下,我们希望此脚本能够在本地工作站上运行,以便于使用。下面是我正在运行以测试的命令:

ssh -qt -p22 userA@hostname "whoami; sudo su - userB; whoami"

Expected:
userA
[sudo] password for userA:
userB
有了这个命令,我可以得到提示输入sudo密码,但一旦输入,我就会看到一个正常的终端,在那里我可以手动运行命令。一旦我按下ctrl-D/exit键,它将作为userA运行第二个whoami并关闭。我在一个非常封闭的环境中工作,因此sudo su-c和类似的“以root身份运行”命令不起作用,并且我无法直接用ssh连接到userB


是否可以通过使用
sudo su-userB
登录将命令发送给userB?

su
创建默认情况下从标准输入读取命令的子shell。退出后,它执行
whoami
。您可以使用
-c
选项向其传递命令

ssh -qt -p22 userA@hostname "whoami; sudo su - userB -c 'whoami'"
您也可以使用
-u
选项来
sudo
,而不是使用
su

ssh -qt -p22 userA@hostname "whoami; sudo -u userB whoami"

su
创建默认情况下从标准输入读取命令的子shell。退出后,它执行
whoami
。您可以使用
-c
选项向其传递命令

ssh -qt -p22 userA@hostname "whoami; sudo su - userB -c 'whoami'"
您也可以使用
-u
选项来
sudo
,而不是使用
su

ssh -qt -p22 userA@hostname "whoami; sudo -u userB whoami"

显示的第一个选项看起来仍然尝试以“root”身份运行。第二个选项更接近,但我认为环境太过封闭,无法按预期运行脚本。我们可能需要获得新的权限或访问权限。谢谢你提供的信息。我刚刚试用了第一个版本,它工作正常。我以前不小心在那里有
-u
,现在试试。现在仍然没有运气。以root用户身份运行在此系统上不起作用:
对不起,不允许用户userA以root用户身份在主机上执行“/usr/bin/su-userB-c whoami”。
非常奇怪,他们允许用户a运行
su
,这允许用户a运行任何命令,但不要让它直接运行命令,它们有很重的安全策略,按照我所看到的,这些策略是以奇怪的方式分层的。我不是粉丝,但我得赶时间。我将不得不找出其他方法来收集我们需要的数据。第一个选项看起来仍然试图以“root”身份运行。第二个选项更接近,但我认为环境太过封闭,无法按预期运行脚本。我们可能需要获得新的权限或访问权限。谢谢你提供的信息。我刚刚试用了第一个版本,它工作正常。我以前不小心在那里有
-u
,现在试试。现在仍然没有运气。以root用户身份运行在此系统上不起作用:
对不起,不允许用户userA以root用户身份在主机上执行“/usr/bin/su-userB-c whoami”。
非常奇怪,他们允许用户a运行
su
,这允许用户a运行任何命令,但不要让它直接运行命令,它们有很重的安全策略,按照我所看到的,这些策略是以奇怪的方式分层的。我不是粉丝,但我得赶时间。我必须想出其他方法来收集我们需要的数据。实际上没有“强制性的第一个帖子标签”,事实恰恰相反;)实际上没有“强制性的第一个帖子标签”,事实恰恰相反;)