CentOS7搭建安全FTP服务器指南
搭建方案
我将采用Centos7加vsftpd进行搭建,并使用虚拟用户认证,在一定程度上保证安全
vsftpd 是 “very secure FTP daemon” 的缩写,是一款基于GPL发布的、运行在类UNIX系统上的FTP服务器软件,具有安全、稳定、高速的特点。
服务器配置
这是我用的云服务器配置,1个核心2G内存
连接服务器
使用ssh工具远程服务器,一般IP就是主机名,登入用户就root,权限比一般用户高,端口服务器的控制台会写
输入密码(控制台会写或要求自己设置)
|
连接上是这样的
安装vsftpd
使用yum安装vsftpd
yum install -y "vsftpd*"
安装报错
解决办法换yum(这里是阿里yum)一条一条执行,最后一条是看看换成与否
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
yum repolist | awk '/repolist/{print$2}' | sed 's/,//'
换完重新安装,下图是安装完成
配置vsftpd
1. 创建用户/密码文件
vi /etc/vsftpd/vsftpd_vuser.txt
写完用cat看看是这样的,一个用户一个密码的写,还有其他用户也是一样的写在这个文件
2. 生成用户/密码数据库文件
db_load -T -t hash -f /etc/vsftpd/vsftpd_vuser.txt /etc/vsftpd/db_yonhu_mima.db
3. 添加虚拟用户映射账号(这个用户不允许登入系统)
"$GML"这个替换成要分享的ftp目录,"$YON"这个是用户
要分享的ftp目录建议放这里/var/ftproot/
useradd -d "$GML" -s /sbin/nologin "$YON"
chown -R "$YON":"$YON" "$GML"
chmod 755 "$GML"
4. 为虚拟用户建立PAM
这里是2段命令
touch /etc/pam.d/vsftpd.vuecho "#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/db_yonhu_mima
account required pam_userdb.so db=/etc/vsftpd/db_yonhu_mima
" > /etc/pam.d/vsftpd.vu
5. 修改vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
$YON 填步骤3的映射虚拟账号
有就修改没有就添加到末尾
模板:
anonymous_enable=NO
guest_enable=YES
guest_username=$YON
pam_service_name=vsftpd.vu
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vuser_conf
在这个目录 /etc/vsftpd/vuser_conf/创建与第一步的用户同名的文件,可以单独控制用户权限
vi /etc/vsftpd/vuser_conf/user1
# 允许下载文件
anon_world_readable_only=NO
download_enable=YES
# 禁止上传文件
anon_upload_enable=NO
write_enable=NO
# 禁止创建目录
anon_mkdir_write_enable=NO
# 禁止删除和重命名
anon_other_write_enable=NO
# 如果需要,设置用户的根目录(可选)
local_root=/var/ftproot
访问ftp服务
windows访问在此电脑地址栏输入 ftp://服务器ip
Linux访问 ftp 服务器ip