FTP服务器搭建

概念

FTP 服务主要用于文件传输

工作方式 :主动模式、被动模式。默认启用被动模式。

服务器端安装 : yum -y install  vsftpd   、  客户端安装  yum  -y  install   ftp 

主配置文件 : /etc/vsftpd/vsftpd.conf

登录用户类型: 匿名用户、本地用户、和虚拟用户

匿名用户:用户名 ftp  密码 可忽略  。 文件分享位置:/var/ftp/pub

本地用户:用户名 :本地账号   密码:登录密码。  创建本地用户时切记指定 -s /sbin/nologin  和禁锢在宿主目录

虚拟用户: 主要为了满足不同权限需求的用户,比如zhangs 可上传文件,lis可上传文件;还可上传目录,laow可上传文件,可修改目录名。

—————————————————————————————————————————————————

以下主要介绍:

被动模式端口范围限定;

虚拟用户创建;

加密传输。

被动模式——》    /etc/vsftpd/vsftpd.conf

$ pasv_enable=YES

$ pasv_min_port=10221

$ pasv_max_port=10231

虚拟用户——》

# 创建账号信息文件

$ vi /etc/vsftpd/user.list  #第一行写用户名,第二行密码  以此类推

# 将创建的账户信息文件修改为系统识别的数据库类型文件

$ cd  /etc/vsftpd

$ db_load -T -t hash -f /etc/vsftpd/user.list user.db  #改为系统识别的数据库类型文件

$ chmod 600 user.*    #把user相关的文件权限改为600更安全

# 添加虚拟映射用户

$ useradd -d /var/ftproot -s /sbin/nologin virtual  #添加一个虚拟用户,禁止登录 且指定家目录

$ chmod 755 /var/ftproot/  #修改指定的家目录(公共目录)权限,让其他用户都能进入

# 设置认证

$ cd /etc/pam.d

$ cp vsftpd vsftpd.a #拷贝一份认证配置文件,防止改错 便于找回

$ vi vsftpd.a      #固定格式  认证、访问  (修改把现有的都删除,因为默认包含匿名、本地的,我们现在要设置的虚拟用户的 )

    #%PAM-1.0                 

auth    required    pam_userdb.so  db=/etc/vsftpd/user (对应生成的库文件.db可以省略)

account  required    pam_userdb.so  db=/etc/vsftpd/user

# 在主配置文件中声明

$ vi /etc/vsftpd/vsftpd.conf         

pam_service_name=vsftpd.a  #认证文件(若修改,要在这里写修改了的)       

userlist_enable=YES                         

tcp_wrappers=YES

guest_enable=YES    #允许虚拟用户登录

guest_username=virtual  #指定虚拟用户映射的是virtual用户

user_config_dir=/etc/vsftpd/conf  #指定虚拟用户的配置权限放在这里 (这个目录不存在,需创建)

# 创建用户控制权限

$ cd /etc/vsftpd/ 

$ mkdir  conf

$ cd  conf

$ touch  user1  user2  user3


# 常见权限:

anon_upload_enable=YES  允许上传

anon_mkdir_write_enable=YES    允许用户创建目录

anon_other_write_enable=YES    允许其它写入权限


加密传输——》

# 安装机密算法程序 openssl

$ yum  -y  install  openssl

$ yum  -y  install  openssl-devel

# 创建证书

$ openssl  req  -new  -x509  -nodes  -out  vsftpd.pem  -keyout  vsftpd.pem

# 拷贝到 /etc/ssl/certs    这个目录存放的是操作系统当前所有的证书,及密钥信息。

# 为了保密性,不能让别人随意查看,修改权限

$ chmod  400  vsftpd.pem

# vi  /etc/vsftpd/vsftpd.conf

ssl_enable=YES            开启加密验证                               

allow_anon_ssl=YES                  允许匿名用户认证                 

force_local_data_ssl=YES    强制本地数据传输加密                       

force_local_logins_ssl=YES      登录强制加密                   

force_anon_data_ssl=YES      匿名用户的传输强制加密                       

force_anon_logins_ssl=YES    匿名用户的登录强制加密   

ssl_tlsv1=YES    开启ssl v1版认证                                           

ssl_sslv2=NO  关闭v2 v3版 ,他们需要更高级的证书,openssl无法提供

ssl_sslv3=NO   

rsa_cert_file=/etc/ssl/certs/vsftpd.pem 指定证书存放的目录                      dw快捷键删除连续的单词

注意配置文件的修改 行尾不要有空格 否则容易报错 

ftp客户端简单不支持加密

要用别的验证

你可能感兴趣的:(FTP服务器搭建)