คำถามติดแท็ก group

ทุกอย่างเกี่ยวกับกลุ่ม Unix และการควบคุมการเข้าถึง

3
กระบวนการ superuser สามารถเปลี่ยน ID ผู้ใช้จริงและ ID กลุ่มของกระบวนการไม่ตรงกับในไฟล์รหัสผ่าน?
จาก APUE ID ผู้ใช้จริงและ ID กลุ่มจริงของกระบวนการระบุว่าเราเป็นใคร ทั้งสองฟิลด์นี้นำมาจากรายการของเราในรหัสผ่านเมื่อเราเข้าสู่ระบบโดยปกติค่าเหล่านี้จะไม่เปลี่ยนแปลงในระหว่างการเข้าสู่ระบบแม้ว่าจะมีวิธีสำหรับ กระบวนการ superuser ในการเปลี่ยน กระบวนการ superuser สามารถเปลี่ยน ID ผู้ใช้จริงและ ID กลุ่มจริงของกระบวนการดังนั้นความสัมพันธ์ระหว่าง ID ผู้ใช้จริงและ ID กลุ่มจริงไม่ตรงกับที่อยู่ในไฟล์รหัสผ่านหรือไม่ ตัวอย่างเช่นหากผู้ใช้Timไม่ได้เป็นสมาชิกของกลุ่มoceanต่อไฟล์รหัสผ่านกระบวนการ superuser สามารถเปลี่ยน ID ผู้ใช้จริงและ ID กลุ่มจริงของกระบวนการเป็นTimและoceanตามลำดับได้หรือไม่?
11 linux  users  group 

2
ฉันจะให้สิทธิ์ที่แตกต่างกันสำหรับผู้ใช้แต่ละคนได้อย่างไร
ดังนั้นฉันใช้ Linux มาหลายปีแล้วและฉันควรรู้คำตอบนี้จริง ๆ แต่ฉันมีปัญหาในการค้นหา โดยเฉพาะฉันใช้ Debian ของเดเบียนที่ใช้ .... ส่วนใหญ่เป็น Ubuntu หากฉันมีเซิร์ฟเวอร์ที่มีผู้ใช้มากกว่าสามคนฉันจะตั้งค่าการอนุญาตที่แตกต่างให้กับไฟล์สำหรับผู้ใช้แต่ละคนได้อย่างไร ตัวอย่างเช่น: หากฉันมีไฟล์ที่มีสิทธิ์และความเป็นเจ้าของเหล่านี้: rwx rw_ r__ user1:group1 file1.txt และฉันมี 3 ผู้ใช้ที่มีสิทธิ์ที่ต้องการเหล่านี้ .... user1 rwx user2 rw_ user3 r__ สิ่งที่ฉันต้องทำคือให้user1เป็นเจ้าของไฟล์user2อยู่ในgroup1และuser3ไม่สามารถ - ถูกต้อง? แต่สิ่งที่ถ้าฉันมีuser4และuser5 user4 _wx user5 __x ฉันจะตั้งค่าอย่างไร ฉันไม่เคยทำแบบนี้มาก่อน แต่ฉันถูกถามโดยผู้ดูแลระบบ Windows และฉันไม่สามารถตอบได้

4
การอยู่ในกลุ่ม 0 หมายความว่าอย่างไร
ผู้ใช้หลายคนในระบบที่ฉันสืบทอดได้ตั้งกลุ่มเป็น 0 ใน / etc / passwd นั่นหมายความว่าอย่างไร? พวกเขาจำเป็นต้องได้รับสิทธิพิเศษอย่างเต็มที่หรือไม่? ระบบกำลังเรียกใช้ CentOS 5 และผู้ใช้ดูเหมือนจะเกี่ยวข้องกับระบบเป็นหลักแม้ว่าผู้ดูแลระบบเดิมจะอยู่ในกลุ่มนั้นด้วย: $ grep :0: /etc/passwd root:x:0:0:root:/root:/bin/bash sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt operator:x:11:0:operator:/root:/sbin/nologin jsmith:x:500:0:Joe Smith:/home/jsmith:/bin/bash $
11 centos  root  group 

3
ทำไมต้อง expr1 | sed expr2` ต่างจาก `sed -e expr1 -e expr2`
ฉันได้แยกเอาต์พุตจากidเพื่อจัดเตรียมรายการ line-by-list ที่สามารถอ่านได้มากขึ้นของกลุ่มที่ผู้ใช้เป็นสมาชิก: id roaima | sed 's/,/\n\t/g' uid=1001(roaima) gid=1001(roaima) groups=1001(roaima) 24(cdrom) 25(floppy) ... 822413650 (international (uk) location) ฉันต้องการแยกหมายเลขกลุ่มออกจากชื่อที่มีวงเล็บเหลี่ยมดังนั้นฉันจึงขยายการแสดงออกเช่นนี้ id roaima | sed -e 's/,/\n\t/g' -e '2,$s/(/ (/' อย่างไรก็ตามสิ่งนี้ไม่ได้ทำตามที่ฉันคาดไว้ในตอนแรก การแสดงออกที่สองดูเหมือนจะไม่มีผลกระทบ แต่เพื่อให้ได้ผลลัพธ์ที่ฉันต้องการฉันต้องรันสองsedคำสั่งแยกกันดังนี้: id roaima | sed -e 's/,/\n\t/g' | sed '2,$s/(/ (/' uid=1001(roaima) gid=1001(roaima) groups=1001(roaima) 24 (cdrom) 25 (floppy) ... 822413650 …
10 sed  group 

2
การเป็นสมาชิกกลุ่มและกระบวนการ setuid / setgid
กระบวนการที่ยกเลิกการเลื่อนระดับสิทธิ์ผ่านsetuid()และsetgid()ดูเหมือนจะไม่ได้รับความเป็นสมาชิกกลุ่มของ uid / gid ที่พวกเขาตั้งค่า ฉันมีกระบวนการเซิร์ฟเวอร์ที่ต้องดำเนินการเป็นรูทเพื่อเปิดพอร์ตสิทธิพิเศษ หลังจากนั้นจะยกเลิกการเลื่อนระดับไปเป็น uid / gid ที่ไม่มีสิทธิพิเศษเฉพาะ1 - เช่นของผู้ใช้foo(UID 73) ผู้ใช้fooเป็นสมาชิกของกลุ่มbar: > cat /etc/group | grep bar bar:x:54:foo ดังนั้นถ้าฉันเข้าสู่ระบบในฐานะfooฉันสามารถอ่านไฟล์ที่/test.txtมีคุณสมบัติเหล่านี้: > ls -l /test.txt -rw-r----- 1 root bar 10 Mar 8 16:22 /test.txt อย่างไรก็ตามโปรแกรม C ต่อไปนี้ (คอมไพล์std=gnu99) เมื่อรันรูท: #include <stdio.h> #include <fcntl.h> #include <unistd.h> int main (void) …

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