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