ฉันต้องการเปลี่ยนรหัสกลุ่มของกลุ่มเฉพาะ อาจมีวิธีแก้ไขปัญหาสำหรับการเปลี่ยน gid ของไฟล์หรือไดเรกทอรี แต่นั่นไม่ใช่สิ่งที่ฉันต้องการ มีวิธีทำเช่นนั้นหรือไม่?
ฉันต้องการเปลี่ยนรหัสกลุ่มของกลุ่มเฉพาะ อาจมีวิธีแก้ไขปัญหาสำหรับการเปลี่ยน gid ของไฟล์หรือไดเรกทอรี แต่นั่นไม่ใช่สิ่งที่ฉันต้องการ มีวิธีทำเช่นนั้นหรือไม่?
คำตอบ:
GID เป็นตัวระบุหลักของกลุ่ม เท่าที่ระบบมีความกังวล GID ที่แตกต่างกันคือกลุ่มที่แตกต่าง ดังนั้นในการเปลี่ยน GID คุณจะต้องแก้ไขสถานที่ทั้งหมดที่ใช้ GID
คุณควรหลีกเลี่ยงการใช้ GID อย่างมีนัยสำคัญและใช้ชื่อกลุ่มแทน คุณสามารถเปลี่ยนชื่อของกลุ่มที่มีคำสั่งเดียว (บน Linux: groupmod -n NEW_GROUP_NAME OLD_GROUP_NAME
)
อย่างไรก็ตามหากคุณต้องการเปลี่ยน GID นี่คือวิธี:
groupmod -g NEWGID GROUPNAME
รัน บนระบบอื่นให้ใช้เครื่องมือการดูแลระบบของระบบนั้นหรือvigr
หากมีหรือแก้ไข/etc/group
ได้เปลี่ยนกลุ่มของไฟล์ทั้งหมดในระบบของคุณที่เป็นของกลุ่มเก่า
find / -gid OLDGID ! -type l -exec chgrp NEWGID {} \;
chgrp ล้างธง suid และ sgid เรียกคืนเหล่านั้น
groupmod
ใช้ชื่อเป็นอาร์กิวเมนต์หลักสำหรับฉัน ...groupmod -g NEWGID GROUPNAME
วิธีที่ง่ายที่สุดคือการใช้ groupmod -g <NEW_GID> <groupname>
อีกวิธีคือแก้ไข/etc/group
โดยตรง เขตข้อมูลที่สามในแต่ละคอลัมน์คือ gid
หากกลุ่มที่ถูกเปลี่ยนเป็นกลุ่มหลักของผู้ใช้/etc/passwd
จำเป็นต้องปรับเปลี่ยนเช่นกัน: usermod -g <NEW_GID> <username>
.
chgrp -h ...
chgrp ...
โดยไม่ต้อง-h
ที่เป้าหมายของ symlink เกี่ยวข้องใด ๆ ที่จะมีกลุ่มของการเปลี่ยนแปลง