HJT的博客

记录精彩的程序人生

目录
CentOS 7 FTP搭建
/    

CentOS 7 FTP搭建

FTP安装

安装

yum install vsftpd -y

启动

systemctl start vsftpd.service

查看状态

systemctl status vsftpd.service

关闭

systemctl stop vsftpd.service

设置开机启动

systemctl enable vsftpd.service

取消开机启动

systemctl disable vsftpd.service

查看开机启动项

systemctl list-unit-files | grep enable

创建FTP用户

#创建用户目录
mkdir -p /home/hjt

创建用户并指定其目录

useradd -d /home/hjt -g ftp -s /sbin/nologin ftp
-g ftp 表示该用户属于ftp分组 (ftp分组是内置的,本来就存在,不需要自己创建)
-s /sbin/nologin 表示这个用户不能用来登录secureCRT这样的客户端。 这种不能登陆的用户又叫做虚拟用户

设置目录权限

chown -R hjt /home/hjt
chown -R 775 /home/hjt
把目录/home/hjt的拥有者设置为hjt
使hjt用户拥有这个目录的读写权限

设置密码

passwd hjt

配置FTP用户

打开FTP服务器配置文件

vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 改为 anonymous_enable=NO 取消匿名登陆
chroot_list_enable=YES 限制用户访问
chroot_list_file=/etc/vsftpd.chroot_list 表示对chroot_list里面指定的用户进行限制

受限制用户清单

vi /etc/vsftpd/chroot_list
增加一行: hjt

允许写权限

vsftpd服务器是这样的,一旦某个用户被限制访问了,那么默认情况下,该用户的写权限也被剥夺了
vi /etc/vsftpd/vsftpd.conf
allow_writeable_chroot=YES

端口配置

vi /etc/vsftpd/vsftpd.conf
添加
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30010
这表示使用被动模式,用于传输数据的端口分配从30000-30010之间

用户鉴权问题

因为用户是 nologin的,所以存在鉴权的问题。如果鉴权问题不解决,就是永不停息的 530错误
vi /etc/pam.d/vsftpd
#auth required pam_shells.so 不去鉴权 从而允许nologin用户登录 ftp 服务器.

vi /etc/shells
增加一行
/sbin/nologin 允许不能登录系统的用户通过鉴权


标题:CentOS 7 FTP搭建
作者:HJTGit
地址:https://blog.huojt.top/articles/2019/06/18/1560822951846.html

评论