alv*_*vas 17 password su username
我可以做一个su,su <username>它会询问我的密码。是否有密码参数以便su我不会被提示输入密码?
例如 su <username> -p <password>
Bri*_*ian 14
如果你想编写一个以不同用户身份运行的脚本,这样的工作是可行的,尽管它会输出没有换行符的单词“password”到标准输出
su - username <<!
enterpasswordhere
enter commands to run as the new user
!
Run Code Online (Sandbox Code Playgroud)
如果您有一个名为 fred 且密码为 1234 的用户,并且想要获取 fred 主目录的 ls 作为 fred,而没有显示密码字符串,则它看起来像
su - fred <<! >/dev/null 2>&1
1234
whoami > /dev/tty
ls > /dev/tty
!
Run Code Online (Sandbox Code Playgroud)
我相信,没有,这也不是一个好主意。原因如下:
如果您在类似 的命令中编写密码su <username> -p <password>,它将以纯文本形式存储在您的 bash 历史记录中。这当然是一个巨大的安全问题。
如果您需要以自动方式使用su(或sudo)运行命令,请编写一个包含没有su或的命令的 shellscriptsudo并运行su <username> script.sh