ID กลุ่มที่เหมาะสม (gid) สำหรับ Lion หรือไม่


9

หากคุณสร้างบัญชีผู้ดูแลระบบใหม่ใน Lion สิ่งต่อไปนี้จะเป็นรหัสสมาชิกและกลุ่มของคุณ (จาก$ id [new Lion account] | perl -lne 's/ /\n/g; s/,/\n\t/g; print;'):

uid=504(lt)
gid=20(staff)
groups=20(staff)
    402(com.apple.sharepoint.group.1)
    12(everyone)
    33(_appstore)
    61(localaccounts)
    79(_appserverusr)
    80(admin)
    81(_appserveradm)
    98(_lpadmin)
    100(_lpoperator)
    204(_developer)
    403(com.apple.sharepoint.group.2)
    401(com.apple.access_screensharing)

ในทางตรงกันข้ามบัญชี OS X รุ่นเก่าจะมี uid, gid และอื่น ๆ :

uid=501(andrew)
gid=501(andrew)
groups=501(andrew)
    403(com.apple.sharepoint.group.2)
    204(_developer)
    100(_lpoperator)
    98(_lpadmin)
    81(_appserveradm)
    80(admin)
    79(_appserverusr)
    61(localaccounts)
    12(everyone)
    401(com.apple.access_screensharing)
    402(com.apple.sharepoint.group.1)

โปรดทราบว่าในบัญชีใหม่และที่ผู้ใช้เป็นสมาชิกของgid=20(staff)20(staff)

เมื่อคุณอัปเกรดบัญชีที่เก่ากว่าเป็น Lion ชื่อผู้ใช้และกลุ่มที่เก่ากว่าจะถูกเก็บไว้

มีการรายงานปัญหาที่ไม่มีการstaffเป็นสมาชิกกลุ่มในบัญชีที่อัปเกรดแล้ว:

  1. ไม่สามารถติดตั้งหรืออัพเกรด Homebrew
  2. จอแสดงผลของ'การดึงข้อมูล'เมื่อกดCmd+ Iบนไฟล์ในโฟลเดอร์ผู้ใช้ของคุณ
  3. ACL และประเด็นที่ได้รับอนุญาต

วิธีแก้ปัญหาปัจจุบันดูเหมือนจะเป็นเช่นนี้:

  1. เพิ่มผู้ใช้ไปยังพนักงาน (เช่น: $ sudo dscl. ผนวก / กลุ่ม / พนักงาน GroupMembership` whoami` หรือเทียบเท่า)
  2. ใช้Lion Recoveryเพื่อคืนค่าการอนุญาตโฟลเดอร์เริ่มต้นที่บ้าน (คลิกที่แท็บ 'ไม่มีดิสก์ - สิงโต')

จนถึงตอนนี้ได้แก้ไขปัญหามากมายที่ฉันมีกับการอัปเกรดและดูเหมือนว่าแบตเตอรี่ของฉันจะมีอายุการใช้งานที่ยาวนานขึ้นและการใช้งาน CPU ลดลง

อย่างไรก็ตามนี่คือคำถามที่ฉันมี:

1. ควรฉันไปถึงปัญหาของการเปลี่ยนแปลงที่gid=501จะgid=20อยู่ในบัญชีของฉันหรือเป็นเพียงการเป็นสมาชิกของกลุ่มพอพนักงานที่ดี?

2. การเป็นสมาชิกของ 20 (พนักงาน) เหมือนกับ gid = 20 (พนักงาน) หรือไม่

3. หากฉันเปลี่ยนgid=ส่วนของบัญชีของฉันฉันจะทำเช่นนั้นกับ Lion ได้อย่างไร ฉันรู้วิธีการทำบน Ubuntu เท่านั้น ...

คำตอบ:


4

ฉันไม่เห็นความแตกต่างในวิธีที่ OS X ปฏิบัติต่อกลุ่มหลักกับกลุ่มอื่นของผู้ใช้ดังนั้นฉันไม่คิดว่ามันจะสร้างความแตกต่างอย่างแท้จริง ฉันอยากจะ "แก้ไข" เพื่อความเรียบร้อย คำสั่งเหล่านี้ควรตั้งค่ากลุ่มหลักเป็น 20 จากนั้นเพิ่มสมาชิกภาพ "รอง" ในกลุ่มแอนดรูว์เก่า:

sudo dscl . create /Users/andrew PrimaryGroupID 20
sudo dseditgroup -o edit -a andrew -t user andrew

(หมายเหตุ: การใช้ dscl เพื่อเพิ่มความเป็นสมาชิกกลุ่มที่สองไม่ถูกต้อง - ใช้ dseditgroup แทน)


เยี่ยม !!! ปัญหานี้ได้รับการแก้ไข คุณต้องรีบู๊ต (หรือออกจากระบบ / บัญชีของคุณ) หรือidจะแสดงegid=501จนกว่าคุณจะทำ ขอบคุณ !!!
drewk

sudo dscl . delete /users/andrewหากคุณชอบฉันแล้วคุณจะต้องนี้:
orome

@raxacoricofallapatorius: นั่นเป็นการลบระเบียนผู้ใช้ทั้งหมด - คุณอาจไม่ต้องการทำเช่นนั้น
Gordon Davisson

@GordonDavisson: ถ้าลืมในตอนแรกให้เปลี่ยนชื่อผู้ใช้ของคุณandrewเป็น (อย่างที่ฉันทำ!) - นั่นคือสิ่งที่คุณต้องการ
orome

1

ฉันกลัวว่าจะไม่มีคำตอบง่ายๆในเรื่องนี้:

  • เมื่อเข้าถึงไฟล์มันไม่สำคัญว่า gid ของคุณจะเป็นstaffหรือคุณเป็นสมาชิกของกลุ่มนี้
  • เมื่อสร้างไฟล์อาจเป็นเพราะไฟล์ใหม่เป็นของคุณ แต่รับกลุ่มจากไดเรกทอรีที่สร้างขึ้น แต่เนื่องจากไฟล์เป็นของคุณในกรณีนี้คุณควรจะสามารถเข้าถึงได้

สำหรับจุดประสงค์ในทางปฏิบัติส่วนใหญ่ที่เป็นของกลุ่มน่าจะเพียงพอ (โดยเฉพาะเมื่อปัญหาของคุณดูเหมือนจะได้รับการแก้ไขในปัจจุบัน)


1
ขอบคุณ ฉันจะใช้dsclเพื่อเปลี่ยน gid ได้อย่างไร?
drewk

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