Jak uruchomić proces z określoną grupą?

22

Muszę uruchomić aplikację z własnymi prawami użytkownika, ale grupa musi być inna. Zamiast więc:

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

powinno to być na przykład:

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

Należy to również zrobić bez pytania o hasło. Czy istnieje sposób na osiągnięcie tego?

Michaił Morfikow
źródło
Przepraszamy, ale nie mogę komentować, więc wpisz tę odpowiedź w obszarze odpowiedzi. <br> sg wydaje się nie działać w naszym przypadku. Użytkownik zwykle musi użyć polecenia „newgrp”, aby przejść do grupy „jazz”, aby móc zejść do określonego katalogu „dirA” z wiersza poleceń. Ale nie może znaleźć sposobu, aby „nautilus - przeglądarka” zstąpił do tego „dirA”. Próbował „ng jazz -c 'nautilus --browser”, ale nadal nie może zejść w „dirA”. Dlaczego?
CLTECH

Odpowiedzi:

31

Zastosowanie sg.

Na przykład następujące polecenie zostanie wywołane sleepdla grupygroup-name

sg group-name -c 'sleep 100'

Ze strony podręcznika:

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...
mkc
źródło
Całkiem proste i działa. :)
Michaił Morfikow
2

sg zapytaj o hasło grupy

sudo ma opcję -g, która robi to samo za pomocą hasła użytkownika.

wymaga grupy wspomnień w sudoers

Zmieniłem / etc / sudoers przez

%wheel All=(ALL) ALL

do

%wheel All=(ALL:ALL) ALL

Czasami jest to wygodniejsze

Bezpiecznym sposobem edycji sudoers jest:

sudo sudoedit /etc/sudoers
mmv-ru
źródło
0

Aby uniknąć pytania o hasło z sg, dodaj siebie jako członka grupy

    sudo gpasswd -M morfik p2p

Konieczne może być również usunięcie hasła i ograniczenie dostępu tylko do członków

    sudo gpasswd -r p2p
    sudo gpasswd -R p2p

man gpasswd da ci więcej szczegółów

FeignInt
źródło