Tôi đang cố gắng thiết lập hàng loạt mật khẩu tài khoản người dùng bằng cách sử dụng chpasswd
. Mật khẩu nên được tạo ngẫu nhiên và được in ra stdout
(tôi cần ghi lại hoặc đặt chúng vào một cửa hàng mật khẩu), và cũng được chuyển vào chpasswd
.
Ngây thơ, tôi sẽ làm điều này như thế này
{
echo student1:$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo '')
echo student2:$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo '')
} | tee >(chpasswd)
Tuy nhiên, tôi lo lắng về việc chuyển mật khẩu mới dưới dạng đối số dòng lệnh echo
, bởi vì các đối số thường hiển thị cho những người dùng khác ps -aux
(mặc dù tôi chưa bao giờ thấy bất kỳecho
dòng xuất hiện ps
).
Có cách nào khác để thêm giá trị vào mật khẩu trả lại của tôi và sau đó chuyển nó vào chpasswd
không?
echo
là một vỏ tích hợp. Nó sẽ không xuất hiện trong bảng quy trình.