特定のユーザーとグループを使用してXを使用してGUIアプリケーションを自動的に起動します。

特定のユーザーとグループを使用してXを使用してGUIアプリケーションを自動的に起動します。

Xを使用して特定のユーザーとグループから特定のプログラムを自動的に起動したい場合に使用する最善の方法は何ですか?

私のプログラムはGUIを持っているので、systemdを使うことはできません。

sudoパスワードを要求せずにXを自動的に起動したいです。

sudo -H -u $USER bash -c "newgrp $GROUP && /bin/command"

ほぼ終わりました。ただし、sudoパスワードを入力する必要があります。

ベストアンサー1

sudoデフォルトグループはオプションを使用して設定できるため、-g使用する必要はありません。ユーザーがパスワードなしですべてのユーザーとして実行できるようにnewgrp構成することもできます。sudo/bin/command

たとえば、次のように追加します/etc/sudoers(実行いいえファイルを直接編集してください。使用visudo。 sudoers ファイル全体を無効にする構文エラーが発生しないように、変更の完全性チェックを実行します。それでも論理エラーが発生する可能性がありますが、/ etc / sudoerssudoがまったく利用できないポイントまで損傷することはありません。

username ALL = (ALL) NOPASSWD: /bin/command

次に実行します。

sudo -H -u "$USER" -g "$GROUP" /bin/command

コマンドを実行できるユーザー名および/またはグループを制限するには、角かっこ内のALL内容を変更します。例えば

cas ALL = (fred, bob : mygroup, othergroup) NOPASSWD: /bin/command

ユーザーは、ユーザーまたはグループのユーザーとして、またはパスワードを持たないユーザーとして実行できますcas。タイトル付きのセクションを見て検索してください。/bin/commandfredbobmygroupothergroupman sudoersRunas_Spec

ただし、最初ALL(前=)はルールが適用されるホスト名を表します。これは、複数のシステムで同じsudoersファイルを共有し、システム管理者がsudo一部のシステムでのみ特定のコマンドを実行する権限を必要とする場合にのみ重要です。詳細を検索Host_Listしてくださいman sudoers

注:sudo非常に複雑で非常に柔軟です。マニュアルページが理解されるsudoまで読んで再読める努力は価値があります。sudoers意図したよりも少ないまたは悪い権限を与える間違いを犯すのは簡単です。

おすすめ記事