sudoers ファイルにエイリアスを挿入する

sudoers ファイルにエイリアスを挿入する

myuserのエイリアスを作成しました。

alias up='sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove'

ユーザーのフォルダに保存されます。.bashrc文書。 sudoersファイルを修正して、最後に次の行を挿入してみました。

myuser ALL=(ALL) NOPASSWD: up

visudoしかし、構文エラーが発生します。ルートパスワードなしでエイリアスを実行するにはどうすればよいですか?

答え1

パスワードなしですべてのsudoコマンドを実行したい場合はそれを使用できます。

myuser ALL=(ALL) NOPASSWD:ALL

いくつかのコマンドに制限する場合は、この機能を使用できます。

myuser ALL=(ALL) NOPASSWD: /usr/bin/apt,/usr/bin/command

答え2

:up はファイルパスではなくエイリアスなので動作しないようです。エイリアスは、実行前にシェルによってキャプチャされ拡張されます。

必要な動作を得るには、次のものを使用する必要があります。

myuser ALL=(ALL) NOPASSWD: /usr/bin/apt

(APTの正しいパスであることをもう一度確認してください。現在、適切なベースディストリビューションがありません。)

しかし、あなたがやろうとしているのは、少なくとも「sudo apt -y autoremove」を省略しないと発生するのを待つ災害です。自動削除は慎重に使用する必要があり、削除する予定の項目が何であるかを確認する必要があります。時には、必要なパッケージを削除してシステムを混乱させることができるからです(難しい方法で学びました)。

関連情報