デフォルトでは、初めてログインしたときにインストール後にbashスクリプトをrootとして実行する事前に構築されたDebianインストールがあります。このスクリプトは、sudoグループのユーザーがsudoを使用するときにパスワードをオプションにするためにsudoerを編集する必要があります。
sed -i.bak 's/%sudo ALL=(ALL:ALL) ALL/%sudo ALL=(ALL) NOPASSWD:ALL/' /etc/sudoers
しかし、何か間違っているようです。ユーザーはsudoを使用するにはまだパスワードが必要です。簡単に言うと、すべてのユーザーが --disabled-password を使用して作成されるため、実際にはsudoを使用する人がいないことを意味します。はい、私はこれが理想的/正しい/インテリジェント/安全な方法ではないかもしれないことを知っていますが、それはまさにその方法です。
私が見つけなければならないのは何が間違っているかです。なぜ?スクリプトは使用するたびに動作し、いくつかのパッケージ更新などの他のコマンドを実行することは明らかです。ところで、/etc/sudoersを正しく編集しないのはなぜですか? sudoerを確認したり、ルートなしで編集が失敗した理由をどうやって知ることができますか?
ベストアンサー1
まあ、環境によって異なりますので、実際に推測することはできません。私のお金は/ etc / sudoersではなく、あなたが交換したい行にあるでしょう。 (少なくともではありません。正確に現われるように)。つまり、交換されないため、「NOPASSWD」に設定されません。
私の言葉は、あなたは特定の数の空白と特定の行形式に依存しています。
答えは、必要な値を使用して/etc/sudoers.d/にファイルを追加することです。それから(多分?)ユーザーとしてしなければならないsed
ターゲット行を削除するために使用される「sudo」を使用できます。 (そうしないと失敗します。戻りコードをテストできます。)