Инструменты пользователя

Инструменты сайта


ftp-vsftpd-mysql

Установка vsftpd с использованием авторизации по БД mysql

Ставим пакеты:
apt-get install vsftpd libpam-mysql

Заходим в mysql с рутовым паролем

mysql -u root -p

Cоздаем необходимы таблицы и пользователей. (поменяйте пароль не свой)

CREATE DATABASE vsftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'pass';
FLUSH PRIVILEGES;
USE vsftpd;
CREATE TABLE `accounts` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 30 ) NOT NULL ,
`pass` VARCHAR( 50 ) NOT NULL ,
UNIQUE (
`username`
)
) ENGINE = MYISAM ;
quit;

Добавляем пользователя

groupadd web
useradd --home /home/web --gid web -m --shell /bin/false web

Переименовываем старый конфиг и создаем новый

mv /etc/vsftpd.conf /etc/vsftpd.conf_orig
touch /etc/vsftpd.conf
nano /etc/vsftpd.conf

Пишем:

force_dot_files=YES
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
guest_enable=YES
guest_username=web
local_root=/home/web/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf
data_connection_timeout=600
idle_session_timeout=600
ftpd_banner=Come silently, ask a little, leave quickly.

Создаем папки для доп. конфигурации, настраиваем идентификацию.

mkdir /etc/vsftpd_user_conf
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_orig
cat /dev/null > /etc/pam.d/vsftpd
nano /etc/pam.d/vsftpd

Пишем (не забываем про пароль)

auth required pam_mysql.so user=vsftpd passwd=__pass__ host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=__pass__ host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2

перезапускаем

/etc/init.d/vsftpd restart

Добавление пользлвателей: 1) добавить запись в БД.

mysql -u root -p
USE vsftpd;
INSERT INTO accounts (username, pass) VALUES('site', PASSWORD('111111'));
quit;

2.Создать каталог и проставить нужные права

mkdir /home/web/site
chown web:web /home/web/site
ftp-vsftpd-mysql.txt · Последние изменения: 02.11.2014 20:49 (внешнее изменение)

Инструменты страницы