sudoなしで一般ユーザーとしてコマンドを実行するには?

sudoなしで一般ユーザーとしてコマンドを実行するには?

一般ユーザーとしてコマンドを実行するためにsudoにsetuidビットを割り当てることはできますか?

ユーザーテストを実行した後、次のことを行うとします。

test@test$ apt-get update

しかし、sudoを使用したりsudoersファイルを変更したくありません。 setuidビットだけを使用できますか?

ベストアンサー1

アカウントに権限がある場合はsudosuid ビットを台無しにする必要はありません。以下では、Bash を対話型シェルとして想定しているため、使用する項目に応じて、手順 2 と 3 を変更する必要があります。


  1. /etc/sudoersの最後に追加します。

    USERNAME HOST_NAME = (root) NOPASSWD: /usr/bin/apt-get
    USERNAME HOST_NAME = (root) NOPASSWD: /usr/bin/shutdown
    
  2. ~/.bashrcに追加してください。

    alias shutdown='sudo shutdown'
    alias apt-get='sudo apt-get'
    
  3. 現在のセッションの開始構成を再ロードします。

    $ source ~/.bashrc
    
  4. root / sudoのパスワードを求めるプロンプトは表示されず、通常のユーザーとしてコマンドを実行できるようになります(パスワードを知らなくても済みます)。

    $ apt-get update
    $ apt-get upgrade
    $ shutdown -h now
    

おすすめ記事