zsh를 설치하고 루트 쉘 /bin/bash를 /usr/bin/zsh로 변경했습니다. 그런 다음 재부팅하고 sudo su를 입력했습니다. "도움말을 실행할 수 없습니다. 해당 파일이나 디렉터리가 없습니다"라고 뜹니다. 그래서 sudo bash를 입력했습니다. 그러나 "echo $SHELL"을 입력하면 루트 쉘이 "help"라고 표시됩니다. 이 문제를 어떻게 해결할 수 있나요?
답변1
이 오류 메시지 는 루트의 로그인 쉘이 유효한 쉘로 Cannot execute help: No such file or directory
설정되었음을 나타냅니다 .help
올바른 명령을 실행하여 chsh
이 문제를 해결할 수 있습니다.
sudo chsh -s /bin/bash root
또는 루트의 로그인 기록을 편집하여 /etc/passwd
. 파일은 다음 명령을 사용하여 편집해야 합니다.vipw
(직접적으로는 절대 아님):
sudo vipw
대부분의 Linux 시스템에서 를 사용할 때 편집기에서 열린 파일의 루트 항목은 vipw
다음과 같아야 합니다.
root:x:0:0:root:/root:/bin/bash
마지막으로 구분된 필드가 시스템의 루트 로그인 쉘에 대한 올바른 경로인지 확인해야 합니다. :
그렇지 않은 경우 편집기에서 변경하십시오. 그런 다음 파일을 저장하고 종료하십시오.
참고로 절대 있습니다아니요루트의 로그인 쉘을 변경하는 것은 언제든지 루트로 로그인하거나 대화형 루트 쉘을 사용하는 것을 발견해서는 안 되기 때문에 유익합니다.
시스템에서 수행해야 할 모든 관리 작업은 수행 sudo
해야 하는 명령 뒤에 명령을 사용하여 수행할 수 있습니다.
su
또한 와 함께 사용할 필요가 없습니다 sudo
. 이것은 질문에 대한 답변에서 논의됩니다.sudo su를 실행해야 할 이유가 있나요?