【Linux网络配置实验】FTP配置

总体流程

服务端

  1. 创建站点主目录/var/xxxftp
  2. 配置vsftpd 的主配置文件,/etc/vsftpd/vsftpd.conf
  3. 创建不能通过 Shell 登录的用户
  4. 创建用户操作目录
  5. 创建FTP服务中的用户配置文件/etc/vsftpd/vsftpd_user_conf/
  6. 配置FTP服务中的用户配置文件/etc/vsftpd/vsftpd_user_conf/shnsftp1
  7. 启动服务service vsftpd restart

虚拟用户登录,并且SSL认证
  1. 创建用户目录 mkdir /home/shnvftp touch /home/shnvftp/testv1
  2. 配置虚拟用户 /etc/vsftpd/login.txt
  3. txt转换db db_load -T -t hash -f login.txt login.db
  4. 验证虚拟用户 /etc/pam.d/vsftpd
  5. 创建FTP服务中的用户配置文件/etc/vsftpd/vsftpd_user_conf/
  6. 配置FTP服务中的用户配置文件/etc/vsftpd/vsftpd_user_conf/shnvftp1 目录与权限
  7. 创建SSL证书
  8. 开启/etc/vsftpd/vsftpd.conf中的SSL
  9. 启动服务service vsftpd restart
  10. 监听管口 tshark -ni eth0 -R "tcp.port eq 21"

客户端

  1. 登录ftp
虚拟用户登录,并且SSL认证
  1. 使用高级的图形客户端登录

配置vsftpd

ini 复制代码
1 #允许匿名用户登录
2 anonymous_enable=no

14 #本地用户登录服务器所访问的路径
15 local_root=/var/shnftp

52 #登录时显示欢迎信息,如果设置了banner_file则此设置无效
53 ftpd_banner=欢迎登录shn'ftp服务器。
54 #登录用户允许使用ls -R命令,(一般禁止,服务器开销巨大)
55 #ls_recurse_enable=YES
56 #是定服务器在StandAlone模式下,不依赖于xinetd,可以独立启动
57 listen=YES
58 listen_address=10.10.1.10

61 # SSL/TLS加密 先No 后面使用SSL再开启
62 ssl_enable=No

创建用户

bash 复制代码
useradd shnsftp1 -s /sbin/nologin
passwd shnsftp1

创建操作目录

bash 复制代码
mkdir shnsftp
chown -R shnsftp1.shnsftp1 /shnsftp
chmod 777 shnsftp
touch shnsftp/tests1

创建FTP服务中的用户配置文件

bash 复制代码
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_user_conf/shnsftp1
  • shnsftp1:为刚才创建的用户名

配置FTP服务中的用户配置文件

ini 复制代码
 8 #全局控制-可以上传
 9 write_enable=no 
10 #设置允许下载
11 download_enable=yes

14 #本地用户登录服务器所访问的路径
15 local_root=/shnsftp
16 #允许匿名用户上传
17 anon_upload_enable=no

39 #设定vsftpd的服务日志保存路径(默认不存在,必须手动touch,并提升权限)
40 #xferlog_file=/var/log/xferlog
41 #设定日志使用标准的记录格式
  • 权限允许下载,禁止上传,操作目录只限于/xxxsftp下
  • write_enable=yse 就可以增删改
  • 40行注释以后的内容都可以删掉

配置虚拟用户

复制代码
  1 shnvftp1
  2 shnvftp1
  • 单数行为用户名
  • 双数行为密码

验证虚拟用户

bash 复制代码
3 auth    sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/login

7 account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/login

创建SSL

bash 复制代码
# openssl req -x509 -days 365 -newkey rsa:2048 -nodes -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem                                   // 创建 SSL
Generating a 2048 bit RSA private key
.............................................+++
....+++
writing new private key to '/etc/vsftpd/vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:cn                                  // 国家
State or Province Name (full name) [Berkshire]:ln                     // 省
Locality Name (eg, city) [Newbury]:ltu                                // 城市
Organization Name (eg, company) [My Company Ltd]:soft                 // 组织
Organizational Unit Name (eg, section) []:network                     // 单位名称
Common Name (eg, your name or your server's hostname) []:localhost    // 主机名称        
Email Address []:
# chmod 600 vsftpd.pem                                                // 授权权限

登录ftp

bash 复制代码
# ftp 10.10.1.10                                                // 连接 ftp
Connected to 10.10.1.10.
220 欢迎登录shn'ftp服务器。
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (10.10.1.10:root): shnmftp1                              // 登录
331 Please specify the password.
Password:                                                     // 密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls                                                       // 查看
227 Entering Passive Mode (10,10,1,10,247,9)
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 May 13 06:14 m1
drwx------    2 603      603          4096 May 20 03:31 shnm
226 Directory send OK.
ftp> get m1 /var/m99                                          // 下载
local: /var/m99 remote: m1
227 Entering Passive Mode (10,10,1,10,35,242)
150 Opening BINARY mode data connection for m1 (0 bytes).
226 File send OK.
ftp> put /var/m99 ./s99                                      // 上传
local: /var/m99 remote: ./s99
227 Entering Passive Mode (10,10,1,10,244,124)
150 Ok to send data.
226 File receive OK.
ftp> delete s99                                              // 删除
250 Delete operation successful.
ftp> quit                                                    // 退出
221 Goodbye.

高级的图形客户端登录

相关推荐
幸运小猿几秒前
启动项目报错,zookeeper影响的
linux·运维·服务器
liu****3 分钟前
11.字符函数和字符串函数(一)
linux·运维·c语言·开发语言·数据结构·算法
minji...29 分钟前
linux 进程控制(一) (fork进程创建,exit进程终止)
linux·运维·服务器·c++·git·算法
I · T · LUCKYBOOM32 分钟前
21.Linux网络设置
linux·运维·网络
Likeyou733 分钟前
关于Linux下的Oracle的rman备份操作指南
linux·运维·oracle
峰顶听歌的鲸鱼37 分钟前
13.docker部署
linux·运维·笔记·docker·容器·云计算
橘子编程39 分钟前
仓颉语言变量与表达式解析
java·linux·服务器·开发语言·数据库·python·mysql
虚神界熊孩儿1 小时前
linux下创建用户和用户组
linux·运维·服务器
hhwyqwqhhwy1 小时前
linux 驱动 rtc
linux·运维·实时音视频
python百炼成钢1 小时前
53.Linux regmap驱动框架
linux·运维·服务器·驱动开发