如何与特定组一起运行流程?


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”命令更改为“ jazz”组,才能从命令行进入特定目录“ dirA”。但是他找不到找到使“鹦鹉螺-浏览器”下降到该“ dirA”的方法。他尝试了“ ng jazz -c'nautilus --browser'”,但它仍然不能归类为“ dirA”。怎么来的?
CLTECH

Answers:


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

非常简单,并且有效。:)
Mikhail Morfikov 2014年

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 将为您提供更多详细信息

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.