![/etc/shells가 누락된 경우 로그인 쉘을 설정하십시오.](https://linux55.com/image/29519/%2Fetc%2Fshells%EA%B0%80%20%EB%88%84%EB%9D%BD%EB%90%9C%20%EA%B2%BD%EC%9A%B0%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%20%EC%89%98%EC%9D%84%20%EC%84%A4%EC%A0%95%ED%95%98%EC%8B%AD%EC%8B%9C%EC%98%A4..png)
수천 명의 사용자가 로그인한 서버에서 관리자는 몇 가지 기본 사항을 간과하고 있는 것 같습니다. 내 기본 쉘은 csh입니다. bash를 사용하고 싶지만 chsh
/etc/shells가 존재하지 않기 때문에 오류가 발생합니다. 설상가상으로, 내 두 번째 생각은 컴퓨터에서 사용할 수 없는 usermod였습니다.
확실한 해결책은 /etc/shells를 생성하는 것이지만 저는 관리자가 아니며 그러한 문제에 반응하지 않는 것 같습니다.
chsh 또는 usermod를 사용하는 것 외에 기본 쉘을 설정하는 다른 방법이 있습니까? 그렇지 않다면 /usr/bin/bash -l
로그인할 때마다 실행하는 것보다 더 좋은 방법이 있을까요?
답변1
로그인하면 csh가 제어권을 bash로 이전하도록 합니다. 이것을 당신의 .login
:
if ($?prompt == 0) then
: # non-interactive shell, be conservative
else if (-x /usr/bin/bash) then
exec /usr/bin/bash --login
fi