centos 7系统搭建FTP
安装ftp
说明:centos 7系统
1.安装服务 yum install vsftpd -y
2.启动服务 systemctl start vsftpd.service
3.查看状态 systemctl status vsftpd.service
4.关闭服务 systemctl stop vsftpd.service
5.检查端口 netstat -anp | grep 21 (找不到netstat命令时运行yum install net-tools)
安装
vsftpd
[root@localhost admin] yum install vsftpd -y
启动
vsftpd
并查看当前状态
[root@localhost www] systemctl start vsftpd
[root@localhost www] systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: active (running) since 三 2022-08-03 11:08:09 CST; 4s ago
Process: 51162 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 51163 (vsftpd)
CGroup: /system.slice/vsftpd.service
└─51163 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
8月 03 11:08:09 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
8月 03 11:08:09 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.
创建用户
创建用户访问路径
[root@localhost www] mkdir -p /www/ftp
创建用户并指定访问目录
-d 新用户每次登陆时所使用的家目录
-g 指定用户对应的用户组 ftp分组是内置的,本来就存在,不需要自己创建
-s /sbin/nologin 表示这个用户不能用来登录xshell这样的客户端。 这种不能登陆的用户又叫做虚拟用户)
[root@localhost www] useradd -d /www/ftp/ -g ftp -s /sbin/nologin ftpuser
目录授权,拥有者设置为
ftpuser
[root@localhost www] chown -R ftpuser /www/ftp/
使
ftpuser
用户拥有这个目录的读写权限
[root@localhost www] chmod -R 775 /www/ftp/
设置用户密码
[root@localhost www] echo "123456" | passwd --stdin ftpuser
配置vsftpd
修改配置文件
/etc/vsftpd/vsftpd.conf
[root@localhost www] vi /etc/vsftpd/vsftpd.conf
vsftpd服务器是这样的,一旦某个用户被限制访问了,那么默认情况下,该用户的写权限也被剥夺了。 这就导致ftp客户端连接上服务器之后无法上传文件。 这个时候,就需要打开此用户的写权限
第12行 `anonymous_enable=YES` 不允许匿名访问
anonymous_enable=NO
第102行 `chroot_list_enable=YES` 表示对用户访问进行限制
chroot_list_enable=NO
第103行 `chroot_list_file` 取消#注释,表示对chroot_list里面指定的用户进行限制
chroot_list_file=/etc/vsftpd/chroot_list
最后一行 新增如下内容;
allow_writeable_chroot=YES
添加用户列表
/etc/vsftpd/chroot_list
增加ftpuser
用户, 该文件本来没有vi
会自动创建
[root@localhost www] vi /etc/vsftpd/chroot_list