apt-get install ssh — Удалённый доступ ssh через putty
apt-get install vsftpd — установить ftp сервер
nano /etc/vsftpd.conf — редактировать файл конфигурации (поправить коменты):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
listen=YES </code><em><code>#служба </code></em> <em><code>vsftpd будет сама слушать порт входящих соединений.</code></em><code> anonymous_enable=NO </code><em><code>#запретить вход анонимам</code></em><code> local_enable=YES </code><em><code>#разрешить вход локальным пользователям</code></em><code> write_enable=YES </code><em><code>#разрешить загрузку файлов</code></em><code> local_umask=022 </code><em><code>#полный доступ владельцу, чтение группе и остальным.</code></em><code> use_localtime=YES </code><em><code>#использовать локальное время сервера</code></em><code> connect_from_port_20=YES </code><em><code>#подключаться с 20 порта</code></em><code> xferlog_enable=YES </code><em><code>#запись логов</code></em><code> xfrlog_file=/var/log/vsftpd.log </code><em><code>#файл с логами</code></em><code> xferlog_std_format=YES </code><em><code>#формат логов</code></em><code> iddle_session_timeout=600 </code><em><code>#отключение по таймауту неактивности.</code></em><code> data_connection_timeout=120 </code><em><code>#время ожидания возобновления неоконченной передачи.</code></em><code> ascii_upload_enable=YES </code><em><code>#автоматическая подмена символов переноса между</code></em><code> ascii_download_enable=YES </code><em><code>#разными ОС, для соответствия стандартам системы</code></em><code> chroot_local_user=YES </code><em><code>#запретить пользователям выходить из домашней папки</code></em><code> chroot_list_file=/etc/vsftpd.chroot_list </code><em><code>#список chroot</code></em><code> allow_writeable_chroot=YES </code><em><code>#разрешить запись в корень</code></em><code> pasv_enable=YES </code><em><code>#вкл. пассивный режим</code></em><code> pasv_min_port=62000 </code><em><code>#диапазон портов</code></em><code> pasv_max_port=62999 guest_enable=YES </code><em><code>#включение госетвых/виртуальных юзеров</code></em><code> guest_username=ftp </code><em><code>#их учётка, от её имени будут работать</code></em><code> virtual_use_local_privs=YES </code><em><code>#виртуальные используют привелегии локальных</code></em><code> user_sub_token=$USER </code><em><code>#префикс папки пользователя</code></em><code> local_root=/home/vsftpd/$USER </code><em><code>#домашний каталог пользователя</code></em><code> hide_ids=YES </code><em><code>#скрывать id юзеров</code></em><code> seccomp_sandbox=NO </code><em><code>#устранить ошибку 500 OOPS SECCOMP в Ubuntu</code></em><code> pam_service_name=vsftpd.virtual </code><em><code>#имя службы pam должно совпадать с именем соответствующего файла в /etc/pam.d</code></em><code> rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO |
service vsftpd status — сведения о vsftpd
systemctl start vsftpd — запустить vsftpd
systemctl enable vsftpd — автозапуск vsftpd
service vsftpd restart — перезапуск FTP vsftpd.
ufw allow 20/tcp — открыть порт FTP данных в фаерволе
ufw allow 21/tcp — открыть порт FTP команд в фаерволе
adduser user — добавить user’а с параметрами из /etc/adduser.conf и папками из /etc/skel
mkdir /home/user/ftp — создать папку в папке пользователя
chown user /home/user/ftp — дать полный доступ к папке user’у
Виртуальные пользователи
Чтобы отключить локальных и включить виртуальных, закоментить всё в /etc/pam.d/vsftpd и добавить:
1 2 3 |
auth required pam_pwdfile.so pwdfile /etc/vsftpwd #файл паролей account required pam_permit.so |
apt-get install vsftpd libpam-pwdfile apache2-utils — установить libpam-pwdfile и apache2-utils, если не установлены с апачем.
htpasswd -c -d /etc/vsftpwd user — создать виртуального пользователя. -c создаёт файл паролей, с перезаписью, -d — алгоритм шифрования хэша пароля. Следующие без -c
htpasswd -D /etc/vsftpwd user — удалить юзера
service vsftpd restart — перезапустить службу vsftpd.
htpasswd -bd /etc/vsftpwd user 1 && mkdir /home/vsftpd/user && chown ftp /home/vsftpd/user — создать user’а с паролем 1, папку и назначить права на папку локальному ftp пользователю.