Không có người dùng như vậy nhưng người dùng ở trong tệp passwd


12

Nhìn vào các tập tin trong / etc /:

/etc/group:lbutler:*:1005:
/etc/master.passwd:lbutler:$6$s..../:1005:1005::0:0:L Butler:/home/lbutler:/bin/bash
/etc/passwd:lbutler:*:1005:1005:L Butler:/home/lbutler:/bin/bash

Nhưng:

$ passwd lbutler
passwd: lbutler: no such user

Ngoài ra, các tệp trong /home/lbutler/hiển thị là uid 1005 và gidlbutler

Những người dùng khác /etc/passwddường như không có vấn đề gì

Câu trả lời:


9

Có vẻ như một số lỗi đã xảy ra với bạn /etc/master.passwd. Bạn có thể khôi phục nó về trạng thái bình thường, thử:

  • vipwđể chỉnh sửa /etc/master.passwd.
  • Lưu nó mà không thay đổi.

Bạn cũng có thể sử dụng pwd_mkdbđể cập nhật cơ sở dữ liệu mật khẩu.


5
+1: OP có thể là người dùng Linux và nghĩ rằng HĐH thực sự chú ý đến / etc / passwd như một nguồn chính. Trên FreeBSD, các tệp DB được tạo từ / etc / passwd và đó là nguồn sự thật chính.
Warren Young

OP vui lòng sử dụng vipwtrong tương lai sau đó bạn không phải quản lý các chi tiết.
Winny

Sử dụng vipw và lưu không thay đổi không tạo ra sự khác biệt. Tôi đã xem xét các bản sao lưu và mật khẩu người dùng cho người dùng được liệt kê trước khi tệp này trong tệp master.passwd thay đổi ngay về thời gian quản gia ngừng có thể đăng nhập. Tôi có thể khôi phục master.passwd tôi có nên chạy pwd_mkdb /etc/master.passwd không? @winny: Tôi chưa bao giờ chỉnh sửa trực tiếp tệp passwd
lbutlr

Đây phải là đối số gọi đúng:pwd_mkdb -p /etc/master.shadow
Winny

2

Hãy thử pwd_mkdb -p /etc/master.passwd. Từ man pwd_mkdb:

 -p    Create a Version 7 style password file and install it into
       /etc/passwd.

1

Tôi nhận thấy rằng người dùng ngay lập tức trước khi lbutler có UID và GID là 10014 (thay vì 1014 dự kiến). Người dùng đó đã thay đổi mật khẩu của mình và sau đó, UID 1015 không thể đăng nhập. Sử dụng vipw tôi đảo ngược hai dòng và lưu tệp. Cả hai người dùng hiện có thể đăng nhập và quyền sở hữu xuất hiện chính xác. Cảm ơn các con trỏ.


0

FreeBSD không sử dụng các tệp cơ sở dữ liệu để tra cứu mật khẩu và người dùng, v.v. Vì vậy, / etc / passwd và master.passwd chỉ có ở đó vì lý do tương thích và thông tin. Một người không bao giờ nên dựa vào đó. Tôi không biết có cách nào để hỏi trực tiếp các tệp cơ sở dữ liệu đó không. Có lẽ họ nên cung cấp một số loại giao diện SQL cho nó để ppl có thể kiểm tra những gì người dùng đang sử dụng trên hệ thống, v.v. Sau đó, họ có thể bãi bỏ / etc / passwd và master.passwd hoàn toàn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.