dd os 이미지가 있고 이를 마운트하고 파일을 편집할 수 있지만 루트 사용자에게는 비밀번호가 없습니다. 그래서 이미지를 구울 때 루트 비밀번호를 설정할 때까지 shh를 통해 로그인할 수 없습니다. 나는 그것을 바꾸고 싶지 않습니다. 그래서 uart 어댑터를 사용하고 루트로 로그인한 후 수동으로 비밀번호를 변경해야 합니다. 해당 단계를 건너뛰고 루트 비밀번호를 포함하도록 dd 이미지를 수정하면 더 간단할 수 있지만 방법을 모르겠습니다. 제안해 주세요.
답변1
설치할 수 있고 운영 체제의 올바른 아키텍처가 있는 경우(예: 호스트와 동일하거나 호스트와 호환 가능 - 예: amd64 호스트의 amd64 chroot 또는 amd64 호스트의 x86 32비트 chroot) 적어도 실행 가능한 최소 운영 체제의 올바른 디렉토리 구조에 있으면 chroot
거기에 들어가서 실행할 수 있습니다 passwd
(또는 실행에 필요한 다른 모든 것).
chroot
지정한 디렉토리가 루트 디렉토리인 것처럼 쉘 또는 기타 명령을 실행하십시오. 이것이 작동하려면 디렉토리에 자체 /etc, /bin, /usr, /lib 및 최소한 필요한 최소 구성 파일, 바이너리 및 라이브러리가 포함된 기타 디렉토리가 있어야 합니다.
예를 들어 디스크 이미지를 다음과 같이 마운트한 경우 /mnt
:
# chroot /mnt
# passwd
.
. do anything else you need
.
# exit
또는 chroot /mnt passwd
명령을 실행하기만 하면 되는 경우에는 명령을 실행하면 됩니다.
man chroot
명령줄 옵션 요약을 보려면 참고자료를 참조하고, GNU coreutils를 사용하는 경우 전체 문서를 보려면 info chroot
또는 를 실행하세요.pinfo chroot
/root/.ssh/authorized_keys
그런데 루트 비밀번호를 설정하는 대신(또는 동시에) SSH 공개 키를 디스크 이미지 파일에 추가할 수도 있습니다. 이렇게 하면 PasswordAuthentication no
이미지를 배포하기 전에 설정할 수 있습니다 .