Назад | Перейти на главную страницу

Настройка VSFTPD на Centos, новый виртуальный пользователь не может подключиться

У меня есть сервер vsftpd, настроенный на centos. Старые пользователи, перечисленные в logins.txt, могут войти в систему через браузер wb. Проблема в том, что когда я создаю нового пользователя, я не могу войти в систему 530 неверная ошибка входа.

Шаги, предпринятые для создания логина пользователя: добавьте имя пользователя и пароль в logins.txt, в каталоге пользователя я создаю файл конфигурации пользователя:

anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_upload_enable=NO
dirlist_enable=YES
download_enable=YES
local_root=/var/ftpdata/user
write_enable=YES

и создайте домашний каталог в / var / ftpdata / user

после этого я выполняю команду для загрузки нового пользователя в базу данных

db42_load -T -t hash -f logins.txt vsftpd.login.db

и перезапустить службу

/etc/init.d/vsftpd restart

Таким образом, основная проблема заключается в том, что более старый пользователь может войти в систему, но вновь созданный пользователь не может войти в систему.

Вы добавляете пользователей в logins.txt. Но сервер использует vsftpd.login.db для проверки пароля. Я думаю, вам нужно повторно хешировать файл паролей после добавления нового пользователя.

Вы можете создать скрипт для автоматического добавления пользователей (convert.sh):

#!/bin/bash

db4.8_load -T -t hash -f logins.txt logins.db
chmod 600 logins.db

create.sh:

#!/bin/bash

USER=$1
PASS=$2

echo "$USER"+"$PASS"

#adding user and updating db
echo "$USER" >> logins.txt
echo "$PASS" >> logins.txt
db4.8_load -T -t hash -f logins.txt logins.db
chmod 600 logins.db

#creating homedir
mkdir /home/ftp/$USER
chown virtual:virtual /home/ftp/$USER
chmod 555 /home/ftp/$USER

#creating config
cd /etc/vsftpd/users_config/
touch "$USER"
echo "local_root=/home/ftp/$USER" >> "$USER"
echo "write_enable=YES" >> "$USER"
echo "anon_mkdir_write_enable=YES" >> "$USER"
echo "anon_other_write_enable=YES" >> "$USER"
echo "anon_upload_enable=YES" >> "$USER"
echo "chroot_local_user=YES" >> "$USER"

Установите разрешения и мод:

$ chmod 700 convert.sh 
$ chmod 700 create.sh