[[Настройка авторизации: файл паролей]]

Настройка авторизации: файл паролей

AuthUserFile - позволяет задать альтернативный файл с пользователями и паролями (вместо /etc/passwd)
Что позволит использовать: отличающиеся логин/пароль от системных, заводить ftp аккаунты без создания реальных пользователей в системе и т.п. и т.д.
Соответственно так же есть параметр AuthGroupFile, который переопределит /etc/group (пока это не так важно)

Создание файла

sudo touch /etc/proftpd/ftp.passwd
sudo chmod 600 /etc/proftpd/ftp.passwd

В конфиг сервера

proftpd.conf

...
## Файл авторизации
# default = /etc/passwd
AuthUserFile                    /etc/proftpd/ftp.passwd

## Порядок запроса авторизации
# default = none
AuthOrder                       mod_auth_file.c mod_auth_unix.c

## Авторизовать пользователя только если он имеет основной shell из списка /etc/shells
# default = on
RequireValidShell               off

...

Так же присутствует параметр AuthOrder. В данном примере аутентификация пользователя сначала проверяется в ftp.passwd, а потом в /etc/passwd.

Если один и тот же пользователь присутствует и обоих файлах, то аутентификация будет проходить по данным ftp.passwd.
Если AuthOrder не указан, то возможно будет зайти по любому из двух паролей для этого пользователя.

Теперь добавление пользователей

# с интерактивным вводом пароля
ftpasswd --file /etc/proftpd/ftp.passwd --name user1 --shell /bin/false --passwd --home /home/ftp/user1 --uid 222 --gid 65534
# пароль подается через stdin
echo pAsSwoRd | ftpasswd --file /etc/proftpd/ftp.passwd --name user2 --shell /bin/false --passwd -- stdin --home /home/ftp/user2 --uid 223 --gid 65534
Отключение RequireValidShell позволит указывать оболочку /bin/false для пользователей

Создание их домашних каталогов

mkdir /home/ftp/user1 ; chown 222:nogroup /home/ftp/user1
Удаление выглядит весьма странно и требует наличие параметров passwd home shell uid, но их можно указать произвольно
ftpasswd --file /etc/proftpd/ftp.passwd --delete-user --name user1 --passwd --home /home --shell /bin/false --uid 9999


Обсуждение

Konstantin vzOne Enchant, 2010/03/24 17:25

Утилиту ftpasswd можно скачать отсюда (если её нет в поставке вашего дистрибутива).

Ваш комментарий. Вики-синтаксис разрешён:
28​ -13 = ?
 
howto/proftpd/auth_file.txt · Последние изменения: 2012/06/03 21:52 (внешнее изменение)
Gentoo Linux Driven by DokuWiki