Trên một bản phân phối Linux tiêu chuẩn (ví dụ Ubuntu) thường có /etc/group
và /etc/group-
, trong đó bản thứ hai chỉ có thể đọc được bằng root.
man group
chỉ mô tả /etc/group
.
Như vậy câu hỏi của tôi: Mục đích của là gì /etc/group-
?
Trên một bản phân phối Linux tiêu chuẩn (ví dụ Ubuntu) thường có /etc/group
và /etc/group-
, trong đó bản thứ hai chỉ có thể đọc được bằng root.
man group
chỉ mô tả /etc/group
.
Như vậy câu hỏi của tôi: Mục đích của là gì /etc/group-
?
Câu trả lời:
Nó là bản sao lưu của bản sao trước đó của tệp là phiên bản của tệp trước khi thay đổi cuối cùng. Nó được giữ bởi vì nó là tập tin rất quan trọng. Bạn có thể xóa nó, nhưng sao lưu là một "điều tốt".
Bạn có thể dễ dàng xác minh nó. Thử
# groupadd test
# diff /etc/group /etc/group-
Có những tập tin khác cũng được sao lưu giống như viz. /etc/passwd-
/etc/shadow-
.
Tất cả các tiện ích quản lý người dùng và nhóm như useradd, usermod, userdel, groupmod, groupdel
vv tạo / cập nhật các tệp sao lưu này sau khi thực hiện thành công lệnh.
Tôi đồng ý với câu trả lời của @Sachin Divekar rằng đây là "tệp sao lưu" nhưng tôi cần thêm thông tin về cách tạo tệp và cách đặt quyền của nó. Trên CentOS6, chạy usermod
để thay đổi thành viên nhóm là (tái) tạo / etc / nhóm- với quyền 0644 thay vì "chỉ có thể đọc là root" như được mô tả trong câu hỏi ban đầu.
usermod
(và tất cả các tiện ích quản lý nhóm / người dùng khác được đề cập bởi @Sachin Divekar) là một phần của gói Shadow-utils (Tôi đã tìm thấy các nguồn cho Shadow-4.1.5.1) và sau khi tìm hiểu các nguồn tôi đã tìm thấy phương thức #create_backup trong commonio .c (xem tại github.com ) được sử dụng bởi tất cả các tiện ích người dùng / nhóm. Tệp sao lưu được đặt tên theo tệp nguồn có hậu tố là "-" (trong trường hợp này là '/ etc / group-') và các quyền của tệp sao lưu được đặt thành quyền của tệp nguồn & 'ed với 0664 .
Điều này giải thích tại sao, khi mà / etc / group là chmod 0644, sau khi chạy gpasswd
hoặc usermod
sửa đổi thành viên nhóm cục bộ, / etc / group- được tạo nếu nó không tồn tại và được sửa đổi thành 0644.
/etc/group
thông qua các lệnh nhóm và không trực tiếp chỉnh sửa nó.