Linuxでいくつかのcliコマンドに対してパスワードのない設定を試みるのに問題があります。

Linuxでいくつかのcliコマンドに対してパスワードのない設定を試みるのに問題があります。

コンピュータ環境

オペレーティングシステム: Arch Linux - Manjaro

シェル:zsh

目的

次のコマンドをアクティブにしようとしています。パスワードは必要ありません私のデフォルトのユーザーアカウントの場合:ab

sudo systemctl stop NetworkManager
sudo systemctl start NetworkManager

失敗した試み

私はオンラインヘルプを読んでフォローしようとしましたが、sudo -i次のコードを使用してファイルを生成してこれを達成しました。/etc/sudoers.d/ab

ab ALL=(root) NOPASSWD: sudo systemctl stop NetworkManager
ALL=(root) NOPASSWD: sudo systemctl start NetworkManager

トラブルシューティングの試み

成功せずに次のような編集を試みました。

  • rootに変更ALL
  • systemctlに変更/bin/systemctl
  • 削除sudo

編集して保存するたびにcat /etc/sudoers.d/ab変更があることを確認し、常に新しい端末を開いてコマンドを試してください。毎回パスワードを求めている間、次の組み合わせを試してください。

sudo systemctl start NetworkManager
sudo /bin/systemctl start NetworkManager
systemctl start NetworkManager
/bin/systemctl start NetworkManager

質問

新しい端末を起動するだけで十分ですか、または変更を開始するためにシステム全体を再起動する必要がありますか?

それとも別のステップを忘れたのでしょうか?

ベストアンサー1

次の行は/etc/sudoers.d/abおそらく次のようになります。

ab ALL=(root) NOPASSWD: /bin/systemctl stop NetworkManager
ab ALL=(root) NOPASSWD: /bin/systemctl start NetworkManager

sudo一般ローカルに保存されている sudoers.d ファイル (LDAP サーバーに保存されている sudoers 情報ほど高度なファイルはありません) を使用すると、sudoers ファイルへのすべての変更はログアウト/ログイン、新しい端末の起動、または同様の操作を行うことなくすぐに適用されます。 。

sudo成功と失敗の試行は通常記録されているため、メッセージが存在するかどうか、そのログファイル(通常は展開に応じてまたは/var/log/secure)を確認する必要があります。これらのメッセージには、ユーザーがsudoersを介して実行したいコマンドが実行を許可するためにsudoersファイルに書き込む必要がある正確な形式で含まれています。/var/log/auth.logsudosudo

おすすめ記事