답변:
usermod를 사용해보십시오 :
usermod --password PASSWORD USERNAME
유일한 것은 이것이 당신이 먼저 생성 해야하는 사전 암호화 된 암호 문자열이 필요하다는 것입니다.
usermod --password $(echo my_new_password | openssl passwd -1 -stdin) USERNAME
usermod --password $(openssl passwd -1 {password}) {username}
에릭 스미스의 아이디어에서 영감을 얻은 결합 openssl passwd
과 usermod -p
명령. 솔트 값과 함께 비밀번호의 해시 값을 생성합니다.
$ openssl passwd -1 -salt 5RPVAd clear-text-passwd43
$1$5RPVAd$vgsoSANybLDepv2ETcUH7.
그런 다음 암호화 된 문자열을 usermod에 복사하십시오. 작은 따옴표로 묶어야합니다.
$ usermod -p '$1$5RPVAd$vgsoSANybLDepv2ETcUH7.' root
섀도 파일에서 확인하십시오.
$ grep root /etc/shadow
root:$1$5RPVAd$vgsoSANybLDepv2ETcUH7.:17774:0:99999:7:::
(echo user; echo password) | passwd
물리적 호스트와 컨테이너 모두에서 다양한 OS (ubuntu xenial, bionic, debian9,10, centos75,76, coreos)에서 작동합니다.
echo user:password | chpasswd
일부 OS에서는 작동하지만 debian9,10과 같은 일부 OS는 can not connect to /var/run/nscd/socket
/etc/nsswitch.conf를 사용하여 비밀번호를 저장할 위치를 결정하므로 오류를 표시 합니다.