GNU/Linux >> Linux の 問題 >  >> Ubuntu

CrontabスクリプトのSudoのパスワード要求を回避する方法は?

新しいユーザーがsudoを実行できるようにする必要があります このユーザーはcrontabにいるため、パスワードを要求する必要はありません。 .sh sudoを使用します 一部のコマンドの場合。

ubuntuサーバー16.04x64で新しいユーザーを作成しました

adduser my-user sudo
gpasswd -a my-user sudo

次に、visuoを使用します この質問に基づいて、この行を追加しました

my-user ALL=(ALL) NOPASSWD : ALL

その後、再起動しました

再起動後、my-userを使用してログインしました sudo clearを実行しようとしましたが、sudoパスワードを要求されます。

crontab -e my-userを使用してcrontabを追加しました したがって、スクリプトはmy-userとして実行されると思います。 。実際、crontabbedスクリプトがクラッシュし、ログにsudoについて通知されます。 パスワードの要求。 my-suerでファイルを作成できるようにするには、この方法でスクリプトを実行する必要があります。 所有者として。

いくつかの手順/行が不要かどうか、およびmy-userを有効にする方法を教えてください sudoを実行します パスワードリクエストなし。

ありがとう

PS:この質問を見ましたが、機能させることができないので、状況が異なるため、より正確な説明が必要です。crontabスクリプトを実行していて、sudoパスワードを要求しないようにする必要があります

承認された回答:

ルートのcrontabからプロセスを実行する場合があります 初期ファイルの所有権とrwxで問題が発生する可能性があります モード;それらは正しく保存されない可能性があります。

いずれにせよ:

1)新しいユーザーを作成するには、シンプルに保ちます:

 $ sudo deluser my-user  # if "my-user" is a regular user
 $ adduser my-user
 $ sudo gpasswd -a my-user sudo

2)NOPASSWDを含む新しいエントリを含める sudoersまたはファイル内のタグ(例:/etc/sudoers.d/60_my-user_rules )、コロンをタグに貼り付けます。つまり、 NOPASSWD:
スペースが点在しているので、これまで見たことがありません。年のルールは次のようになります。

 my-user my-host = NOPASSWD: /full/path/to/cmd [parameter1 [| parameter2 [| ...]]]

(ALL)を追加する NOPASSWD:の前 ルールのデフォルトは(ALL:ALL)であるため、オプションです。 とりあえず。ただし、root権限でcmd / scriptを実行するだけでなく、特定のユーザー(spec-user)として実行することもできます。 )または特定のグループのメンバーとして(spec-group ) または両方。その場合、ルールは次のようになります。

 my-user my-host = ([spec-user][:spec-group]) NOPASSWD: /full/path/to/cmd [parameter1 [| parameter2 [| ...]]]

これにより、実際には、パスワードなしのsudo処理が1人のユーザー、1つのホスト、および1つのコマンドに制限されます。そのコマンドにオプションのパラメーターを指定することで、このルールを強化できます。その場合、ルールはその/それらの正確なパラメータにのみ適用されます。
スクリプトの場合、スクリプトが変更されていない場合にのみルールが適用されるようにすることで、このルールをさらに強化できます。 。これは、スクリプトの乗っ取りを回避する方法です。これは、cmd-aliasingと/etc/sudoers.d/60_my-user_rulesでのSHA-sumの指定によって行われます。 。

HTH。その回答で問題が発生した場合は報告してください。

関連:iTunesなしで完全なiPhoneバックアップ?
Ubuntu
  1. sudoにパスワードを長く覚えさせる方法

  2. Sudoパスワードタイムアウトを変更する方法

  3. Debianでsudoのパスワードをリセットする方法

  1. Ubuntuのパスワード要件を削除する方法は??

  2. sudo に root パスワードを要求させるにはどうすればよいですか?

  3. sudo コマンドのパスを設定する方法

  1. UbuntuでSudoまたはRootパスワードを変更する方法

  2. Ubuntuのデフォルトのルートパスワードを検索/変更する方法

  3. sudoパスワードをリセットする方法