如果 /etc/shells 丢失,设置登录 shell

如果 /etc/shells 丢失,设置登录 shell

在数千名用户登录的服务器上,管理员似乎忽略了一些基础知识。我的默认 shell 是 csh 我想使用 bash,但chsh由于 /etc/shells 不存在而出现错误。更糟糕的是,我的第二个想法是 usermod,它在机器上不可用。

明显的解决方案是创建 /etc/shells 但我不是管理员,他们似乎对此类问题没有反应。

除了使用 chsh 或 usermod 之外,还有其他方法可以设置我的默认 shell 吗?如果不是,有什么比/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

相关内容