Score:2

ฉันจะเพิ่มผู้ใช้ที่มีอยู่ในรหัสกลุ่มที่มีอยู่ (ไม่ใช่ชื่อกลุ่ม) ได้อย่างไร

ธง cn

ฉันต้องการเพิ่มผู้ใช้ที่มีอยู่ ฟูไปยังกลุ่มที่มีอยู่ นักเทียบท่า. ปัญหาคือเครื่องของฉันมีสองกลุ่มที่มีชื่อเดียวกัน นักเทียบท่าหนึ่งอันที่มีรหัส 131 และอีกอันคือ 999 ฉันต้องการเพิ่ม ฟู เข้าไปในกลุ่มนักเทียบท่า 999 คำสั่งต่อไปนี้จะเพิ่มเท่านั้น ฟู ลงใน 131 นักเทียบท่า กลุ่ม:

sudo usermod -aG นักเทียบท่า foo

ฉันจะเพิ่มไปยัง นักเทียบท่า เข้ากลุ่มด้วย id 999 แทน?

อัปเดต: หลังจากดูเพิ่มเติมฉันรู้ว่ามีเพียง นักเทียบท่า 131 กลุ่มอยู่ภายใต้ /etc/group:

$ cat /etc/group | grep นักเทียบท่า
นักเทียบท่า:x:131:สตีฟ,มาร์ค,เอมมี่,user1,foo

ฉันไม่รู้ว่านักเทียบท่า 999 มาจากไหน แต่ผู้ใช้ต่อไปนี้สามารถเรียกใช้นักเทียบท่าโดยไม่ต้องใช้ sudo:

$id user1
uid=260800(user1) gid=5000(student) groups=5001(sudoaccess),999(docker),27(sudo),124(sambashare),13010(eestaff),131(docker)

ในขณะที่ ฟู ผู้ใช้ไม่สามารถ:

