用sudo登录后运行bash whiptail脚本

时间:2016-08-09 19:19:05

标签: linux bash shell ubuntu sudo

我使用我希望在用户登录后自动启动的whiptail创建虚拟机配置脚本。问题是,我不希望用户成为root用户但是,因为用户需要能够更改主机名,IP地址,添加目录等内容,所以他们需要sudo权限才能让脚本真正完成它的工作。

我到目前为止所做的是创建了一个使用我的whiptail shell脚本的用户:

adduser -M -s /scripts/whiptail_config.sh user1

我还使用user1sudoers添加到visudo

user1 ALL=(root) NOPASSWD: /scripts/whiptail3_config.sh

我已将/etc/init/tty1.conf更改为自动将该用户登录到:

exec /sbin/getty -8 38400 tty1 -a user1 

到目前为止,我的whiptail_config.sh shell脚本在启动和强制登录后加载正常。但是,任何实际需要在脚本中进行sudo访问的内容都会错误地显示Permission denied...消息。

我期待做什么?有没有我考虑过并且应该考虑的替代方案?谢谢!

2 个答案:

答案 0 :(得分:0)

你在哪里使用sudo?无处。 直接从inittab运行脚本。

答案 1 :(得分:0)

如果/scripts/whiptail3_config.sh没有做sudo,那么它就没有权限。你可以让脚本检查它运行的uid和sudo自己。

这样的东西
#!/bin/bash
[ $UID != 0 ] && exec sudo $0 "$@"
# the rest of the script...
相关问题