내 문제: 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
하고 다시 시도하십시오.