Добрый день.
Сегодня выявил такую странность в системе FreeBSD 9.2 с ядром GENERIC.
Пользователь (к примеру test) у которого в /etc/passwd в качестве shell'a указан bash.
(bash установлен но в файле /etc/shells bash не внесён) может заходить в систему как по ssh, так и через консоль.Но если поднять FTP то пользователь test по ftp подключится не может (FTP LOGIN REFUSED) пока bash не будет внесён в файл /etc/shells
На сколько я помню раньше такое было не возможно, если shell не был указан /etc/shells зайти в систему под ним не было никакой возможности.
На freebsd.org по этому поводу нечего не нашел.
Это какая то новая особенность 9.2 ?
> Но если поднять FTP то пользователь test по ftp подключится не может
> (FTP LOGIN REFUSED) пока bash не будет внесён в файл /etc/shellsЭто нормальное поведение.
Если хотите созавать учетки без возможности захода в систему (ssh/console), то используйте
/sbin/nologin или /usr/sbin/nologinУ Ftp серверов есть опция RequireValidShell , которая проверяет /etc/shells
ssh/console авторизуется через библиотеки PAM, там в большинстве случаев нет проверки getusershell, а соответственно проверки в /etc/shells
> Это нормальное поведение.
> Если хотите созавать учетки без возможности захода в систему (ssh/console), то используйте
> /sbin/nologin или /usr/sbin/nologinПроблема не в этом, проблема в том что пользователя пускает с shell'ом который не прописан в /etc/shells
Раньше такого не было.
Спасибо за ответ, будем рыться в мануалах
>> Это нормальное поведение.
>> Если хотите созавать учетки без возможности захода в систему (ssh/console), то используйте
>> /sbin/nologin или /usr/sbin/nologin
> Проблема не в этом, проблема в том что пользователя пускает с shell'ом
> который не прописан в /etc/shellsпускает куда?
>>> Это нормальное поведение.
>>> Если хотите созавать учетки без возможности захода в систему (ssh/console), то используйте
>>> /sbin/nologin или /usr/sbin/nologin
>> Проблема не в этом, проблема в том что пользователя пускает с shell'ом
>> который не прописан в /etc/shells
> пускает куда?Ну можно войти в систему (SSH/консоль). В 7-й ветке такого не было.
>>>> Это нормальное поведение.
>>>> Если хотите созавать учетки без возможности захода в систему (ssh/console), то используйте
>>>> /sbin/nologin или /usr/sbin/nologin
>>> Проблема не в этом, проблема в том что пользователя пускает с shell'ом
>>> который не прописан в /etc/shells
>> пускает куда?
> Ну можно войти в систему (SSH/консоль). В 7-й ветке такого не было.еще изучайте разницу в /etc/pam.d/sshd