"sudo -S"命令可以从字符串或者文本文件中获取,可以从echo结果中获取,而不用在像在终端上需要等待手动输入密码。
这种方法并不推荐,因为密码会暴露。
以下实验中,用户user1有sudo权限,密码是abcdef。
输入错误密码,无法执行mount:
$ echo 123456 |sudo -S mount system.img mp
[sudo] user1 的密码: 对不起,请重试。
[sudo] user1 的密码:
sudo: 1 次错误密码尝试
输入正确密码,可以执行mount:
$ echo abcdef |sudo -S mount system.img mp
[sudo] user1 的密码:
此时仍然是普通用户user1,umount是没有权限的:
$ umount mp
umount: .../mp: umount failed: 不允许的操作
$ echo 123456|sudo -S umount mp
可以执行umount。
结论:
1. sudo -S确实可以不用等待输入密码。
2. 同一个终端,sudo只要第一次密码正确,后面在有效期内,sudo -S的密码错误也可以。