[英]Run bash whiptail script after login with sudo
我正在使用whiptail创建一个虚拟机配置脚本,该脚本希望在用户登录后自动启动。问题是,我不想让该用户成为root用户,但是因为该用户需要能够更改主机名,IP地址,添加目录等内容。它们将需要sudo特权才能使脚本真正完成其工作。
到目前为止,我所做的就是创建了一个使用我的Whicktail Shell脚本的用户:
adduser -M -s /scripts/whiptail_config.sh user1
我还使用visudo
将user1
添加到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.