CentOS7搭设FTP服务器的要领步骤
FTP 主要用于文件传输,在 Linux 上个别用 vsftpd 来实现,通过搭设 FTP 服务器,可以实现文件的同享,至少比坑爹的某度网盘强多了。
搭设 FTP 服务器有三种可选的认证方式:匿名认证、当地会员认证、虚拟会员认证,平安性:匿名认证<当地会员认证<虚拟会员认证,配置复杂度:匿名认证<当地<虚拟会员认证。
Linux 中文件都有对应的所有者,虚拟会员认证指的是,创建一个或多个 FTP 会员,并将这些 FTP 会员与 Linux 当地的某个会员(如 vftpuser )进行映射,这样完成映射的会员在对 FTP 目录进行操纵时等同于会员 vftpuser 进行操纵。此外,虚拟会员认证模式可以允许对多个 FTP 离别进行配置,非常灵活利便。从灵活性与平安性两个方面考虑,本文选中运用虚拟会员认证模式。
OK,预备动工!
一、根本环境
服务器:CentOS7.5
客户机:Ubuntu Mate18.10
FTP服务端:vsftpd
FTP客户端:FileZilla(可选)
二、根本流程
为了看起来更简约,仅列出搭设根本流程及相干下令。
1、安装 vsftpd
yum install vsftpd
2、创建虚拟会员
用你喜好的任何编辑器创建并编辑 /etc/vsftpd/vuser.list 文件,内容如下:
lilei
lileipasswd
hanmeimei
hmmpasswd
口令认证文件奇数行为会员名,偶数行为对应的密码
3、创建口令认证数据库
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db chmod 600 /etc/vsftpd/vuser.db
-T:转换
-t:指定hash算法
-f:指定会员名
4、编辑 PAM
认证文件
创建并编辑 /etc/pam.d/vsftpd.vu
,内容如下:
auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser
db指定口令认证数据库,不含后缀名
5、创立当地会员
useradd -d /home/vftpuser -s /sbin/nologin vftpuser chmod 755 /home/vftpuser
-d:指定会员主目录
-s:指定会员登录shell,/sbin/nologin表示制止会员通过shell登录,提高平安性
6、映射 FTP
会员到 vftpuser
编辑 /etc/vsftpd/vsftpd.conf
,修改以下行:
pam_service_name=vsftpd.vu # 指定pam认证文件 guest_enable=YES # 启用映射 guest_username=vftpuser # 指定映射的当地会员 user_config_dir=/etc/vsftpd/vusers_dir # 指定FTP会员配置文件位置,要是不需要对每个会员进行离别配置,可将此行注释掉
7、为每个会员进行独自配置
创建 /etc/vsftpd/vuser_dir
,针对每个 FTP
会员创建同名配置文件,此处以 lilei
为例。创建并编辑 /etc/vsftpd/vuser_dir/lilei
,内容如下:
anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/var/www/html
默许根目录为映射会员的家目录,可通过 local_root 指定某个会员的根目录,注意需要将此目录所有者改为 vftpuser 。
8、重启 vsftpd
systemctl start vsftpd
三、注意事项
- 将 vsftpd 参加开机启动,防止服务器重启后没法访问;
- 要是 FTP 服务器没法访问,注意检查防火墙与 SElinux 设置;
- 生成口令认证数据库后,及时将 list 文件删除,防止密码泄露。
以上就是本文的全部内容,但愿对大家的学习有所帮忙,也但愿大家多多支撑脚本之家。