一般ユーザーとしてコマンドを実行するためにsudoにsetuidビットを割り当てることはできますか?
ユーザーテストを実行した後、次のことを行うとします。
test@test$ apt-get update
しかし、sudoを使用したりsudoersファイルを変更したくありません。 setuidビットだけを使用できますか?
ベストアンサー1
アカウントに権限がある場合はsudo
suid ビットを台無しにする必要はありません。以下では、Bash を対話型シェルとして想定しているため、使用する項目に応じて、手順 2 と 3 を変更する必要があります。
/etc/sudoersの最後に追加します。
USERNAME HOST_NAME = (root) NOPASSWD: /usr/bin/apt-get USERNAME HOST_NAME = (root) NOPASSWD: /usr/bin/shutdown
~/.bashrcに追加してください。
alias shutdown='sudo shutdown' alias apt-get='sudo apt-get'
現在のセッションの開始構成を再ロードします。
$ source ~/.bashrc
root / sudoのパスワードを求めるプロンプトは表示されず、通常のユーザーとしてコマンドを実行できるようになります(パスワードを知らなくても済みます)。
$ apt-get update $ apt-get upgrade $ shutdown -h now