繁体   English   中英

使用sudo登录后运行bash whiptail脚本

[英]Run bash whiptail script after login with sudo

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

到目前为止,我所做的就是创建了一个使用我的Whicktail Shell脚本的用户:

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

我还使用visudouser1添加到sudoers中:

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...消息。

我要做什么是可能的? 有没有我没有考虑过的替代方法吗? 谢谢!

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

如果/scripts/whiptail3_config.sh不执行sudo,则它将没有权限。 您可以使脚本检查正在其下运行的uid并对其自身进行sudo。

就像是

#!/bin/bash
[ $UID != 0 ] && exec sudo $0 "$@"
# the rest of the script...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM