一:安装
[root@localhost ~] yum -y install vsftpd #安装vsftpd
[root@localhost ~] yum -y install ftp #安装ftp
[root@localhost ~] vsftpd -v #查看版本号
二:启动服务
[root@localhost ~]# systemctl start vsftpd.service #启动ftp服务
[root@localhost ~]# systemctl status vsftpd.service #查看服务启动状态
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: active (running) since 二 2019-09-24 15:49:53 CST; 11s ago
Process: 17932 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 17933 (vsftpd)
Tasks: 1
CGroup: /system.slice/vsftpd.service
└─17933 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
9月 24 15:49:53 localhost.fdw systemd[1]: Starting Vsftpd ftp daemon...
9月 24 15:49:53 localhost.fdw systemd[1]: Started Vsftpd ftp daemon.
[root@localhost ~]# netstat -nap | grep ftp #查看端口
tcp6 0 0 :::21 :::* LISTEN 17933/vsftpd
unix 2 [ ] DGRAM 62843 17933/vsftpd
[root@localhost ~]# systemctl stop/restart vsftpd.service #关闭/重启命令
三:配置
# 向防火墙添加ftp服务
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=ftp
success
[root@localhost ~]# firewall-cmd --reload # 重启防火墙
success
# 现在应该可以访问ftp服务,若不能,可以测试关闭SELinux 和防火墙
[root@localhost ~]# setenforce 0 # 关闭SELinux
[root@localhost ~]# systemctl stop/disable firewalld.service #关闭/开机不启动 防火墙(不推荐)
四:登录用户
vsftpd允许三种登录模式 : 匿名模式,本地模式,虚拟用户模式
Ⅰ匿名登录
# 虚拟机匿名登录测试
[root@localhost ~]# ftp localhost
输入用户:anonymous,密码为空 => 登录成功 输入ls 即可看到pub文件夹
windows下在文件管理器输入 ftp://虚拟机IP地址即可访问
Ⅱ 本地用户登录
#本地用户登录, 可以在Linux中创建专门登录ftp服务器的用户
[root@localhost ~]# useradd fdwftp #创建用户 fdwftp
[root@localhost ~]# passwd fdwftp #设置用户 fddftp的密码
#之后登录ftp将进入 /home/fdwftp
#修改目录权限
[root@localhost ~]# chmod -R 775 /home/fdwftp
在vsftpd服务器中配置该用户 => (fdwftp)
# vsftpd 配置文件 如提示没找到vim可使用vi命令
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf #打开配置文件
# 修改这一行代码
anonymous_enable=YES 改为 anonymous_enable=NO # 禁止匿名登录
# 添加一行代码
allow_writeable_chroot=YES # 允许登录用户的写入操作
# 在配置文件中找到以下几行代码, 去掉注释(去掉 "#"号)
chroot_list_enable=YES # 表示对用户访问进行限制
chroot_list_file=/etc/vsftpd/chroot_list # 对chroot_list下用户限制
chroot_local_user=YES # 允许本地账户登录
[root@localhost ~]# vim /etc/vsftpd/chroot_list
# 增加一行代码 (即是允许登录的用户)
fdwftp
# ESC + :wq //保存退出
[root@localhost ~]# systemctl restart vsftpd.service #重启服务
测试一下
# 在windows中的文件管理器输入 ftp://虚拟机IP地址
如 : ftp://192.168.10.140
弹窗输入 用户名: fdwftp 密码 : xxxxxxx
# Sucess!!!
Ⅲ 虚拟用户登录
# 在Linux中,不同的用户是有不同的目录访问权限的,首先创建一个目录.作为ftp用户所拥有的目录
[root@localhost ~]# mkdir -p /home/fdwroot/ftpuser
# 执行如下命令 创建用户ftptest,并指定其目录为用户目录中创建的/home/fdwroot/ftpuser/
[root@localhost ~]# useradd -d /home/fdwroot/ftpuser/ -g ftp -s /sbin/nologin ftptest
# -g ftp //表示该用户属于ftp分组
# -s /sbin/nologin //表示该用户不能用来登录客户端(即为 虚拟用户)
# 执行这条命令会有warning 信息,可不予理会
[root@localhost ~]# chown -R ftptest /home/fdwroot/ftpuser/ #该目录拥有者为ftptest
[root@localhost ~]# chown -R 775 /home/fdwroot/ftpuser/ #给该用户添加读写权限
[root@localhost ~]# passwd ftptest #给该用户设置密码
END
标签:FTP,service,ftp,虚拟机,用户,centos7,vsftpd,root,localhost
来源: https://blog.csdn.net/qq_38396292/article/details/101292565