SHELL脚本切换用户需输入密码

2025年03月25日 20:53
有3个网友回答
网友(1):

先确认一下su -c 能否解决问题,语法 su - -c 以指定用户执行命令

[root@fw98 /]# whoami
root
[root@fw98 /]# su - mao -c whoami
mao
不能满足需求的话,可以用expect,我的环境上没有expect,不能帮你试了,大致是下面的感觉,详细你百度查一下
#!/usr/bin/expect
su - mao #你要执行的命令
expect "Password:" #执行后终端回显的交互信息
send "admin_123\r" #当终端出现上面的交互详细后,模拟键盘输入的内容
#此例,执行su - mao 切换mao用户,终端提示输入密码后,模拟键盘输入mao用户的密码

网友(2):

正常情况下,使用su - username的方式,普通用户切换都需要输入密码的,只有root su的时候才不需要

网友(3):

可以用expect