/etc/shells가 누락된 경우 로그인 쉘을 설정하십시오.

/etc/shells가 누락된 경우 로그인 쉘을 설정하십시오.

수천 명의 사용자가 로그인한 서버에서 관리자는 몇 가지 기본 사항을 간과하고 있는 것 같습니다. 내 기본 쉘은 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

관련 정보