Vsftpd virtual users
Согласно различным ссылкам на установку виртуальных пользователей в vsftpd, настроил все как надо. Но хотелось бы автоматизировать процесс заведения пользователей и выдачи home-каталогов. В итоге получилось такое решение.
Настраиваем logins.sh, который собственно все делать и будет.
#!/bin/bash
IFS=:
LOGINS_DB=/etc/vsftpd/vsftpd_login.db
FTP_DIR=/var/ftp
rm -f $LOGINS_DB
rm -f $FTP_DIR/*
while read US PW HM
do
if [ -d $HM ]; then
rm -rf $FTP_DIR/$US;
ln -s $HM $FTP_DIR/$US;
(echo "$US";echo "$PW") |db33_load -T -t hash $LOGINS_DB
fi
done < ftp.passwd
chmod 600 $LOGINS_DB
При этом, write_enable=YES в глобальном конфиге, а конкретная директория должна иметь права на запись чтобы виртуал мог заливать файлы на ftp.
db33_load - для конкретной инсталляции надо брать соотв. версию утилиты
Файл ftp.passwd состоит из
Естественно, его надо chmod 600 как и vsftpd_login.db.