文件共享服务FTP

文件共享服务

方案有很多
1、ftp(简单的文件传输服务)
     提供用户认证机制
     输入账号密码
2、python -m SimpleHTTPServer(简易的快速进行文件下载)
3、nginx也提供文件下载功能
     提供用户认证机制
     反向代理,负载均衡
     web服务器,静态文件服务器的作用
     ftp服务器的作用
4、samba(linux和windows之间共享 数据)
     提供用户认证机制
5、nfs(现在常用)

FTP工作模式主要分为两种

主动模式(PORT):FTP服务器主动向客户端发起连接请求
被动模式(PASV):FTP服务器等待客户端发起连接请求。

搭建ftp服务

vsftpd允许用户三种认证的模式登录到FTP服务器。

本地用户模式,基于Linux本地账号密码进行认证,配置简单,但是一旦被破解,服务器信息就很危险
匿名用户模式,任何人无需密码直接登录
虚拟用户模式,单独为FTP创建用户数据库,基于口令验证账户信息,只适用于FTP,不会影响其他用户信息,最为安全。
匿名用户模式
匿名用户模式是最不安全的方式,一般用在访问不重要的,允许公开的文件,且放在企业内网环境中,置于防火墙规则下,保证基本的安全性。
vsftpd是默认开启匿名用户模式
本地用户模式
Linux本地用户模式,比匿名用户来的安全,修改配置文件,关闭匿名模式,开启本地用户模式
1、安装vsftpd服务
  yum install vsftpd -y
  注意关闭防火墙
  iptables -F

2、修改配置文件/etc/vsftpd/vsftpd.conf,关闭匿名用户
[root@nfs-31 ~]#grep -vE '^#|^$' /etc/vsftpd/vsftpd.conf
anonymous_enable=No
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

名词解释
anonymous_enable=NO    #关闭匿名用户模式
local_enable=YES    #开启本地用户模式
write_enable=YES    #设置可写权限
local_umask=022    #文件umask值
userlist_enable=YES    #启用【禁止登录的用户名单】文件名是,ftpusers,user_list
userlist_deny=YES    #开启禁止登录名单


3、重启vsftpd服务,加载配置
[root@nfs-31 ~]#systemctl restart vsftpd
[root@nfs-31 ~]#systemctl enable vsftpd
4、创建一个用户
useradd ops01
 设置该用户密码
[root@nfs-31 ~]#echo '111111' | passwd --stdin  ops01
Changing password for user ops01.
passwd: all authentication tokens updated successfully.


5、创建共享目录
[root@nfs-31 ~]#mkdir /afei
6、修改目录权限
[root@nfs-31 ~]#chown -R ops01:ops01  /afei

7、修改配置文件,添加ftp用户
[root@nfs-31 ~]#vim /etc/vsftpd/vsftpd.conf
[root@nfs-31 ~]#tail -3  /etc/vsftpd/vsftpd.conf
local_root=/afei
chroot_local_user=YES
allow_writeable_chroot=YES

# 配置解释
# local_root=/data/kefu  指定本地用户的默认数据根目录 
# chroot_local_user=YES 禁锢本地用户的默认数据目录(禁止用户切换到其他目录)
# allow_writeable_chroot=YES 允许ftp用户登录后,可以创建数据

8、重启vsftpd服务
[root@nfs-31 ~]#systemctl restart vsftpd
[root@nfs-31 ~]#ps -ef | grep  vsftpd
root      11534      1  0 18:26 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      11539   1557  0 18:27 pts/0    00:00:00 grep --color=auto vsftpd

客户端验证

Linux
1、用另一台机器,安装ftp程序,登录vsftpd服务端
[root@rsync-41 ~]#yum install ftp -y
2、登录
[root@rsync-41 ~]#ftp 10.0.0.31
输入账号密码
Name (10.0.0.31:root): ops01
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.


ftp> ls
227 Entering Passive Mode (10,0,0,31,183,249).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Apr 19 10:32 666.txt
226 Directory send OK.
ftp> get
(remote-file) 666.txt
(local-file) 333.txt
local: 333.txt remote: 666.txt
227 Entering Passive Mode (10,0,0,31,219,95).
150 Opening BINARY mode data connection for 666.txt (0 bytes).
226 Transfer complete.

[root@rsync-41 ~]#ls
333.txt  anaconda-ks.cfg

windows

posted @ 2022-07-05 21:05  张开嘴  阅读(281)  评论(0编辑  收藏  举报