ชื่อผู้ใช้ไม่เกี่ยวข้อง สิทธิ์ในระบบไฟล์ทั้ง HFS + และ Linux ถูกเก็บในรูปแบบของIDผู้ใช้(UID) ซึ่งเป็นตัวเลขที่เกี่ยวข้องกับชื่อผู้ใช้ ใน Ubuntu เช่นเดียวกับการกระจาย Linux ที่ทันสมัยผู้ใช้คนแรกจะได้รับ UID 1,000 ตามค่าเริ่มต้น ใน OS X ผู้ใช้รายแรกจะได้รับ UID เป็น 501 โดยค่าเริ่มต้น ดังนั้นเมื่อแบ่งปันสื่อที่เข้ารหัสค่า UID ค่า UID จะไม่ตรงกัน
วิธีหนึ่งในการแก้ไขปัญหานี้คือการตั้งค่าการอนุญาตแบบหลวม (ค่าโหมดเป็นในrwxr-xr-x
หรือ 755 ในฐานแปด) โปรดทราบว่ารหัสฐานแปดของการอนุญาตไม่เหมือนกับค่า UID ในระบบปฏิบัติการทั้งสองคุณสามารถตั้งค่าการอนุญาตเริ่มต้นที่ใช้กับไฟล์ด้วยumask
คำสั่งซึ่งระบุค่าบิตที่จะลบออกจากการอนุญาตของไฟล์ ตัวอย่างเช่นumask 022
ลบสิทธิ์การเขียนสำหรับกลุ่มและการอนุญาตอื่น ๆ ซึ่งส่งผลให้ 755 (rwxr-xr-x
) การอนุญาตสำหรับไฟล์ใหม่ (หรือ 644 หากมีบางสิ่งบางอย่างลบบิตสิทธิการใช้งานซึ่งเป็นเรื่องปกติสำหรับไฟล์) นี่เป็นเครื่องมือบรรทัดคำสั่งเป็นส่วนใหญ่ หากคุณเป็นผู้ใช้ GUI เป็นส่วนใหญ่คุณจะต้องค้นหาเครื่องมืออื่นเพื่อใช้ในการทำงานซึ่งอาจเกี่ยวข้องกับค่าเริ่มต้นของสภาพแวดล้อมเดสก์ทอปของคุณ สิ่งนี้อาจคลุมเครือและจัดทำเอกสารไม่ดี นอกจากนี้การตั้งค่าการอนุญาตแบบหลวม ๆ ด้วยวิธีนี้อาจมีข้อเสียด้านความปลอดภัยโดยเฉพาะหากคุณเป็นระบบที่มีผู้ใช้หลายคน
วิธีที่ดีกว่าคือการซิงโครไนซ์ UID บัญชีของคุณบน Linux และ OS X คุณสามารถเปลี่ยนค่า UID ใน Linux ด้วยusermod
คำสั่งได้อย่างง่ายดายเช่นเดียวกับใน:
usermod -u 501 dale
คำสั่งนี้ตั้งค่า UID สำหรับdale
501 มีข้อแม้ที่สำคัญบางอย่างแม้ว่า:
- คุณควรออกจากระบบบัญชีที่คุณกำลังแก้ไขก่อนที่จะแก้ไข การพยายามแก้ไขบัญชีที่ไม่ใช้งานจะทำให้บัญชีนั้นเริ่มทำงานผิดปกติ
usermod
root
จะต้องนำมาใช้เป็น คุณสามารถดำเนินการได้ผ่านทางsudo
แต่การดำเนินการดังกล่าวจากบัญชีที่คุณกำลังแก้ไขจะไม่สามารถทำได้ในสุด ดังนั้นคุณจะต้องให้root
รหัสผ่านและเข้าสู่ระบบroot
โดยตรงหรือใช้sudo
จากบัญชีผู้ใช้ที่สอง
usermod
คำสั่งจะไม่เปลี่ยนความเป็นเจ้าของของไฟล์ใด ๆ ที่เป็นเจ้าของโดยผู้ใช้ในคำถาม chown
ในการปรับเจ้าของไฟล์เหล่านั้นคุณจะต้องค้นหาพวกเขาแล้วเปลี่ยนความเป็นเจ้าของของพวกเขาด้วย ไฟล์ส่วนใหญ่จะอยู่ในโฮมไดเร็กตอรี่ของผู้ใช้, ดังนั้นchown -R dale: /home/dale
, root
หลังจากพิมพ์dale
UID, จะเปลี่ยนdale
ไฟล์ส่วนใหญ่เพื่อใช้หมายเลขโพสต์ใหม่. แม้ว่าไฟล์บางไฟล์ของผู้ใช้อาจอยู่ที่อื่น การพิมพ์find / -uid 1000
จะค้นหาไฟล์ทั้งหมดที่ใช้ UID เก่า (สมมติว่าเป็น 1,000) โปรดทราบว่าfind
คำสั่งนี้อาจใช้เวลาหลายนาทีกว่าจะเสร็จสมบูรณ์ หากต้องการเพิ่มความเร็วให้ยกเลิกการต่อเชื่อมระบบไฟล์ใด ๆ ที่คุณมั่นใจว่าจะไม่พบ Hit เช่นวอลุ่ม FAT หรือ NTFS
- หากคุณเข้าถึงวอลุ่ม FAT หรือ NTFS ค่า UID ของพวกเขาจะถูกกำหนดโดยตัวเลือก ณ เวลาที่เมานต์ หากคุณใช้ตัวจัดการไฟล์ GUI โอกาสที่ค่า UID จะถูกตั้งค่าเป็นใครก็ตามที่เรียกใช้ตัวจัดการไฟล์ดังนั้นคุณไม่จำเป็นต้องทำอะไรเป็นพิเศษ ถ้าคุณเมานไดรฟ์ผ่าน
/etc/fstab
รายการคุณอาจต้องปรับค่า UID ที่ระบุ
- อูบุนตูเก็บค่าต่ำสุดที่จะใช้สำหรับ UIDs
/etc/login.defs
ใน หากคุณไม่สามารถเปลี่ยนUID_MIN
ค่าในไฟล์นี้คุณอาจพบว่าบัญชีของคุณจะ "หายไป" จากหน้าจอเข้าสู่ระบบ GUI และอาจมาจากระบบอื่น ๆ ดังนั้นคุณควรแก้ไขไฟล์นั้น
ในทางทฤษฎีคุณสามารถเปลี่ยน UID ของบัญชี OS X ของคุณด้วยวิธีที่คล้ายกันเพื่อให้บรรลุเป้าหมายเดียวกัน อย่างไรก็ตามฉันไม่ค่อยคุ้นเคยกับเครื่องมือบำรุงรักษาบัญชี OS X ดังนั้นฉันจึงไม่สามารถให้คำแนะนำที่ชัดเจนเกี่ยวกับการทำเช่นนั้นได้ การปรับค่า OS X จะช่วยให้คุณไม่ต้องปรับUID_MIN
ใน Linux
หากคุณมีบัญชีหลายบัญชีในคอมพิวเตอร์ของคุณคุณควรปรับบัญชีทั้งหมดเพื่อให้บัญชีทั้งหมดตรงกับการติดตั้งระบบปฏิบัติการของคุณ
อีกหนึ่งจุด: ค่า Group ID (GID) จะถูกจัดเก็บในลักษณะที่คล้ายกัน IIRC, Ubuntu กำหนดค่า GID สำหรับแต่ละบัญชีที่เหมือนกับค่า UID ฉันไม่จำสิ่งที่ OS X ทำตามค่าเริ่มต้น คุณอาจต้องการปรับค่า GID สำหรับสองระบบปฏิบัติการในลักษณะที่คล้ายคลึงกับการเปลี่ยนแปลง UID แต่สิ่งนี้อาจไม่สำคัญเท่ากับการปรับค่า UID
แก้ไข:หากคุณต้องการเปลี่ยน UID ของคุณ (และ GID หากต้องการ) ใน macOS / OS X แทนที่จะเป็น Ubuntu คุณสามารถทำได้ เนื่องจากการปรับเปลี่ยนใน macOS นี้อยู่นอกเหนือขอบเขตของไซต์นี้ฉันจะลิงก์ไปยังหน้าต่างๆที่ให้ขั้นตอนการทำเช่นนี้ใน macOS:
774
ได้รับอนุญาตเท่านั้น