Як запустити процес із певною групою?


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

Це також потрібно зробити, не запитуючи про пароль. Чи є спосіб досягти цього?


Вибачте, не можу коментувати, тому розміщуйте це спостереження в області відповідей. <br> sg, здається, не працює в нашому випадку. Користувачеві зазвичай потрібно використовувати команду "newgrp", щоб перейти на групу "джаз", щоб мати можливість спуститися в певний каталог "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, яка робить те ж саме за паролем користувача.

це вимагає згадати групу в судорах

Я змінив / etc / sudoers на

%wheel All=(ALL) ALL

до

%wheel All=(ALL:ALL) ALL

Іноді це зручніше

Безпечний спосіб редагування судорів:

sudo sudoedit /etc/sudoers

0

Щоб уникнути запиту пароля з sg, додайте себе як члена групи

    sudo gpasswd -M morfik p2p

Вам також може знадобитися видалити пароль і обмежити доступ лише до членів

    sudo gpasswd -r p2p
    sudo gpasswd -R p2p

man gpasswd дасть вам більше деталей

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.