CentOS构建FTP服务,基于虚拟用户访问
CentOS7.5 安装vsftp服务 Server_IP: 192.168.1.10
-
基础安装
# yum search all --showduplicates vsftpd # yum install vsftpd-3.0.2-29.el7_9.x86_64 -y # yum install libdb-utils -y
-
配置对应的系统用户,并指定宿主目录
# useradd -d /data/ftproot -s /sbin/nologin virtual # useradd -d /data/www/resources/ftproot -s /sbin/nologin virtual # new
-
建立虚拟用户权限目录,并根据用户分配权限
# mkdir -p /etc/vsftpd/vusers_dir # cat /etc/vsftpd/vusers_dir/admin local_root=/data/ftproot/111 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
-
建立ftp用户名和密码,并导入库
# cat /etc/vsftpd/vusers.list admin password # cd /etc/vsftpd # db_load -T -t hash -f vusers.list vusers.db
-
建立pam目录,并关联ftp用户库
# cat /etc/pam.d/vsftpd.vu #%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/vusers account required pam_userdb.so db=/etc/vsftpd/vusers
-
创建用户目录
# mkdir -p /data/ftproot/111 # chown -R virtual.virtual /data/ftproot
-
配置vsftp配置文件,/etc/vsftpd/vsftpd.conf
# cat /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES anon_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES pasv_enable=YES pasv_min_port=24500 pasv_max_port=24600 pasv_promiscuous=YES xferlog_std_format=YES listen=YES listen_port=21 pam_service_name=vsftpd.vu userlist_enable=YES tcp_wrappers=YES guest_enable=YES guest_username=virtual user_config_dir=/etc/vsftpd/vusers_dir ascii_upload_enable=YES ascii_download_enable=YES #rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem #ssl_enable=YES #allow_anon_ssl=NO #force_local_data_ssl=YES #force_local_logins_ssl=YES #ssl_tlsv1=YES #ssl_sslv2=NO #ssl_sslv3=NO #ssl_ciphers=HIGH #implicit_ssl=no #listen_port=990 #debug_ssl=YES
-
启动服务
# systemctl enable --now vsftpd
-
通过ftp-client 访问测试