1、安装并启动 FTP 服务
1.1 安装 VSFTPD
使用 yum 安装 vsftpd
yum install -y vsftpd
1.2 启动 VSFTPD
安装完成后,启动 FTP 服务:
service vsftpd start
2、配置 FTP 权限
2.1 了解 VSFTP 配置
vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:
vsftpd.conf 为主要配置文件
ftpusers 配置禁止访问 FTP 服务器的用户列表
user_list 配置用户访问控制
2.2 阻止匿名访问和切换根目录
匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。
vim /etc/vsftpd/vsftpd.conf
找到下面两处配置并修改:
#禁用匿名用户, YES 改为 NO
anonymous_enable=NO
#禁止切换根目录 101 行注释
#chroot_local_user=YES
#允许 ascii 上传下载
ascii_upload_enable=YES
ascii_download_enable=YES
最后加上
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
use_localtime=YES
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
listen_port=21
编辑完成后保存配置,重新启动 FTP 服务
service vsftpd restart
如果修改了默认端口号 21, 则还需编辑
vim /etc/services
将其中的 ftp 21/tcp 改为 ftp newPort/tcp, ftp 21/udp 改为 ftp newPort/udp
2.3 创建 FTP 用户
创建一个用户 ftpuser
useradd ftpuser
为用户 ftpuser 设置密码
echo "123456" | passwd ftpuser --stdin
2.4 限制该用户仅能通过 FTP 访问
限制用户 ftpuser 只能通过 FTP 访问服务器,而不能直接登录服务器:
usermod -s /sbin/nologin ftpuser
2.5 为用户分配主目录
为用户 ftpuser 创建主目录并约定:
/home/ftp 为主目录, 该目录不可上传文件
/home/ftp/test 文件只能上传到该目录下
在/home 中创建相关的目录
mkdir -p /home/ftp/test
设置访问权限
chmod a-w /home/ftp && chmod 777 -R /home/ftp/test
设置为用户的主目录:
usermod -d /home/ftp/test ftpuser
注意:记得关闭防火墙或开放 FTP 默认端口(21)和设置的被动端口(40000-40100)
#关闭 SELinux 服务
setenforce 0
#可能需要
vim /etc/pam.d/vsftpd
注释 auth required pam_shells.so
通过 Windows 资源管理器访问
Windows 用户可以复制下面的链接
到资源管理器的地址栏访问:
ftp://ftpuser:123456@192.168.1.170
其中 ftpuser 为登录 FTP 的用户名,123456 为登录 FTP 的密码
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于