Установка vsftpd на CentOS 7 / RedHat 7 с selinux

Vsftpd описание

vsftpd (Very Secure File Transfer Protocol Daemon) — легкий, быстрый и по умолчанию демон FTP-сервера для rpm-дистрибутивов Linux (CentOS / RHEL / Fedora).

Мы установим vsftpd на CentOS7 с включенным selinux в режиме Enforcing

1. Установите сервер vsftpd:

[ ~]# yum install vsftpd

2. Проверьте, была ли создана учетная запись пользователя ftp (с оболочкой nologin) и задан пароль для пользователя ftp:

[ /]# getent passwd ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[ /]# finger ftp
Login: ftp Name: FTP User
Directory: /var/ftp Shell: /sbin/nologin
Never logged in.
No mail.
No Plan.
[ /]# passwd ftp
Changing password for user ftp.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

2. 1 Отредактируйте файл: /etc/vsftpd/vsftpd.conf и измените его, как показано ниже:

# Example config file /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

3. Установите права на  /var/ftp (ftp user home directory) и атрибуты selinux:

[ ~]# chown -R ftp:ftp /var/ftp
[ ~]# semanage fcontext -a -t public_content_rw_t /var/ftp
[ ~]# restorecon -Rvv /var/ftp
[ ~]# setsebool -P ftp_home_dir 1
[ ~]# setsebool -P ftpd_full_access 1
[ ~]# ls -lZ /var | grep ftp
drwxr-xr-x. ftp ftp system_u:object_r:public_content_rw_t:s0 ftp

4. Включите и запустите службу vsftpd:

[ ~]# systemctl enable vsftpd
[ ~]# systemctl start vsftpd
[ ~]# systemctl status vsftpd
vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled)
Active: active (running) since Sat 2015-05-09 22:35:11 CEST; 11min ago
Main PID: 12285 (vsftpd)
CGroup: /system.slice/vsftpd.service
└─12285 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

May 09 22:35:11 router systemd[1]: Started Vsftpd ftp daemon.
...

5. Тестирование и устранение неисправностей.

Теперь давайте протестируем наш FTP-сервер с localhost:

[ /]# ftp localhost
Trying ::1...
Connected to localhost (::1).
220 (vsFTPd 3.0.2)
Name (localhost:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Если у вас все еще есть проблемы с входом в систему, проверьте алерты selinux, если selinux еще не блокирует доступ.

Запустите команду и проверьте предупреждения:

[ /]# sealert -b

Во время тестов вы также можете временно установить selinux в режим Permissive, чтобы увидеть, если vsftpd теперь доступен и в конечном итоге исключает проблему selinux:

[ /]# setenforce Permissive
[ /]# getenforce
Permissive

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40