FTP 主要用于文件传输,在 Linux 上一般用 vsftpd 来实现,通过搭设 FTP 服务器,可以实现文件的共享,至少比坑爹的某度网盘强多了。
搭设 FTP 服务器有三种可选的认证方式:匿名认证、本地用户认证、虚拟用户认证,安全性:匿名认证<本地用户认证<虚拟用户认证,配置复杂度:匿名认证<本地<虚拟用户认证。
Linux 中文件都有对应的所有者,虚拟用户认证指的是,创建一个或多个 FTP 用户,并将这些 FTP 用户与 Linux 本地的某个用户(如 vftpuser )进行映射,这样完成映射的用户在对 FTP 目录进行操作时等同于用户 vftpuser 进行操作。此外,虚拟用户认证模式可以允许对多个 FTP 分别进行配置,非常灵活方便。从灵活性与安全性两个方面考虑,本文选择使用虚拟用户认证模式。
OK,准备开工!
一、基本环境
服务器:CentOS7.5
客户机:Ubuntu Mate18.10
FTP服务端:vsftpd
FTP客户端:FileZilla(可选)
二、基本流程
为了看起来更简洁,仅列出搭设基本流程及相关命令。
1、安装 vsftpd
yum install vsftpd
2、创建虚拟用户
用你喜欢的任何编辑器创建并编辑 /etc/vsftpd/vuser.list 文件,内容如下:
lilei
lileipasswd
hanmeimei
hmmpasswd
口令认证文件奇数行为用户名,偶数行为对应的密码
3、创建口令认证数据库
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db chmod 600 /etc/vsftpd/vuser.db
-T:转换
-t:指定hash算法
-f:指定用户名
4、编辑 PAM 认证文件
创建并编辑 /etc/pam.d/vsftpd.vu ,内容如下:
auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser
db指定口令认证数据库,不含后缀名
5、建立本地用户
useradd -d /home/vftpuser -s /sbin/nologin vftpuser chmod 755 /home/vftpuser
-d:指定用户主目录
-s:指定用户登录shell,/sbin/nologin表示禁止用户通过shell登录,提高安全性
6、映射 FTP 用户到 vftpuser
编辑 /etc/vsftpd/vsftpd.conf ,修改下列行:
pam_service_name=vsftpd.vu # 指定pam认证文件 guest_enable=YES # 启用映射 guest_username=vftpuser # 指定映射的本地用户 user_config_dir=/etc/vsftpd/vusers_dir # 指定FTP用户配置文件位置,如果不需要对每个用户进行分别配置,可将此行注释掉
7、为每个用户进行单独配置
创建 /etc/vsftpd/vuser_dir ,针对每个 FTP 用户创建同名配置文件,此处以 lilei 为例。创建并编辑 /etc/vsftpd/vuser_dir/lilei ,内容如下:
anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/var/www/html
默认根目录为映射用户的家目录,可通过 local_root 指定某个用户的根目录,注意需要将此目录所有者改为 vftpuser 。
8、重启 vsftpd
systemctl start vsftpd
三、注意事项
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Centos7搭建FTP服务器,包括了Centos7搭建FTP服务器的使用技巧和注意事项,需要的朋友参考一下 从网上搜索了好多搭建Centos7搭建服务器的教程都没有成功唯独这个,利用Windows资源管理器连接测试成功。 一、通过yum安装vsftpd yum install -y vsftpd 二、修改vsftpd的配置文件 vi /etc/vsftpd/vsftpd.conf
本文向大家介绍CentOS6.9中搭建FTP服务器的方法,包括了CentOS6.9中搭建FTP服务器的方法的使用技巧和注意事项,需要的朋友参考一下 1 基本环境 2 ftp工作模式 2.1 ftp通道 ftp工作会启动两个通道: 控制通道,数据通道 在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式) 2.2 port模式 在客户端需要接
本文向大家介绍Python搭建FTP服务器的方法示例,包括了Python搭建FTP服务器的方法示例的使用技巧和注意事项,需要的朋友参考一下 Python版本 3.6.2 使用的ftp包:pyftpdlib pip install pyftpdlib就可以下载安装了 FTP协议下载上传文件在文件过大的情况下会比HTTP更具有优势,更为方便的实现断点上传和进度监控,下面是官方文档中的 基本方法
本文向大家介绍Android 快速搭建FTP服务器的方法,包括了Android 快速搭建FTP服务器的方法的使用技巧和注意事项,需要的朋友参考一下 一、概述 打开你的手机,找到文件管理->分类->远程管理,点击启动服务,这样大家可以在局域网内使用电脑访问你手机上的文件了,当然你也可以设置账号和密码,防止“小人”共享你手机上的资源-.-,那如果自己动手,该如何实现这个小功能呢? 二、实现 1、导
本文向大家介绍CentOS搭建FTP文件服务的步骤,包括了CentOS搭建FTP文件服务的步骤的使用技巧和注意事项,需要的朋友参考一下 基于 CentOS 搭建 FTP 文件服务,供大家参考,具体内容如下 系统要求:CentOS 7.2 64 位操作系统 一.安装VSFTPD (vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security
本文向大家介绍Centos7使用docker搭建gitlab服务器,包括了Centos7使用docker搭建gitlab服务器的使用技巧和注意事项,需要的朋友参考一下 了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器。 效果图如下: 系统环境:CentOS Linux release 7.1.1503 (Co