ХОРОШО. Я знаю, что это один из самых часто задаваемых вопросов. Но большинство ответов либо говорят мне добавить nologin в разрешенные оболочки (нет ... не делаю этого), либо отключить SELinux (чего у меня нет - Ubuntu Server 16.04 RPi3).
Другой вариант - это установка моего pam_service_name
к ftp
. Хорошо, это сработало! Но затем я прочитал, что это позволяет любому войти в систему, поскольку это просто обход службы PAM. Итак, я подумал, давайте создадим файл с именем ftp
в /etc/pam.d/
каталог и работать с ним.
Я залил файл следующим образом:
auth required /lib/arm-linux-gnueabihf/security/pam_nologin.so
account required /lib/arm-linux-gnueabihf/security/pam_unix.so
password required /lib/arm-linux-gnueabihf/security/pam_unix.so
Я чего-то упускаю, не знаю чего. Я впервые возился с PAM, так что, честно говоря, я понятия не имею, что делаю.
Я хочу разрешить только пользователям unix с nologin
оболочка должна быть аутентифицирована vsftpd
.
С уважением
Прочитав несколько статей, я понял, как работает PAM.
Файлы в /etc/pam.d
- это в основном список условий, которые проверяются при использовании этого модуля / службы. Поэтому, когда я устанавливаю содержимое файла /etc/pam.d/ftp
на следующее:
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required pam_succeed_if.so quiet user ingroup ftp
auth required pam_succeed_if.so quiet shell = /usr/sbin/nologin
Я получаю то, что мне нужно, т.е. только пользователи UNIX, которые находятся в ftp Группа с нологин как оболочка может войти в систему.
USER
в /etc/ftpusers file
ЗАТЕМ ОТРИЦАТЬ ELSE ПОЗВОЛЯТЬ и НАЙТИ следующее ПРАВИЛОUSER
в GROUP ftp
ЗАТЕМ ПОЗВОЛЯТЬ и НАЙТИ следующее ПРАВИЛО ELSE ОТРИЦАТЬUSER
с SHELL = /usr/sbin/nologin
ЗАТЕМ ПОЗВОЛЯТЬ НАЙТИ следующее ПРАВИЛО ELSE ОТРИЦАТЬВсе правила в основном AND'ed
когда они типа ОБЯЗАТЕЛЬНЫЙ.
Я ссылаюсь на руководство, за которым следил. Я также использовал справочные страницы Linux для PAM, но не связывал их.
Не стесняйтесь добавлять все, что я пропустил. Я впервые работал с PAM, и я думаю, что мне нравится эта функция.
С уважением!