我有一个Java应用程序,当无头计算机(Ubuntu14.04Server)启动并以用户身份运行时,它会自动启动。当应用程序完成后,我需要它执行一个脚本来关闭电源,因为一个外部断路器即将被抛出,这将切断电源。
如果在下一次引导时检测到关机错误,我不能允许挂起。
我编写脚本的尝试都会导致对超级用户密码的请求。我可以接受密码在文字中出现在脚本中,因为机器是与互联网隔离的。
我不精通bash或Linux。
脚本权限:
$ ls -la shutdown
-rwsr-xr-x 1 root root 209 Mar 18 16:55 shutdown发布于 2015-03-20 16:50:59
有多种方法可以做到这一点。最简单,也是最糟糕的,是按照您的建议在脚本中使用密码。由于您的计算机没有连接到internet,所以大多数安全问题都是没有意义的,因此您可以使用sudo's -S选项,该选项允许从STDIN传递密码:
echo password | sudo -S shutdown -h now一种更安全的方法是允许特定用户在没有密码的情况下运行shutdown命令。首先,运行visudo编辑sudoers文件并添加以下行:
nate ALL=NOPASSWD:/sbin/shutdown这将允许用户nate在不请求密码的情况下运行sudo /sbin/shutdown。
https://unix.stackexchange.com/questions/191483
复制相似问题