我使用“useradd”命令在 ubuntu 中创建了一个普通用户帐户,但问题是我必须在控制台模式(在 tty 中,通过 ctrl+alt+Fn)和远程模式(通过 ssh)中键入“bash”才能启动此用户帐户的 bash shell。对我来说,bash shell 最重要的部分是自动完成功能,所以我的问题是如何让 bash shell 在登录帐户时自动启动。
我使用 ubuntu 13.04 32 位版本。感谢您的任何建议!
答案1
您可能需要将 bash 设置为新用户的登录 shell。如果您以该用户身份登录:
chsh -s /bin/bash
为其他用户更改
sudo chsh -s /bin/bash username
将来您可能想要使用adduser
而不是低级useradd
,因为它默认将 bash 设置为新的登录 shell。
您可以通过查看 /etc/passwd 文件或使用以下命令来检查登录 shell(以及其他详细信息)
getent passwd username
答案2
首先,检查是否useradd
显示默认值SHELL
。为此,请发出:
useradd -D
这将输出类似以下内容的内容:
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
这些值取自/etc/default/useradd
。现在,您有 2 个解决方案:
- 编辑
/etc/default/useradd
并更改的值SHELL
,或 - 添加用户时覆盖 shell 的值:
useradd -D -s /bin/bash
更多信息请参阅man useradd
。