본문 바로가기
Linux/CentOS

[CentOS Stream8] 04. vsftpd 설치

by 이도현 2021. 4. 18.
yum install vsftpd -y
service vsftpd start
service vsftpd status
service vsftpd stop
service vsftpd restart
netstat -anp | grep vsftpd

 

# 설정

vi /etc/vsftpd/vsftpd.conf

 

나는 화이트 리스트 정책을 사용할 계획이다. 화이트 리스트 정책은 허가 받은 사람만 사용가능하게 하는 것을 의미한다.

 

vi /etc/vsftpd/chroot_list 에 계정명을 써넣고 저장하고 나온후 재시작 한다.

 

 

방화벽 포트 열기와 적용은 다음 명령어들로 수행한다.

sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
sudo firewall-cmd --reload

selinux로 인한 설정

vi /etc/selinux/config
/etc/selinux/config
SELINUX=disabled
iptables -I INPUT -s 0.0.0.0/0 -d 192.168.0.18 -p tcp --dport 21 -j ACCEPT
systemctl enable vsftpd
systemctl restart vsftpd
ps -ax | grep vsftpd

 

# 설정 사항 내용 설명

 

설정 항목 설정에 대한 설명 (영문) 설정에 대한 설명(국문)
anonymous_enable=NO Allow anonymous FTP?
(Beware - allowed by default
if you comment this out)
익명의 FTP를 허용할까요?
(주의 - 이 설정 코멘트를 지우면 디폴트 값으로 허용하는 것으로 설정됩니다)
local_enable=YES Uncomment this to allow 
local users to log in.
주석을 제거하면 로컬 사용자가
로그인 하도록 허용합니다.
write_enable=YES Uncomment this to enable
any form of FTP write command.
주석을 제거하면 
local_umask=022 Default umask for local users is 077. 
You may wish to change this to 022, 
if your users expect that 
(022 is used by most other ftpd's)
 
anon_upload_enable=YES Uncomment this 
to allow the anonymous FTP user 
to upload files. 
This only has an effect if the above
global write enable is activated.
Also, you will obviously need
to create a directory writable
by the FTP user.
When SELinux is enforcing check
for SE bool allow_ftpd_anon_write,
allow_ftpd_full_access
 
anon_mkdir_write_enable=YES Uncomment this if you want
the anonymous FTP user to be able to
create new directories.
 
dirmessage_enable=YES Activate directory messages - 
messages given to remote users 
when they go into a certain directory.
 
xferlog_enable=YES Activate logging of 
uploads/downloads.
 
connect_from_port_20=YES Make sure PORT transfer connections originate from port 20 (ftp-data).  
chown_uploads=YES If you want, you can arrange for uploaded anonymous files to be owned by a different user. Note! Using "root" for uploaded files is not recommended!  
chown_username=whoever You may override where the log file goes if you like. The default is shown below.  
xferlog_file=/var/log/xferlog If you want, you can have your log file in standard ftpd xferlog format. Note that the default log file location is /var/log/xferlog in this case.  
xferlog_std_format=YES    
idle_session_timeout=600 You may change the default value for timing out an idle session. It is recommended  
data_connection_timeout=120 You may change the default value for timing out a data connection.  
nopriv_user=ftpsecure It is recommended that you define on your system a unique user which the ftp server can use as a totally isolated and unprivileged user.  
async_abor_enable=YES Enable this and the server will recognise asynchronous ABOR requests. Not recommended for security (the code is non-trivial). Not enabling it, however, may confuse older FTP clients.   
nopriv_user=ftpsecure By default the server will pretend to allow ASCII mode but in fact ignore the request. Turn on the below options to have the server actually do ASCII mangling on files when in ASCII mode. The vsftpd.conf(5) man page explains the behaviour when these options are disabled. Beware that on some FTP servers, ASCII support allows a denial of service attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd predicted this attack and has always been safe, reporting the size of the raw file. ASCII mangling is a horrible feature of the protocol. that you define on your system a unique user which the ftp server can use as a totally isolated and unprivileged user.  
async_abor_enable=YES Enable this and the server will recognise asynchronous ABOR requests. Not recommended for security (the code is non-trivial). Not enabling it, however, may confuse older FTP clients. ascii_upload_enable=YES By default the server will pretend to allow ASCII mode but in fact ignore ascii_download_enable=YES the request. Turn on the below options to have the server actually do ASCII mangling on files when in ASCII mode. The vsftpd.conf(5) man page explains the behaviour when these options are disabled. Beware that on some FTP servers, ASCII support allows a denial of service attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd predicted this attack and has always been safe, reporting the size of the raw file. ASCII mangling is a horrible feature of the protocol.  
ftpd_banner=
Welcome to blah FTP service.
You may fully customise the login banner string:  
banned_email_file=
/etc/vsftpd/banned_emails
   
deny_email_enable=YES You may specify a file of disallowed anonymous e-mail addresses. Apparently useful for combatting certain DoS attacks.(default follows)  
chroot_local_user=YES You may specify an explicit list of local users to chroot() to their home directory. If chroot_local_user is YES, then this list becomes a list of users to NOT chroot().  
chroot_list_enable=YES (Warning! chroot'ing can be very dangerous. If using chroot, make sure that the user does not have write access to the top level directory within the chroot)  
chroot_list_file=
/etc/vsftpd/chroot_list
(default follows)  
ls_recurse_enable=YES You may activate the "-R" option to the builtin ls. This is disabled by default to avoid remote users being able to cause excessive I/O on large sites. However, some broken FTP clients such as "ncftp" and "mirror" assume the presence of the "-R" option, so there is a strong case for enabling it.  
listen=NO When "listen" directive is enabled, vsftpd runs in standalone mode and listens on IPv4 sockets. This directive cannot be used in conjunction with the listen_ipv6 directive.    
listen_ipv6=YES This directive enables listening on IPv6 sockets. By default, listening on the IPv6 "any" address (::) will accept connections from both IPv6 and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6 sockets. If you want that (perhaps because you want to listen on specific addresses) then you must run two copies of vsftpd with two configuration files. Make sure, that one of the listen options is commented !!  
pam_service_name=vsftpd    
userlist_enable=YES