เป็นไปไม่ได้ที่จะมีไฟล์เป็นของกลุ่ม Linux หลายกลุ่มที่มีสิทธิ์ Unix แบบดั้งเดิม (อย่างไรก็ตามอาจเป็นไปได้กับ ACL )
แต่คุณอาจจะใช้วิธีแก้ปัญหาต่อไปนี้และสร้างกลุ่มใหม่ (เช่นเรียกdevFirms
) ซึ่งจะรวมถึงผู้ใช้ทุกคนของกลุ่มdevFirmA
, และdevFirmB
คุณสร้างกลุ่มผู้ใช้ใหม่ด้วย:devFirmC
sudo addgroup NEWGROUPNAME
ก่อนอื่นคุณอาจต้องติดตั้งid-utils
เพื่อรับlid
- คำสั่ง:
sudo apt-get install id-utils
จากนั้นคุณสามารถเรียกใช้บรรทัดของรหัสต่อไปได้อย่างง่ายดายคัดลอกผู้ใช้ทั้งหมดของการSOURCEGROUP
TARGETGROUP
แน่นอนคุณต้องรันคำสั่งหนึ่งครั้งสำหรับแต่ละกลุ่มที่คุณต้องการคัดลอก อย่าลืมแทนที่เจ้าของที่เป็นตัวพิมพ์ใหญ่ด้วยชื่อกลุ่มจริง
for u in $(lid -g -n SOURCEGROUP); do sudo usermod -a -G TARGETGROUP $u; done
ดังนั้นในกรณีของคุณคุณจะต้องเรียกใช้คำสั่ง (ทุกบรรทัดพร้อมกัน):
sudo addgroup devFirms &&
for u in $(lid -g -n devFirmA); do sudo usermod -a -G devFirms $u; done &&
for u in $(lid -g -n devFirmB); do sudo usermod -a -G devFirms $u; done &&
for u in $(lid -g -n devFirmC); do sudo usermod -a -G devFirms $u; done
โปรดทราบว่าคำสั่งเหล่านี้คัดลอกผู้ใช้ทั้งหมดที่เป็นสมาชิกปัจจุบันของกลุ่มแหล่งที่มา ผู้ใช้ทุกคนที่ได้รับเพิ่มในภายหลังจะต้องถูกเพิ่มไปยังกลุ่มทั่วไปของคุณด้วยadduser
คำสั่ง เพียงแทนที่ตัวยึดตำแหน่งที่เป็นตัวพิมพ์ใหญ่อีกครั้งด้วยชื่อผู้ใช้และกลุ่มที่แท้จริง ( devFirms
):
sudo adduser NEWUSER TARGETGROUP
ขอบคุณJustin Ethierสำหรับคำตอบของเขาที่Unix & Linux.SE: เพิ่มผู้ใช้ทั้งหมดของกลุ่มหนึ่งในกลุ่มอื่นหรือไม่