基于CentOS搭建FTP文件服务
安装并启动 FTP 服务
安装VSFTPD
使用yum安装vsftpd
yum install vsftpd -y
启动VSFTPD
安装完成后,启动FTP服务
service vsftpd start
启动后,可以看到系统已经监听了 21端口
netstat -nltp | grep 21
显示如下
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1825/vsftpd
此时,访问 ftp://自己ip 可浏览机器上的 /var/ftp 目录了。
配置FTP权限
目前FTP服务器登录允许匿名登陆,也无法区分用户访问,我们需要配置FTP访问权限
了解VSFTPD配置
vsftpd配置的目录为
/etc/vsftpd
,包含下列配置文件- vsftpd.conf 为主要配置文件
- ftpusers配置禁止访问FTP的用户列表
- user_list配置用户访问控制
阻止匿名访问和切换根目录
匿名访问和切换根目录都会给服务器带来风险,我们把这两个功能关闭编辑配置文件
vim /etc/vsftpd/vsftpd.conf
找到下面两处并修改配置
# 禁用匿名用户 anonymous_enable=NO # 禁止切换根目录 chroot_local_user=YES
输入
:wq
保存并退出
输入service vsftpd restart
重新启动FTP服务创建 FTP 用户
创建一个用户ftpuser
useradd ftpuser
为该用户设置密码
echo "YourPassword" | passwd ftpuser --stdin
限制该用户仅能通过 FTP 访问
限制用户 ftpuser 只能通过 FTP 访问服务器,而不能直接登录服务器:usermod -s /sbin/nologin ftpuser
为用户分配主目录
为用户ftpuser
创建主目录并约定:
/data/ftp
为主目录,该目录不可上传文件
/data/ftp/pub
文件只能上传到该目录下mkdir -p /dataftp/pub
创建登录欢迎文件
echo "Welcome to use FTP service." > /data/ftp/welcome.txt
设置访问权限
chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub
设置用户主目录
usermod -d /data/ftp ftpuser