ในการแจกแจงแบบมาตรฐานของ Linux (เช่น Ubuntu) มักจะมี/etc/group
และ/etc/group-
ที่ที่สองสามารถอ่านได้โดย root
man group
เพียง /etc/group
แต่อธิบาย
ดังนั้นคำถามของฉัน: วัตถุประสงค์/etc/group-
คืออะไร?
ในการแจกแจงแบบมาตรฐานของ Linux (เช่น Ubuntu) มักจะมี/etc/group
และ/etc/group-
ที่ที่สองสามารถอ่านได้โดย root
man group
เพียง /etc/group
แต่อธิบาย
ดังนั้นคำถามของฉัน: วัตถุประสงค์/etc/group-
คืออะไร?
คำตอบ:
มันเป็นการสำรองข้อมูลของสำเนาก่อนหน้าของไฟล์ที่เป็นเวอร์ชันของไฟล์ก่อนการเปลี่ยนแปลงครั้งล่าสุด มันถูกเก็บไว้เพราะมันเป็นไฟล์ที่สำคัญมาก คุณสามารถลบได้ แต่การสำรองข้อมูลเป็น "สิ่งที่ดี"
คุณสามารถตรวจสอบได้อย่างง่ายดาย ลอง
# groupadd test
# diff /etc/group /etc/group-
นอกจากนี้ยังมีไฟล์อื่น ๆ ที่ถูกสำรองข้อมูลเช่นเดียวกัน /etc/passwd-
/etc/shadow-
.
ยูทิลิตี้การจัดการผู้ใช้และกลุ่มทั้งหมดuseradd, usermod, userdel, groupmod, groupdel
เป็นต้นสร้าง / อัปเดตไฟล์สำรองข้อมูลเหล่านี้หลังจากดำเนินการคำสั่งสำเร็จ
ฉันเห็นด้วยกับคำตอบของ @Sachin Divekar ว่านี่เป็น "ไฟล์สำรอง" แต่ฉันต้องการข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้างไฟล์และวิธีการตั้งค่าการอนุญาต บน CentOS6 การเรียกใช้usermod
เพื่อเปลี่ยนความเป็นสมาชิกกลุ่มคือ (ใหม่) การสร้าง / etc / group- ด้วยสิทธิ์ 0644 แทน "สามารถอ่านได้อย่างเดียวเป็นรูท" ตามที่อธิบายไว้ในคำถามเดิม
usermod
(และยูทิลิตี้การจัดการผู้ใช้ / กลุ่มอื่น ๆ ที่กล่าวถึงโดย @Sachin Divekar) เป็นส่วนหนึ่งของแพ็กเกจ shadow-utils (ฉันพบแหล่งที่มาสำหรับ shadow-4.1.5.1) และหลังจากขุดผ่านแหล่งข้อมูลฉันพบวิธี #create_backup ใน commonio .c (ดูได้ที่github.com ) ที่ใช้โดยยูทิลิตี้ผู้ใช้ / กลุ่มทั้งหมด ไฟล์สำรองข้อมูลตั้งชื่อตามไฟล์ต้นฉบับที่ติดกับ "-" (ในกรณีนี้คือ '/ etc / group-') และการอนุญาตของไฟล์สำรองถูกตั้งค่าเป็นสิทธิ์ของไฟล์ต้นฉบับ & 'ed with 0664 .
สิ่งนี้อธิบายได้ว่าทำไม - เมื่อ / etc / group เป็น chmod 0644 หลังจากทำงานgpasswd
หรือusermod
แก้ไขความเป็นสมาชิกกลุ่มโลคัล / etc / group- จะถูกสร้างขึ้นหากยังไม่มีอยู่และจะเป็น chmodded ถึง 0644
/etc/group
ผ่านคำสั่งกลุ่มและไม่แก้ไขโดยตรง