概念
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客户端简单不支持加密
要用别的验证