CentOS7搭设FTP服务器的方法步骤
FTP主要用于文件传输,在Linux上一般用vsftpd来实现,通过搭设FTP服务器,可以实现文件的共享,至少比坑爹的某度网盘强多了。
搭设FTP服务器有三种可选的认证方式:匿名认证、本地用户认证、虚拟用户认证,安全性:匿名认证<本地用户认证<虚拟用户认证,配置复杂度:匿名认证<本地<虚拟用户认证。
Linux中文件都有对应的所有者,虚拟用户认证指的是,创建一个或多个FTP用户,并将这些FTP用户与Linux本地的某个用户(如vftpuser)进行映射,这样完成映射的用户在对FTP目录进行操作时等同于用户vftpuser进行操作。此外,虚拟用户认证模式可以允许对多个FTP分别进行配置,非常灵活方便。从灵活性与安全性两个方面考虑,本文选择使用虚拟用户认证模式。
OK,准备开工!
一、基本环境
服务器:CentOS7.5
客户机:UbuntuMate18.10
FTP服务端:vsftpd
FTP客户端:FileZilla(可选)
二、基本流程
为了看起来更简洁,仅列出搭设基本流程及相关命令。
1、安装vsftpd
yuminstallvsftpd
2、创建虚拟用户
用你喜欢的任何编辑器创建并编辑/etc/vsftpd/vuser.list文件,内容如下:
lilei
lileipasswd
hanmeimei
hmmpasswd
口令认证文件奇数行为用户名,偶数行为对应的密码
3、创建口令认证数据库
db_load-T-thash-f/etc/vsftpd/vuser.list/etc/vsftpd/vuser.db chmod600/etc/vsftpd/vuser.db
-T:转换
-t:指定hash算法
-f:指定用户名
4、编辑PAM认证文件
创建并编辑/etc/pam.d/vsftpd.vu,内容如下:
authrequiredpam_userdb.sodb=/etc/vsftpd/vuser accountrequiredpam_userdb.sodb=/etc/vsftpd/vuser
db指定口令认证数据库,不含后缀名
5、建立本地用户
useradd-d/home/vftpuser-s/sbin/nologinvftpuser chmod755/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
systemctlstartvsftpd
三、注意事项
- 将vsftpd加入开机启动,防止服务器重启后无法访问;
- 如果FTP服务器无法访问,注意检查防火墙与SElinux设置;
- 生成口令认证数据库后,及时将list文件删除,防止密码泄露。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。