我在 CentOS 5 上从 RPMForge 安装了 rssh。然后我尝试将 shell 更改为 rssh 以使用一个现有用户,如下所示:
[root@ddinvps ofertoza]# chsh -s /usr/bin/rssh ofertoza
Changing shell for ofertoza.
Warning: "/usr/bin/rssh" is not listed in /etc/shells
Shell not changed.
好的,我将 /usr/bin/rssh 添加到 /etc/shells 中,现在我没有收到警告,只有这个:
[root@ddinvps ofertoza]# chsh -s /usr/bin/rssh ofertoza
Changing shell for ofertoza.
Shell not changed.
知道为什么会发生这种情况吗?这是一个普通用户,主目录为 /home/ofertoza。我想使用 rssh 将 sftp/scp 的访问权限限制为仅将一个网站的文件驻留在该目录中。
答案1
只需在 /etc/passwd 上直接编辑并将 /bin/bash 更改为 /usr/bin/rssh
答案2
的手册页usermod
提供了以下选项:
-s, --shell SHELL
The name of the user's new login shell. Setting this field to blank
causes the system to select the default login shell.