Làm cách nào để đặt mật khẩu người dùng bằng passwd mà không cần nhắc?


20

Tôi đang viết một kịch bản để thêm một lượng lớn người dùng vào một hệ thống. Một phần của việc này liên quan đến việc thiết lập mật khẩu mặc định cho mỗi người dùng. Làm cách nào tôi có thể đặt mật khẩu của người dùng mà không cần nhắc mật khẩu trước?

Thật không may, passwd dường như không đưa ra một đối số cho biết mật khẩu mới được đặt. Tôi đang sử dụng Ubuntu 11.10.

Câu trả lời:


22

Hãy dùng thử:

usermod --password PASSWORD USERNAME

Điều duy nhất là điều này cần một chuỗi mật khẩu được mã hóa trước mà bạn phải tạo trước tiên.


1
... mà tôi có thể tạo bằng mkpasswd. Cảm ơn vô cùng!
Jake Petroules

16
Bạn cũng có thể sử dụng openssl để tạo mật khẩu được mã hóa. Ví dụ:usermod --password $(echo my_new_password | openssl passwd -1 -stdin) USERNAME
Eric Smith

1
Ba năm quá muộn. Tôi không thể đưa ra câu trả lời @EricSmith, nhưng tôi đã khám phá ra một phiên bản đơn giản hơn của lệnh đã hoạt động:usermod --password $(openssl passwd -1 {password}) {username}
BoCoKeith

13

Bạn nên xem chpasswdlệnh (nếu có trong hương vị linux của bạn):

echo 'userid:newpasswd' | chpasswd

Hoặc, bạn có thể gửi một danh sách tập tin userid: passwd cho mỗi tài khoản trên một dòng riêng biệt.

Đó là nó.


điều này làm việc cho tôi trongDockerfile
Vishrant

1

Lấy cảm hứng từ ý tưởng của Eric Smith, kết hợp openssl passwdusermod -pchỉ huy đã làm việc. Tạo giá trị băm của mật khẩu cùng với giá trị muối.

$ openssl passwd -1  -salt 5RPVAd clear-text-passwd43
$1$5RPVAd$vgsoSANybLDepv2ETcUH7.

Sau đó, sao chép chuỗi mã hóa vào usermod. Hãy chắc chắn để bọc nó với trích dẫn duy nhất.

$ usermod -p '$1$5RPVAd$vgsoSANybLDepv2ETcUH7.' root

Kiểm tra nó trong tập tin bóng tối.

$ grep root /etc/shadow
root:$1$5RPVAd$vgsoSANybLDepv2ETcUH7.:17774:0:99999:7:::

0

Bạn nên sử dụng lão hóa mật khẩu và đặt người dùng để họ phải thay đổi mật khẩu trong lần đăng nhập đầu tiên. Xem bài viết này .


Đây là những tài khoản chỉ dành cho FTP, nhưng lời khuyên tốt. ;)
Jake Petroules
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.