Vsftpd安装和部署
-
vsftpd官网
http://www.linuxfromscratch.org/blfs/view/svn/server/vsftpd.html -
安装环境
部署ip 部署软件 开发端口 192.168.199.10 vsftpd 21/10060-10090 -
vftpd安装
yum -y install vsftpd -
基础配置
4.1 功能一(匿名用户)
# 创建匿名上传目录 mkdir -p /data/vsftpd/niming mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak vim /etc/vsftpd/vsftpd.conf # 允许匿名用户登录 anonymous_enable=YES local_enable=YES # 禁止匿名用户写入权限 write_enable=NO local_umask=022 anon_upload_enable=YES # 禁止匿名用户创建权限 anon_mkdir_write_enable=NO # 匿名登录不需要密码 no_anon_password=YES # 指定匿名用户默认访问目录 local_root=/data/vsftpd/niming anon_root=/data/vsftpd/niming dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES # 指定被动端口,【添加】以下行,指定的端口范围,要在防火墙中开放 pasv_min_port=10060 pasv_max_port=100904.2 功能二(虚拟用户)
# 创建虚拟用户上传目录 mkdir -p /data/vsftpd/xuni mkdir -p /data/vsftpd/xuni01 chmod -R 777 /data/vsftpd/xuni chmod -R 777 /data/vsftpd/xuni01 mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak ############################################################################################## vim /etc/vsftpd/vsftpd.conf # 设定不允许匿名访问 anonymous_enable=NO # 设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问 local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES # 记录上传下载文件的日志 xferlog_enable=YES connect_from_port_20=YES chown_uploads=YES chown_username=ftp # 日志记录文件位置 xferlog_file=/var/log/vsftpd.log # 格式化日志 xferlog_std_format=YES # 设定支持ASCII模式的上传和下载功能 ascii_upload_enable=YES ascii_download_enable=YES # 使用户不能离开主目录 chroot_list_enable=YES #chroot_list_file=/etc/vsftpd/chroot_list ls_recurse_enable=YES # 监听IPv4 sockets listen=YES # 注释IPv6 sockets监听 #listen_ipv6=YES # PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证 //已下三个请在配置文件中手动添加 pam_service_name=vsftpd userlist_enable=YES userlist_deny=YES # /etc/vsftpd/user_list中的用户禁止登录ftp # 如果只配置userlist_enable=YES,有可能出现错误 “530 Permission denied”,因此加上如下配置 userlist_file=/etc/vsftpd/user_list tcp_wrappers=YES # 设定启用虚拟用户功能 guest_enable=YES # 指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了 guest_username=ftp # 设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名) user_config_dir=/etc/vsftpd/vuser_conf pasv_min_port=10060 pasv_max_port=10090 # 文件上传下载权限设置 allow_writeable_chroot=YES anon_umask=022 file_open_mode=777 # 虚拟用户和本地用户有相同的权限 virtual_use_local_privs=YES ############################################################################################## <!-- 创建chroot list,将vftpd.conf配置文件中的guest_username加入其中 --> echo ftp >> /etc/vsftpd/chroot_list echo xuni >> /etc/vsftpd/chroot_list echo xuni01 >> /etc/vsftpd/chroot_list <!-- 创建用户密码文件,注意奇行是用户名,偶行是密码 --> vim /etc/vsftpd/vuser_passwd.txt xuni 123456 xuni01 123456 <!-- 生成虚拟用户认证的db文件 --> db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db ############################################################################################## <!-- 编辑认证文件,全部注释掉原来语句再增加以下两句,根据版本号加入 --> vim /etc/pam.d/vsftpd #系统为32位的 auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account required pam_userdb.so db=/etc/vsftpd/vuser_passwd #系统为64位的 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd ############################################################################################## <!-- 创建虚拟用户配置文件 --> mkdir -p /etc/vsftpd/vuser_conf/ vim /etc/vsftpd/vuser_conf/xuni # 虚拟用户根目录,根据实际情况修改(如果没有需要创建),该目录必须要有读写权限chmod -R 777目录。 local_root=/data/vsftpd/xuni # 可写 write_enable=YES # 掩码 anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES ############################################################################################## vim /etc/vsftpd/vuser_conf/xuni01 # 虚拟用户根目录,根据实际情况修改(如果没有需要创建),该目录必须要有读写权限chmod -R 777目录。 local_root=/data/vsftpd/xuni01 # 可写 write_enable=YES # 掩码 anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES4.3 功能三(本地用户)
# 创建用户并修改密码 useradd -d /home/hcr -m hcr echo hcr | passwd --stdin hcr # 创建文件上传目录,修改权限 mkdir -p /data/vsftpd/hcr chown -R hcr:hcr /data/vsftpd/hcr # 修改配置文件 mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak vim /etc/vsftpd/vsftpd.conf # 禁用匿名用户登录,【修改】以下行 anonymous_enable=NO # 允许上传,取消以下两行的注释,也可直接【添加】 anon_upload_enable=YES anon_mkdir_write_enable=YES # 所有系统用户都映射成guest用户,指定主目录,【添加】以下配置 guest_enable=YES guest_username=hcr local_root=/data/vsftpd # 允许修改和删除文件,【添加】以下行 anon_other_write_enable=YES # 设置上传文件的默认用户和权限 chown_uploads=yes chown_username=hcr chown_upload_mode=0644 # 新建的目录和上传的文件可删除,【添加】以下行 anon_umask=022 # 指定被动端口,【添加】以下行,指定的端口范围,要在防火墙中开放 pasv_min_port=10060 pasv_max_port=10090 -
开机自启设置
# 加入开机启动 systemctl daemon-reload systemctl enable vsftpd # 查看开机是否启动成功 systemctl is-enabled vsftpd # 启动服务 systemctl start vsftpd # 停止服务 systemctl stop vsftpd -
防火墙开放端口
firewall-cmd --zone=public --add-port=21/tcp --permanent firewall-cmd --zone=public --add-port=10060-10090/tcp --permanent firewall-cmd --reload setenforce 0
本文详细介绍了在192.168.199.10服务器上安装和配置Vsftpd的过程,包括启用匿名用户登录、设置虚拟用户以及配置本地用户访问。通过编辑vsftpd.conf文件,调整匿名用户权限、指定被动端口,并创建虚拟用户认证文件。同时,设置了开机自启和防火墙端口开放,确保服务正常运行。

372

被折叠的 条评论
为什么被折叠?



