FTP服务部署

1. 概述

FTP是文件传输协议,在内外网的文件传输中使用广泛。
本篇博客主要介绍FTP服务器的部署和测试。

2. 软件环境部署

查看系统是否安装FTP软件(vsftpd),执行命令:rpm -qa | grep vsftpds,如下图

3. 配置vsftpd

配置目录
vsftpd的主配置目录在/etc/vsftpd目录下,进入该目录cd /etc/vsftpd
创建用户列表
touch vir_user_list,然后添加两行

liwanliang
liwanliang

第一行是ftp的账号,第二行是该账号的密码

生成加密文件
执行命令:db_load -T -t hash -f /etc/vsftpd/vir_user_list /etc/vsftpd/vir_user_list.db
修改权限:chmod 600 /etc/vsftpd/vir_user_list.db

创建虚拟用户配置目录和配置文件
执行命令:mkdir -p /etc/vsftpd/vir_user_conf
创建虚拟用户配置文件:touch /etc/vsftpd/vir_user_conf/liwanliang,其文本内容为:

local_root=/var/www/html
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_upload_enable=yes
anon_world_readable=yes

配置vsftpd主配置文件
编辑配置文件/etc/vsftpd/vsftpd.conf,添加三行配置,如下:

guest_enable=yes
guest_username=ftp
user_config_dir=/etc/vsftpd/vir_user_conf

配置vsftpd采用PAM认证
编辑配置文件/etc/pam.d/vsftpd,内容修改如下:

#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
auth required /lib64/security/pam_userdb.so /etc/vsftpd/vir_user_list
account required /lib64/security/pam_userdb.so /etc/vsftpd/vir_user_list

修改FTP根目录的权限
由于上述内容中,配置了虚拟用户使用系统用户ftp来作为文件系统的访问用户,访问目录/var/www/html。
因此需要ftp用户对该目录具有一定的权限。这里通过Linux文件系统的ACL来进行访问控制。
执行命令:setfacl -R -m u:ftp:rwx /var/www/html/
执行命令:getfacl html

猜你喜欢

转载自www.cnblogs.com/liwanliangblog/p/9955051.html