Mất mật khẩu cho người dùng trên Máy chủ Linux: Làm cách nào để thiết lập lại?


17

Trên máy chủ, người dùng 16040 đã mất mật khẩu. Tôi có mật khẩu cho root nhưng không có mật khẩu cho người dùng 16040. Làm cách nào tôi có thể đặt lại mật khẩu của mình?

Với passwd 16040, unix hỏi tôi mật khẩu hiện tại mà tôi không có. Có một lệnh để thiết lập lại mật khẩu người dùng mà không cần mật khẩu hiện tại?

passwd 16040
Changing password for 16040.
Current password for 16040@friesbie.com:

Câu trả lời:


24

Nếu bạn chạy passwd 16040bằng root, bạn sẽ không được hỏi mật khẩu hiện tại.

Sau khi thay đổi mật khẩu, bạn nên xem xét việc cấp chage -d 0 16040. Điều này đặt ngày thay đổi cuối cùng của mật khẩu trong quá khứ; giả sử mật khẩu được đặt hết hạn trên hệ thống của bạn, điều này sẽ buộc người dùng thay đổi mật khẩu sau khi đăng nhập. Điều này cho họ cơ hội chọn mật khẩu chỉ họ biết.


3

Bạn nên cấp quyền passwd 16040root ( sudo passwd 16040nếu người dùng của bạn nằm trong tệp sudoers) để thay đổi mật khẩu của anh ấy / cô ấy. Nó sẽ không hỏi bạn cho cái hiện tại.

Hoặc, nếu bạn có quyền truy cập vật lý vào hộp, bạn có thể nối thêm init=/bin/bashdưới dạng tham số kernel để có quyền truy cập root và sau đó phát hành passwd 16040.


3
Có một dấu nhắc trong các lệnh nội tuyến là khá khó hiểu và có thể dễ dàng bị hiểu sai là một phần của lệnh. Vui lòng chỉ sử dụng lời nhắc trong dấu ngoặc kép. Ngoài ra, # >khá hiếm và ở đây >chỉ đơn giản là mời bị hiểu sai như là một phần của lệnh - thực tế phổ biến là sử dụng một đơn giản #cho root-shells và $cho những người không root.
Andreas Wiese

Bạn nói đúng, tôi đã chỉnh sửa câu trả lời của mình cho rõ ràng. Cảm ơn.
peperunas

1

Nếu bạn không thể đăng nhập trực tiếp như một root, bạn có thể thử

  • sudo /usr/bin/passwd 16040.
  • sudo -i và sau /usr/bin/passwd 16040

Tôi giả sử rằng đó passwdlà trong / usr / bin (bạn có thể xác minh bằng lệnh which passwd)


sudo bashđể bắt đầu một rootshell là (mặc dù thông thường) thực sự, thực sự xấu sudo. Đó là sudo -shoặc sudo -i(không đăng nhập hoặc đăng nhập shell, resp.). Điều này thậm chí còn tôn vinh bộ vỏ mặc định của bạn /etc/passwdmà không cần phải quan tâm đến nó. Ngoài ra, bashkhông có đường dẫn hoàn chỉnh là một ý tưởng tồi, vì đây sẽ là một trong những nhị phân giả đầu tiên mà người dùng độc hại sẽ đưa vào đâu đó $PATH.
Andreas Wiese

Tôi đồng ý về đặc điểm kỹ thuật của đường dẫn đầy đủ và cách sử dụng sudo -i, và vì vậy tôi đã sửa đổi câu trả lời ... nhưng nếu bạn nói về bảo mật và khả năng của một troian ẩn trong thì $PATHcó lẽ tốt hơn nên tránh sử dụng sudo -svì bạn thêm ít nhất $USER/binthư mục và tất cả các bí danh bạn có thể tưởng tượng ... :-)
Hastur

Thực sự là một điểm tốt, nhưng phụ thuộc vào sudocấu hình: cấu hình mặc định được cung cấp sudokhông giữ $HOMEbiến được đặt, do đó cuối cùng bạn sẽ có các tệp RC của riêng mình, chứ không phải các tệp $SUDO_USER.
Andreas Wiese
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.