Câu trả lời:
Để xác minh passwdvà shadowtập tin tương ứng , sử dụng pwck. Để xác minh groupvà tương ứng gshadowbốc lửa, sử dụng grpck'. Xem các trang để biết chi tiết về các hành động họ thực hiện.
Chỉnh sửa bằng tay /etc/passwdđược thực hiện tốt nhất (nếu có) với vipwvà vipw -scho shadowtệp. Đối với /etc/groupvà /etc/gshadowsử dụng vigrvà vigr -s, tương ứng. Sử dụng các công cụ này không chỉ cung cấp một khóa để ngăn chặn muultipl, cập nhật người dùng đồng thời mà còn cung cấp kiểm tra tính hợp lệ.
Nói chung, sửa đổi mật khẩu và các tệp nhóm được thực hiện tốt nhất bằng cách sử dụng tiêu chuẩn user(add|mod|del)và group(add|mod|del)công cụ.
Không có lệnh nào để áp dụng các thay đổi từ tệp / etc / passwd.
Nếu người dùng mà chi tiết bạn đã thay đổi được đăng nhập, thì chỉ cần đăng nhập lại để áp dụng các thay đổi. Nếu không, chúng sẽ có sẵn ngay sau khi đăng nhập.
Điều này là do đăng nhập đọc chi tiết từ tệp passwd trong khi đăng nhập và giữ nó trong bộ nhớ cho đến khi đăng xuất.
Tôi đã thành công với update-passwdlệnh sau khi tôi chỉnh sửa thủ công tệp / etc / passwd trên các hệ thống dựa trên Debian (ví dụ: Ubuntu). Tôi biết đây KHÔNG phải là mục đích sử dụng của lệnh này, nhưng nó cũng hoạt động cho mục đích này. Xem trang người dùng của nó để biết thêm các bản sao: http://manpages.ubfox.com/manpages/precise/man8/update-passwd.8.html
Trên các hệ thống dựa trên Red Hat / CentOS tôi không tìm thấy lệnh tương đương, trên các hệ thống đó tôi phải thực hiện khởi động lại hệ thống để thực hiện các thay đổi có hiệu lực.
Như ai đó đã đề cập, tốt nhất không nên chỉnh sửa tệp / etc / passwd bằng tay. Thay vào đó tôi sử dụng các lệnh useradd / userdel / usermod bất cứ khi nào có thể. Lý do hợp lệ duy nhất để chỉnh sửa các tập tin / etc / passwd và / etc / nhóm IMO là khi tôi cần sao chép nhiều tài khoản từ một hệ thống khác. Sau khi thêm ví dụ 100 tài khoản theo cách này, tôi thường thực hiện khởi động lại toàn bộ hệ thống. Ngoài ra, khi bạn chỉnh sửa thủ công các tệp / etc / passwd và / hoặc / etc / Groups, bạn cũng không được quên chỉnh sửa các tệp bóng thích hợp.
Tôi không nghĩ rằng có một lệnh như vậy là không cần thiết ở nơi đầu tiên Ngoài ra, không nên chỉnh sửa trực tiếp tệp đó, thay vào đó hãy sử dụng các lệnh thích hợp như useradd và passwd
Nếu bạn không bị thuyết phục thì chỉ cần khởi động lại sau khi chỉnh sửa tệp đó và tất cả các thay đổi sẽ có hiệu lực
Bạn không nên sửa đổi /etc/passwdbằng tay; sử dụng usermodthay thế
Ví dụ:
Nếu bạn muốn thay đổi thư mục nhà của người dùng, hãy sử dụng lệnh này:
usermod --home /path/to/home/dir username
vipwnên được sử dụng.
passedtập tin được một trong hai biên soạn xuống một dạng nhị phân đó là nhanh hơn để xử lý, hoặc được giữ chỉ để tương thích và các dữ liệu phải được dịch sang hình thức mật khẩu DB mẹ đẻ của hệ điều hành.