처음에 루트 비밀번호가 없어서 rootfs를 생성한 후 ansible을 통해 컨테이너를 생성하기 때문에 nspawn 컨테이너의 루트 비밀번호를 변경하고 싶습니다.
비밀번호 변경을 사용하는 것이 좋은 생각인가요?바꾸다모듈이 /etc/shadow
파일의 루트 줄을 대체합니까?
비대화형으로 비밀번호를 업데이트하는 다른 방법이 있습니까?
나는 시도했다:
echo user:pass | /usr/sbin/chpasswd
하지만 에코가 작동하지 않습니다. execv()를 수신합니다.failed: No such file or directory
답변1
passwd
이 상황에 적용됩니다. 옵션이 있습니다 --stdin
. 누군가 실행하면 표시될 수 있으므로 echo my-secret-password | passwd --stdin
사용 하지 마십시오. 운이 좋지 않으면 로그 파일에 표시될 수도 있습니다.echo my-secret-password
ps
#!/bin/sh
PASSWORD=...
passwd root --stdin <<EOF
$PASSWORD
EOF