nspawn 컨테이너에 대한 비대화형 비밀번호 변경

nspawn 컨테이너에 대한 비대화형 비밀번호 변경

처음에 루트 비밀번호가 없어서 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-passwordps

#!/bin/sh

PASSWORD=...

passwd root --stdin <<EOF
$PASSWORD
EOF

관련 정보