Câu trả lời:
Bạn có thể sử dụng useradd
để thiết lập mọi thứ bao gồm cả mật khẩu. Mật khẩu phải được mã hóa, nhưng bạn có thể sử dụng openssl
để tạo mật khẩu md5 nếu bạn muốn chỉ định mật khẩu văn bản đơn giản:
useradd -u 12345 -g users -d /home/username -s /bin/bash -p $(echo mypasswd | openssl passwd -1 -stdin) username
Tuy nhiên, bạn có thể muốn loại trừ điều này khỏi lịch sử của mình, nếu bạn đang sử dụng mật khẩu văn bản gốc trong lệnh. Bạn có thể thêm một khoảng trắng trước lệnh để loại trừ nó khỏi lịch sử. Nếu bạn đang chạy lệnh này trên nhiều máy, bạn có thể chỉ muốn tạo mật khẩu một lần và sử dụng trực tiếp trong lệnh:
useradd -u 12345 -g users -d /home/username -s /bin/bash -p '$1$NNfXfoym$Eos.OG6sFMGE8U6ImwBqT1' username
Bạn sẽ có thể sử dụng một cái gì đó như thế này:
adduser --uid 3434 --password my_password my_login
Dường như useradd
sẽ mã hóa mật khẩu bằng mật mã. Nếu bạn muốn sử dụng phương pháp khác (MD5, SHA256, SHA512), bạn có thể tạo người dùng useradd
và đặt mật khẩu với chpasswd
, Bạn có thể chạy:
useradd <options> && echo username:password | chpasswd --crypt-method=SHA512
Phương pháp mã hóa mật khẩu mặc định trên toàn hệ thống của bạn được đặt trong /etc/login.defs trong biến ENCRYPT_METHOD. &&
nguyên nhân chpasswd
chỉ chạy nếu việc tạo của người dùng useradd
thành công (mã thoát 0)
Một trò chơi đến muộn - RHEL 7.1 - điều sau đây hoạt động. Tạo người dùng SUDO, không mã hóa mật khẩu và đăng nhập ngay lập tức với tư cách là người dùng mới:
U=youzerneim; P="pswrd"; adduser $U; echo $P | passwd $U --stdin; usermod -aG wheel $U; su - $U
-u
là cần thiết, trong trường hợp này, trừ khi bạn muốn chọn một UID cụ thể.