จะเรียกใช้กระบวนการกับกลุ่มเฉพาะได้อย่างไร?


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" จาก commandline แต่เขาไม่สามารถหาวิธีรับ "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...

ค่อนข้างง่ายและใช้งานได้ :)
Mikhail Morfikov

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 จะให้รายละเอียดเพิ่มเติม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.