В сусе 12.3 есть (был?) косяк с vsftp
2013-03-14T19:00:52.496856+06:00 suse123 vsftpd: PAM audit_log_acct_message() failed: Operation not permitted
Показаны сообщения с ярлыком vsftpd. Показать все сообщения
Показаны сообщения с ярлыком vsftpd. Показать все сообщения
четверг, 20 июня 2013 г.
пятница, 12 августа 2011 г.
Быстрая настройка vsftpd в CentOS
В целом, vsftpd безопаснее чем proftpd, поэтому будем ставить его.
yum -y install vsftpd
chkconfig vsftpd on
service vsftpd start
Со штатными настройками будет пускать пользователей, имеющих аккаунты в системе, с их паролями.
! по умолчанию разрешены анонимные логины!
Возможно изменить штатное поведение и авторизовывать не только системных пользователей, но и по спец списку. Формально они тогда будут работать от заданного пользователя типа ftpuser.
Не забываем, что это настраивается через pam, в /etc/pam.d/vsftpd
Штатный файл:
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
BDB
Для авторизации через db - лучше создать отдельный файл и его задать в конфиге
/etc/pam.d/vsftpd-db
Выбор pam-конфига через pam_service_name=vsftpd-db
session optional pam_keyinit.so force revoke
auth required /lib64/security/pam_userdb.so debug db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so debug db=/etc/vsftpd/login
При этом файл с паролями будет в /etc/vsftpd/login.db
Формат файла-оригинала (login.txt):
юзер1
пароль1
юзер2
пароль2
(перевод строки в конце. Без него может не работать!)
Генерация файла паролей:
db_load -T -t hash -f login.txt /etc/vsftpd/login.db
подробнее
Через MySQL
ставим pam_mysql
/etc/pam.d/vsftpd-mysql
auth required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2 account required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
Проверить работу mysql, добавить базу и пользователя
CREATE DATABASE vsftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
FLUSH PRIVILEGES;
Создаем таблицу:
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;
Добавить системного пользователя
vsftpd:*:1003:1003:User &:/home/vsftpd:/sbin/nologin
Добавление пользователя
#mysql -u root
USE vsftpd;
INSERT INTO accounts (username, pass) VALUES(’testuser’, PASSWORD(’secret’));
quit;
Подробнее
Опций там довольно много и доточка "под себя" может спокойно занять и неделю и больше.
yum -y install vsftpd
chkconfig vsftpd on
service vsftpd start
Со штатными настройками будет пускать пользователей, имеющих аккаунты в системе, с их паролями.
! по умолчанию разрешены анонимные логины!
Возможно изменить штатное поведение и авторизовывать не только системных пользователей, но и по спец списку. Формально они тогда будут работать от заданного пользователя типа ftpuser.
Не забываем, что это настраивается через pam, в /etc/pam.d/vsftpd
Штатный файл:
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
BDB
Для авторизации через db - лучше создать отдельный файл и его задать в конфиге
/etc/pam.d/vsftpd-db
Выбор pam-конфига через pam_service_name=vsftpd-db
session optional pam_keyinit.so force revoke
auth required /lib64/security/pam_userdb.so debug db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so debug db=/etc/vsftpd/login
При этом файл с паролями будет в /etc/vsftpd/login.db
Формат файла-оригинала (login.txt):
юзер1
пароль1
юзер2
пароль2
(перевод строки в конце. Без него может не работать!)
Генерация файла паролей:
db_load -T -t hash -f login.txt /etc/vsftpd/login.db
подробнее
Через MySQL
ставим pam_mysql
/etc/pam.d/vsftpd-mysql
auth required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2 account required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
Проверить работу mysql, добавить базу и пользователя
CREATE DATABASE vsftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
FLUSH PRIVILEGES;
Создаем таблицу:
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;
Добавить системного пользователя
vsftpd:*:1003:1003:User &:/home/vsftpd:/sbin/nologin
Добавление пользователя
#mysql -u root
USE vsftpd;
INSERT INTO accounts (username, pass) VALUES(’testuser’, PASSWORD(’secret’));
quit;
Подробнее
Опций там довольно много и доточка "под себя" может спокойно занять и неделю и больше.
суббота, 5 марта 2011 г.
vsftpd - 530 Permission denied.
При попытке зайти по фтп, выдавало
530 Permission denied.
Под разными пользователями (не рутом), на всех такое.
Есть решение для 3.0.0+: allow_writeable_chroot=YES
For the extended vsFTPd build (vsftpd-ext):
allow_writable_chroot=YES
Обновление vsftpd под дебианом/убунтой
Here are the steps to be taken (copy paste from the tutorial, in case the link dies)
login as root (or sudo..) and do the following:
apt-get install python-software-properties
sudo add-apt-repository ppa:thefrontiergroup/vsftpd
sudo apt-get update
sudo apt-get install vsftpd
echo "allow_writeable_chroot=YES" >> allow_writeable_chroot=YES
sudo service vsftpd restart
Если что - доки о настройке
официальный
перевод большинства опций
http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/
http://www.boxtricks.com/500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/
http://stackoverflow.com/questions/16102996/vsftpd-refusing-to-run-with-writable-root-inside-chroot
530 Permission denied.
Под разными пользователями (не рутом), на всех такое.
Есть решение для 3.0.0+: allow_writeable_chroot=YES
For the extended vsFTPd build (vsftpd-ext):
allow_writable_chroot=YES
Обновление vsftpd под дебианом/убунтой
Here are the steps to be taken (copy paste from the tutorial, in case the link dies)
login as root (or sudo..) and do the following:
apt-get install python-software-properties
sudo add-apt-repository ppa:thefrontiergroup/vsftpd
sudo apt-get update
sudo apt-get install vsftpd
echo "allow_writeable_chroot=YES" >> allow_writeable_chroot=YES
sudo service vsftpd restart
Если что - доки о настройке
официальный
перевод большинства опций
http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/
http://www.boxtricks.com/500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/
http://stackoverflow.com/questions/16102996/vsftpd-refusing-to-run-with-writable-root-inside-chroot
Подписаться на:
Сообщения (Atom)