Próbuję masowo ustawić kilka haseł do kont użytkowników chpasswd
. Hasła powinny być generowane losowo i drukowane na stdout
(muszę je zapisać lub umieścić w magazynie haseł), a także przekazywane do chpasswd
.
Naiwnie zrobiłbym to w ten sposób
{
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)
Jednak martwię się o przekazanie nowego hasła jako argumentu wiersza poleceń echo
, ponieważ argumenty są zwykle widoczne dla innych użytkowników w ps -aux
(chociaż nigdy nie widziałem, aby echo
pojawiał się w nim jakikolwiek wiersz ps
).
Czy istnieje alternatywny sposób przygotowania wartości do mojego zwróconego hasła, a następnie przekazania go do chpasswd
?
echo
jest wbudowaną powłoką. Nie pojawi się w tabeli procesów.