Linux Mint:パスワードを入力せずにショートカットを介してroot権限でスクリプトを実行するには?

Linux Mint:パスワードを入力せずにショートカットを介してroot権限でスクリプトを実行するには?

私はLinux Mint 20を使用しており、ショートカットを使用してroot権限でスクリプトを実行したいと思います。ルートパスワードを入力せずにこれを実行したいと思います。そのために、/etc/sudoers.dにスクリプトを登録しました。

/etc/sudoers.d/myscript

username ALL=(ALL) NOPASSWD: /home/xoric/scripts/myscript.sh

テスト目的で、このスクリプトは2つのフォルダのみを生成します。最初にはroot権限が必要ですが、2番目には必要ありません。

/home/xoric/scripts/myscript.sh

#!/bin/bash
mkdir /etc/test1          #requires root
mkdir /home/xoric/test2   #does not require root

次に、このスクリプトを実行するカスタムショートカットキーを作成します。 Ctrl+Alt+W キーの組み合わせを登録しました。


最初の試み

/コマンド:/home/xoric/scripts/myscript.sh

これはテスト目的にのみ使用されます。 Ctrl + Alt + Wを押すと、2番目のフォルダが作成されます。最初のフォルダは作成されません(root権限が必要です)。これは、root権限なしでスクリプトを実行しているために予想される現象です。


2回目の試み

コマンド: sudo /home/xoric/scripts/myscript.sh

Ctrl+Alt+W を押しても何も起こりません。両方のフォルダは作成されません。つまり、スクリプトは実行されません。私の期待は、スクリプトがroot権限で実行され、パスワードプロンプトなしで実行されることです(sudoers.dに登録されているため)。しかし、これは事実ではありません。


3回目の試み

コマンド: gnome-terminal -e "sudo /home/xoric/scripts/myscript.sh"

Ctrl+Alt+W を押すと端末が開き、root パスワードを入力します。これによりスクリプトが実行され、2つのフォルダが作成されます。これが私が達成したいものですが、パスワードを入力せずにすることです。


Linux(Mint)を知っている人のうち、2番目の試みがなぜ機能しないのかをよく知っている人はいますか? Linux Mintはroot権限のショートカットを許可しませんか?それとも、sudoers.dにスクリプトを登録するときに間違いを犯しましたか?よろしくお願いします。

答え1

友達の助けを借りてついに問題を見つけました。 sudoers.dの私のエントリが破損しています。実際には、実際のユーザー名「xoric」の代わりに「username」という文字列が含まれています。これは一般的なコピーと貼り付けエラーです。

そのエントリを修正した後、2回目の試みは正しく機能しました。 Ctrl + Alt + Wを押すと2つのフォルダが作成されます(スクリプトはroot権限で実行され、パスワードプロンプトは必要ありません)。

関連情報