รหัส $ ฟู
uid=305800(foo) gid=5000(นักเรียน) กลุ่ม=27(sudo),131(นักเทียบท่า)
sudodus avatar
jp flag
1. ทำไมคุณมีสองกลุ่มที่มีชื่อกลุ่มเดียวกัน 2. คุณสามารถลองทำสำเนาสำรองของไฟล์ `/etc/group` จากนั้นแก้ไข (ด้วยการเข้าถึง sudo) เพื่อเพิ่มผู้ใช้ลงในกลุ่มที่ต้องการ (หลังทวิภาคสุดท้าย หรือหากมีผู้ใช้อยู่แล้ว เขียนเครื่องหมายจุลภาคแล้วเพิ่มผู้ใช้.. คุณควรเห็นรูปแบบเป็นบรรทัดสำหรับกลุ่มอื่น ๆ
Tu Bui avatar
cn flag
@sudodus แปลก ๆ ``` / etc / group``` มีกลุ่มนักเทียบท่า 131 เท่านั้น (อัปเดตคำถาม)
sudodus avatar
jp flag
คุณจะทราบได้อย่างไรว่าคุณมีผู้ใช้ที่มีรหัสตัวเลข 999 รหัสตัวเลขนั้นใช้สำหรับผู้ใช้เริ่มต้นในระบบที่ใช้งานอยู่ และคุณได้รับหมายเลขนั้นสำหรับ ID ผู้ใช้ได้อย่างไร คุณได้ติดตั้งแพ็คเกจโปรแกรมพิเศษหรือไม่? คุณใช้ Ubuntu เวอร์ชันใด (20.04 LTS หรือเวอร์ชันอื่น) และเป็นระบบสดหรือระบบที่ติดตั้ง?
sudodus avatar
jp flag
อาจใส่ 999 ลงในรายการนั้นเท่านั้นเพื่อให้ใช้งานได้กับผู้ใช้เริ่มต้นในระบบที่ใช้งานจริง ผลลัพธ์ของ `grep 131 /etc/group` คืออะไร; โปรดแก้ไขคำถามเดิมของคุณและแสดงผลเป็น `code`
sudodus avatar
jp flag
ฉันเห็นการแก้ไขของคุณ ตอนนี้ใช้งานได้ (หรือหลังจากออกจากระบบ / เข้าสู่ระบบหรือรีบูต) เพื่อใช้นักเทียบท่ากับผู้ใช้ใหม่ 'foo' หรือไม่
sudodus avatar
jp flag
ฉันเห็นในความคิดเห็นว่าคุณกำลังใช้งาน 16.04 ซึ่งเปิดตัวในเดือนเมษายน 2016 สิ้นสุดการสนับสนุนในเดือนเมษายน 2021 ดังนั้นจึงถึงเวลาที่ต้องเปลี่ยนไปใช้เวอร์ชันที่รองรับแล้ว
Score:4
ธง hr

นี่จึงกลายเป็นว่า ปัญหา XY

  1. ปัญหาตามที่ระบุไว้ (X) "จะเพิ่มผู้ใช้ที่มีอยู่ใน ID กลุ่มที่มีอยู่ (ไม่ใช่ชื่อกลุ่ม) ได้อย่างไร"

  2. ปัญหาที่เกิดขึ้นจริง (Y) “ฉันควรทำอย่างไรถ้า /etc/group และ /etc/gshadow ไฟล์ไม่เห็นด้วยเกี่ยวกับ GID ที่เป็นตัวเลขของกลุ่ม"


X. จะเพิ่มผู้ใช้ที่มีอยู่ในรหัสกลุ่มที่มีอยู่ (ไม่ใช่ชื่อกลุ่ม) ได้อย่างไร?

มันไม่ชัดเจนในหน้าคน แต่ ม็อดผู้ใช้ จะยอมรับ GID ที่เป็นตัวเลขเป็นอาร์กิวเมนต์สำหรับทั้ง -ก (กลุ่มหลัก)และ -G ตัวเลือก (กลุ่มรอง) อย่างน้อยตามที่ทดสอบบน Ubuntu 18.04

อดีต. ที่ให้ไว้

ผู้ทดสอบกลุ่ม $
ผู้ทดสอบ : เจ้าหน้าที่ผู้ทดสอบ

$ รับกลุ่ม ftp
ftp:x:134:

แล้ว

$ sudo usermod -aG 134 ผู้ทดสอบ

ผู้ทดสอบกลุ่ม $
ผู้ทดสอบ : พนักงานผู้ทดสอบ ftp

Y. ฉันควรทำอย่างไรถ้า /etc/group และ /etc/gshadow ไฟล์ไม่เห็นด้วยเกี่ยวกับ GID ที่เป็นตัวเลขของกลุ่มหรือไม่

มีเครื่องมือบรรทัดคำสั่งสำหรับสิ่งนั้น ซึ่งเป็นส่วนหนึ่งของ รหัสผ่าน บรรจุุภัณฑ์:

ชื่อ
       grpck - ตรวจสอบความสมบูรณ์ของไฟล์กลุ่ม

เรื่องย่อ
       grpck [ตัวเลือก] [กลุ่ม [ เงา ]]

คำอธิบาย
       คำสั่ง grpck ตรวจสอบความสมบูรณ์ของข้อมูลกลุ่ม มัน
       ตรวจสอบว่ารายการทั้งหมดใน /etc/group และ /etc/gshadow ถูกต้อง
       จัดรูปแบบและมีข้อมูลที่ถูกต้อง ผู้ใช้จะได้รับแจ้งให้ลบรายการ
       ที่มีรูปแบบไม่ถูกต้องหรือมีข้อผิดพลาดอื่นๆ ที่แก้ไขไม่ได้

       มีการตรวจสอบเพื่อตรวจสอบว่าแต่ละรายการมี:

       · จำนวนฟิลด์ที่ถูกต้อง

       · ชื่อกลุ่มที่ไม่ซ้ำใครและถูกต้อง

       · ตัวระบุกลุ่มที่ถูกต้อง (/etc/group only)

       · รายชื่อสมาชิกและผู้ดูแลระบบที่ถูกต้อง

       · รายการที่เกี่ยวข้องในไฟล์ /etc/gshadow (ตามลำดับ
           /etc/group สำหรับการตรวจสอบ gshadow)

หากต้องการตรวจสอบความไม่สอดคล้องกัน ให้รันในโหมดอ่านอย่างเดียวก่อน:

sudo grpck -r

(ต้องใช้สิทธิ์ขั้นสูงแม้ที่นี่เพราะ /etc/gshadow สามารถอ่านได้โดยรูทเท่านั้น)จากนั้น เมื่อคุณระบุปัญหาได้แล้ว ให้เรียกใช้แบบโต้ตอบอีกครั้งเพื่อแก้ไขปัญหา:

sudo grpck

มียูทิลิตี้ที่คล้ายคลึงกัน พวค เพื่อความสม่ำเสมอระหว่าง /etc/passwd และ / etc / เงา.

Tu Bui avatar
cn flag
น่าเสียดายที่มันใช้งานไม่ได้ในกรณีของฉัน (Ubuntu 16.04)ฉันคิดว่ามันเกี่ยวข้องกับนักเทียบท่า ```999``` ที่ไม่ได้อยู่ใน ```/etc/group``` ฉันได้อัปเดตคำถามพร้อมข้อมูลเพิ่มเติมแล้ว
hr flag
@TuBui เป็นไปได้ว่า GID สำหรับนักเทียบท่ากลุ่มไม่สอดคล้องกันระหว่าง `/etc/group` และ `/etc/gshadow` - โปรดเรียกใช้ `sudo pwck -r` และเพิ่มผลลัพธ์ในคำถามของคุณ
hr flag
ขอโทษ ฉันหมายถึง `sudo grpck -r` แน่นอน
Score:1
ธง cn

TL;ดร เพื่อตอบคำถามชื่อเรื่อง โปรดติดตาม @steeldriver โพสต์หรือที่รู้จัก ม็อดผู้ใช้ ทำงานร่วมกับรหัสกลุ่มเช่นกัน วิธีแก้ปัญหาด้านล่างมีไว้สำหรับปัญหาที่อธิบายไว้ในเนื้อหาของ OP โดยเฉพาะ

เห็นได้ชัดว่าปัญหาได้รับการแก้ไขโดยการแก้ไข /etc/group และเปลี่ยนรหัสกลุ่มนักเทียบท่า 131 ถึง 999. หลังจากออกจากระบบและเข้าใหม่อีกครั้ง ฉันเหลือนักเทียบท่าเพียงกลุ่มเดียว - the 999 กลุ่ม.

รหัส $ ฟู
uid=305800(foo) gid=5000(นักเรียน) กลุ่ม=27(sudo),999(นักเทียบท่า)

ฉันหวังเป็นอย่างยิ่งว่าจะมีการเปลี่ยนแปลง /etc/group จะไม่นำไปสู่พฤติกรรมแปลก ๆ ยังไม่ทราบต้นตอของปัญหา (การเข้าสู่ระบบเซิร์ฟเวอร์ได้รับการจัดการภายใต้ระบบ LDAP ดังนั้นบางทีทั้งสองอาจรบกวนซึ่งกันและกัน)

hr flag
ในอนาคต เราขอแนะนำให้คุณใช้ `grpck` แทนการแก้ไขไฟล์ด้วยตนเองโดยตรง
sudodus avatar
jp flag
+1 สำหรับความคิดเห็นของ steeldriver และความกลัวของคุณเอง: การเปลี่ยนหมายเลขรหัสกลุ่มของ 'นักเทียบท่า' เป็น 999 อาจทำให้เกิดพฤติกรรมแปลก ๆ - อย่างไรก็ตาม คุณสามารถรีเซ็ต `/etc/group` ได้ตลอดเวลา หากจำเป็นสำหรับแอปพลิเคชันอื่น ขอให้โชคดี :-)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา