Linux下ftp服务器搭建

创建两个Linux虚拟机,完成初始配置,可以让两台Linux虚拟机能互相ping通
修改各自的 主机名,在/etc/sysconfig/network 文件中,完成如下设置
服务端主机名设置为 server 。客户端设置为 client
这里写图片描述
这里写图片描述
两台虚拟机已经ping通

一、Vsftpd 简单用法
[root@localhost ~]# yum install -y vsftpd # (服务端)安装 Vsftpd
[root@localhost ~]# /etc/init.d/vsftpd start # (服务端)启动 Vsftpd

关闭防火墙或者清空防火墙规则及关闭selinux
iptables -F
service iptables save
vim /etc/selinux/config
SELINUX=disabled
创建ftp账号病设置密码
useradd jzc && passwd jzc

这里写图片描述

这里写图片描述

[root@localhost ~]# yum install -y lftp # (客户端)安装 lftpd 工具,用来登录 FTP 服务端
[root@localhost ~]# lftp test@192.168.123.102 # (客户端)登录 FTP 服务端,test 是服务端系统用户,192.168.123.102 是 FTP 服务端地址
Password: # 登录后默认共享的目录是登录用户的家目录
lftp test@192.168.123.102:~> ls # 查看共享的内容
lftp test@192.168.123.102:~> get 1.txt # 下载文件
lftp test@192.168.123.102:~> put 1.txt # 上传文件

二、使用虚拟用户登录 Vsftpd
1、服务端配置(我们用系统用户登录的时候,不仅可以浏览该用户的家目录,而且能够浏览家目录外的目录,不太安全,因此有必要使用虚拟用户来登录,虚拟用户只能访问 该用户家目录)
[root@localhost ~]# yum install -y vsftpd # 安装 Vsftpd
[root@localhost ~]# useradd test -s /sbin/nologin # 创建系统用户,登录 Vsftpd 的时候用虚拟用户登录,登录后才切换到系统用户

这里写图片描述

[root@localhost ~]# vim /etc/vsftpd/vsftpd_login # 创建虚拟用户
test1 # 虚拟用户
11111 # 密码
[root@localhost ~]# chmod 600 /etc/vsftpd/vsftpd_login
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
# 生成库文件,使得 Vsftpd 能够识别该文件
[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf # 创建虚拟用户的配置文件目录
[root@localhost ~]# vim /etc/vsftpd/vsftpd_user_conf/test1 # 创建虚拟用户配置文件,注意文件名要与虚拟用户名一致,注意,如果复制粘贴的话,需要把注释部分全去掉,并保证,每行后面不要有空格
local_root=/home/test/test1 # 指定要共享的虚拟用户目录
anonymous_enable=YES # 是否允许匿名用户登录
write_enable=YES # 是否开放本地用户写权限
local_umask=022 # 创建文件的默认 umask 值
anon_upload_enable=YES # 是否允许匿名用户上传文件
anon_mkdir_write_enable=YES # 是否开启匿名用户的写和创建目录的权限
idle_session_timeout=600 # 会话空闲时间多久就中断连接
data_connection_timeout=120 # 将在数据连接空闲两分钟后中断
max_clients=10 # 最大连接数
max_per_ip=5 # 最大传输数
local_max_rate=50000 # 限制传输速度

[root@localhost ~]# mkdir /home/test/test1 # 创建虚拟用户目录
[root@localhost ~]# chown -R test /home/test/test1 # 修改为系统用户的权限
[root@localhost ~]# vim /etc/pam.d/vsftpd # 指定使用虚拟用户的方式去认证 #%PAM-1.0
添加内容:
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
[root@localhost ~]# cat /etc/vsftpd/ftpusers
# Users that are not allowed to login via ftp
root
bin
#daemon //注释掉此行
adm
lp
sync
。。。。。。。。。省略。。。。。。。。。
这里写图片描述

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf # 编辑配置文件,设置只让虚拟用户登录,不能让系统用户登录
anonymous_enable=NO
local_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=test
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@localhost ~]# /etc/init.d/vsftpd restart # 启动 Vsftpd

这里写图片描述

这里写图片描述

这里写图片描述

2、Linux 客户端访问 Vsftpd
[root@localhost ~]# yum install -y lftp # (客户端)安装 lftpd 工具,用来登录 FTP 服务端
[root@localhost ~]# lftp test1@192.168.123.102 # (客户端)登录 FTP 服务端,test1 是虚拟用户,192.168.123.102 是 FTP 服务端地址
Password: # 登录后默认共享的目录是虚拟用户的目录
lftp test@192.168.123.102:~> ls # 查看共享的内容
lftp test@192.168.123.102:~> get 1.txt # 下载文件
lftp test@192.168.123.102:~> put 1.txt # 上传文件

3、Windows 客户端访问 Vsftpd
这里写图片描述

本人实验做的并不成功,到最后一步没连接上。。。 这里只是部分截图 之后会讲如何更换yum源 关闭防火墙的方法及其开机自启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值