Привіт
Зустрівся з проблемою:
На FTP (ProFtpd) сервері потрібно мати кількох користувачів,
які мають деякі спільні файли.
Куріння мануалів не дало повноціного.
Найшов рішення на основі VsFTPd+ Virtual User.
Ну і відповідно хід виконання:
Крок 1:
Встановлення останніх оновлень.
Крок 2:
Встановлення VsFTPd:
Крок 3:
Встановлення пакунку 'pam-pam_pwdfile', він потрібен щоб при авторизації користувачі використовувався файл, який створений командою 'htpasswd'ю
Його можна знайти:
* http://cpbotha.net/files/pam_pwdfile/
* http://rpm.pbone.net/index.php3/stat/4/idpl/2325505/dir/pld/com/pam-pam_pwdfile-0.99-2.i386.rpm.html
Крок 4:
Створення або редакція файлу '/etc/pam.d/vsftpd', він має мати наступний вигляд:
Крок 5:
Створюємо файл із користувачами:
Крок 6:
Змінюємо або редагуємо '/etc/vsftpd/vsftpd.conf'
Варто звернути увагу, що всі файлові операції(chown) будуть відноситься до системного користувача в даному моменту 'apache' ви можете його змінити на свого
Рядок 'chown_username=apache'
Крок 7:
Створюємо файли конфігурації (ACL) для наших FTP користувачів.
Назви файла та імена користувачів має бути однаковим.
На даний момент ми маємо 2 користувача admin та admin1
Вигляд '/etc/vsftpd/vsftpd_user_conf/admin':
Та вигляд '/etc/vsftpd/vsftpd_user_conf/admin1':
Взагальному все.
Зустрівся з проблемою:
На FTP (ProFtpd) сервері потрібно мати кількох користувачів,
які мають деякі спільні файли.
Куріння мануалів не дало повноціного.
Найшов рішення на основі VsFTPd+ Virtual User.
Ну і відповідно хід виконання:
Крок 1:
Встановлення останніх оновлень.
Крок 2:
Встановлення VsFTPd:
$ yum install vsftpd -y
Крок 3:
Встановлення пакунку 'pam-pam_pwdfile', він потрібен щоб при авторизації користувачі використовувався файл, який створений командою 'htpasswd'ю
Його можна знайти:
* http://cpbotha.net/files/pam_pwdfile/
* http://rpm.pbone.net/index.php3/stat/4/idpl/2325505/dir/pld/com/pam-pam_pwdfile-0.99-2.i386.rpm.html
$ rpm -i pam-pam_pwdfile-0.99-2.i386.rpm
Крок 4:
Створення або редакція файлу '/etc/pam.d/vsftpd', він має мати наступний вигляд:
#%PAM-1.0 auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth required /lib/security/pam_pwdfile.so pwdfile /etc/vsftpd/vsftpd_pwdfile account required /lib/security/pam_permit.so #
Крок 5:
Створюємо файл із користувачами:
$ htpasswd -c /etc/vsftpd/ftpusers adminта добавляемо решту користувачів
$ htpasswd /etc/vsftpd/ftpusers admin1або
$ htpasswd -b /etc/vsftpd/ftpusers admin1 admin1password
Крок 6:
Змінюємо або редагуємо '/etc/vsftpd/vsftpd.conf'
Варто звернути увагу, що всі файлові операції(chown) будуть відноситься до системного користувача в даному моменту 'apache' ви можете його змінити на свого
Рядок 'chown_username=apache'
# vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES anon_umask=000 local_umask=000 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES chown_uploads=YES chown_username=apache xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES idle_session_timeout=600 data_connection_timeout=220 chmod_enable=YES file_open_mode=0777 virtual_use_local_privs=YES ftpd_banner=Welcome to FTP service. chroot_local_user=YES user_sub_token=$USER user_config_dir=/etc/vsftpd/vsftpd_user_conf guest_enable=yes guest_username=site pasv_enable=YES pasv_min_port=11345 pasv_max_port=11350 ls_recurse_enable=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES
Крок 7:
Створюємо файли конфігурації (ACL) для наших FTP користувачів.
Назви файла та імена користувачів має бути однаковим.
На даний момент ми маємо 2 користувача admin та admin1
$ mkdir -pv /etc/vsftpd/vsftpd_user_conf $ touch /etc/vsftpd/vsftpd_user_conf/admin $ touch /etc/vsftpd/vsftpd_user_conf/admin1
Вигляд '/etc/vsftpd/vsftpd_user_conf/admin':
# /etc/vsftpd/vsftpd_user_conf/admin dirlist_enable=YES download_enable=YES local_root=/srv/swww_home/ write_enable=YES chmod_enable=YES
Та вигляд '/etc/vsftpd/vsftpd_user_conf/admin1':
# /etc/vsftpd/vsftpd_user_conf/admin1 dirlist_enable=YES download_enable=YES local_root=/srv/swww_home/ write_enable=YES chmod_enable=YES
Взагальному все.
Варто попередньо переглянути ці доки:
P.S.
Можливі проблеми:
Користувач Ftp не може залогуватись
Рішення:
1) перевірити чи паролі співпадають
2) перевірити
чи 'local_root' користувача є (створений) та
чи локальний користувач, від якого операції проводяться має прово туди зайти
типу
su apache -c 'cd /srv/swww_home/; mkdir -pv ./test'
3) Перевірити чи 'pam_listfile.so' знаходится саме там як прописано у файлу '/etc/pam.d/vsftpd'.
Коментарі