【发布时间】:2015-06-29 21:10:51
【问题描述】:
如何使用 su(没有 sudo 和除外)在 shell 脚本中传递密码? 我试过 echo "password" | su root -c 。但是没有用。
【问题讨论】:
-
你疯了吗? 永远不要将 root 密码放在脚本中(或者在命令中使用它,就像它在
history文件中捕获的那样)。那只是自找麻烦。在没有密码的情况下su或sudo成为root 用户的正确方法是让自己成为wheel组的成员,然后su成为root 用户(提供密码),编辑sudo configvisudo并添加以下内容最后一行%wheel ALL = (ALL) NOPASSWD:ALL。然后你和wheel组的所有成员可以su或sudo而不会被提示输入密码。 -
为什么会被否决?除了提出会暴露 root 密码的解决方案的策略错误之外,这是一个关于如何将密码通过管道传输到
su实用程序的好问题。 -
A near-identical question on AskUbuntu 获得了 12 个赞和两个体面的赞的答案。
-
另外,stackoverflow.com/questions/233217/… 几乎是重复的,但没有一个赞成的答案专门解决将密码传递给
su的问题(仅sudo和ssh)。