栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

Linux(/centos7)虚拟机下搭建FTP服务器

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux(/centos7)虚拟机下搭建FTP服务器

一:安装
[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                           #给该用户设置密码

配置端口
vsftpd有两种端口,一个是21端口,用来监听客户端连接请求的。 一般说来是固定的,就一直使用21端口。
另一种是,一旦获取到请求之后,再专门用户服务端和客户端传输数据的端口。

# 配置端口
 vi  /etc/vsftpd/vsftpd.conf

# 在配置文件最后添加代码
  pasv_enable=YES
  pasv_min_port=60000
  pasv_max_port=60010

# 用于传输数据的端口分配从30000-30010之间

END

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/273654.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号