私はWhittailを使用してユーザーがログインした後に自動的に起動したい仮想マシン構成スクリプトを生成しています。問題は、ユーザーがrootになることを望まないが、ホスト名、IPアドレスを変更し、ディレクトリを追加するなどの操作を実行するには、ユーザーがrootになる必要があるためです。スクリプトが実際に操作を実行するには、sudo 権限が必要です。
これまでに私がしたことは、Whittailシェルスクリプトを使用するユーザーを作成することです:
adduser -M -s /scripts/whiptail_config.sh user1
私もuser1
次のように追加しましたsudoers
。visudo
user1 ALL=(root) NOPASSWD: /scripts/whiptail3_config.sh
/etc/init/tty1.conf
このユーザーを自動的にログインするように変更しました。
exec /sbin/getty -8 38400 tty1 -a user1
これまで、私のwhiptail_config.sh
シェルスクリプトは起動および強制ログイン後に正常にロードされました。ただし、実際にはsudoアクセスを必要とするスクリプト内のすべてのエントリはエラーとメッセージを生成しますPermission denied...
。
私がしたいことが可能なことですか?考慮していないが、考慮すべき代替手段はありますか?ありがとうございます!
答え1
/scripts/whiptail3_config.sh
もしなければするasudo
の場合、権限がありません。スクリプトの確認ができますUIDそれはその下で実行され、sudos自体を実行します。
それはまるで
#!/bin/bash
[ $UID != 0 ] && exec sudo $0 "$@"
# the rest of the script...