![잠긴 파일로 인해 chsh를 사용할 때 오류가 발생하여 쉘을 Fish 쉘로 설정할 수 없습니다. [닫기]](https://linux55.com/image/83495/%EC%9E%A0%EA%B8%B4%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%9D%B8%ED%95%B4%20chsh%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EB%95%8C%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%95%98%EC%97%AC%20%EC%89%98%EC%9D%84%20Fish%20%EC%89%98%EB%A1%9C%20%EC%84%A4%EC%A0%95%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
내 문제: CentOS 7에서 "student" 사용자의 기본 셸을 Fish-shell로 설정할 수 없습니다. .gz를 다운로드하고, 구성하고, 만들고, 설치하여 fish-shell을 설치했습니다.
output of which fish
/usr/local/bin/fish
표준 "학생" 계정에서 su를 실행하면 Fish가 기본 셸로 설정된 루트로 업그레이드할 수 있습니다. 하지만 내가 달릴 때
student@localhost ~> whoami
root
student@localhost ~>
/root
student@localhost ~> sudo chsh -s /usr/local/bin/fish student
Changing shell for student.
chsh: user attribute not changed: Invalid contents of lock `/etc/passwd.lock`
/etc/passwd를 보면 아무것도 변경되지 않은 것으로 보입니다.
내가 무엇을 할 수 있는지 아시나요? 잠긴 파일로 인해 계속할 수 없는 것 같습니다.
답변1
/etc/passwd
파일을 변경하려는 이전 시도 중 하나가 잠긴 파일에 일부 정크를 남긴 것 같습니다 .
이 잠금 파일은 여러 업데이트가 서로 취소되는 것을 방지합니다. 시스템을 혼자 사용하는 경우 파일을 삭제 /etc/passwd.lock
하고 다시 시도하십시오.