特定のグループでプロセスを実行する方法は?


22

自分のユーザー権限でアプリケーションを起動する必要がありますが、グループは異なる必要があります。したがって、代わりに:

$ ps -eo "user,group,args" | grep qbittorrent
morfik   morfik      /usr/bin/qbittorrent

たとえば次のようになります。

$ ps -eo "user,group,args" | grep qbittorrent
morfik   p2p      /usr/bin/qbittorrent

また、パスワードを聞かずに行う必要があります。これを達成する方法はありますか?


申し訳ありませんがコメントできませんので、このフォローアップを回答エリアに置いてください。ユーザーは通常、「newgrp」コマンドを使用して「jazz」グループに変更し、コマンドラインから特定のディレクトリ「dirA」に移動できるようにする必要があります。しかし、彼は「nautilus --browser」を「dirA」に降ろす方法を見つけることができません。彼は「ng jazz -c 'nautilus --browser'」を試しましたが、それでも「dirA」に降りることはできません。どうして?
CLTECH

回答:


31

を使用しsgます。

たとえば、次のコマンドはsleepグループに対して呼び出しますgroup-name

sg group-name -c 'sleep 100'

manページから:

NAME
   sg - execute command as different group ID

SYNOPSIS
   sg [-] [group [-c ] command]

DESCRIPTION
   The sg command works similar to newgrp but accepts a command. The
   command will be executed with the /bin/sh shell...

とてもシンプルで、機能します。:)
ミハイル・モルフィコフ14

2

sgはグループパスワードを要求します

sudoにはオプション-gがあり、ユーザーパスワードによって同じことを行います。

sudoersのメンショングループが必要です

/ etc / sudoersを変更しました

%wheel All=(ALL) ALL

%wheel All=(ALL:ALL) ALL

時々それはより便利です

sudoersを編集する安全な方法は次のとおりです。

sudo sudoedit /etc/sudoers

0

sgを使用したパスワードプロンプトを回避するには、グループのメンバーとして自分自身を追加します。

    sudo gpasswd -M morfik p2p

パスワードを削除し、アクセスをメンバーのみに制限する必要がある場合もあります

    sudo gpasswd -r p2p
    sudo gpasswd -R p2p

man gpasswd により詳細が表示されます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.