Как запустить процесс с определенной группой?


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

Это также должно быть сделано без запроса пароля. Есть ли способ добиться этого?


Извините, я не могу комментировать, поэтому поместите это в область ответа. В нашем случае sg не работает. Пользователь обычно должен использовать команду "newgrp", чтобы перейти в группу "jazz", чтобы иметь возможность перейти в определенный каталог "dirA" из командной строки. Но он не может найти способ заставить "nautilus - browser" спуститься в эту "dirA". Он попробовал "ng jazz -c 'nautilus --browser'", но он все еще не может перейти в "dirA". Как придешь?
CLTECH

Ответы:


31

Использование sg.

Например, следующая команда вызовет sleepгруппуgroup-name

sg group-name -c 'sleep 100'

Со страницы руководства:

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...

Довольно просто, и это работает. :)
Михаил Морфиков

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

человек gpasswd даст вам больше деталей

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.