shells
文件是当前系统所有可用 shell
的列表文件。应用程序通过读取它可以知道需要使用的 shell 是否有效。每行指定一个 shell 的绝对路径,即从根目录(/)开始的路径。
例如,当非特权用户想要使用 chsh 命令更改自己登录所用的 shell 时。如果命令没有在 /etc/shell 中找到,那么将会拒绝更改。
这个文件对于某些程序来说是必需的,比如 GDM 在找不到
/etc/shells
时就不会启用头像登录界面,还有 FTP
守护进程通常会禁止使用不在这个文件里列出终端的用户登录。
cat > /etc/shells << "EOF"
# Begin /etc/shells
/bin/sh
/bin/bash
# End /etc/shells
EOF