基于Linux中的ftp服务部署

文件传输协议:

	FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20,21端口,其中端口20(数据端口)用于
传输数据,端口21(命令端口)用于接受客户端发出的相关ftp命令与参数。ftp服务普遍部署在内网中,具有容易搭建,方便管理
的特点。
	FTP服务器是按照FTP协议在互联网上提供文件存储和访问服务的主机,FTP客户端则是向服务器发送连接请求,以建立数据
传输链路的主机。FTP协议有下面两种工作模式:
主动模式:FTP服务器主动向客户端发起连接请求。
被动模式:FTP服务器等待客户端发起连接请求(FTP的默认工作模式)
	vsftpd是一款运行在linux操作系统上的FTP服务程序,不仅开源而且免费,有很高的安全性,传输速度以及支持虚拟用户认证
等其他FTP服务不具备的特点。

部署实验环境:

[root@localhost ~]# vim /etc/sysconfig/selinux  编辑文件
[root@localhost ~]# cat /etc/sysconfig/selinux 关闭selinux
SELINUX=disabled 这行改为disabled即可
[root@localhost ~]# getenforce   重启生效,查看是否更改成功
Disabled
[root@localhost ~]# yum install vsftpd lftp -y  安装ftp和lftp
[root@localhost ~]# systemctl start vsftpd  打开服务
[root@localhost ~]# systemctl enable vsftpd  开机自启动
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
[root@localhost ~]# netstat -antlupe | grep vsftpd  查看端口是否开启
tcp6       0      0 :::21                   :::*                    LISTEN      0          38124      1789/vsftpd         
[root@localhost ~]# firewall-cmd --list-all  查看防火墙支持状态
[root@localhost ~]# firewall-cmd --permanent --add-service=ftp
success   添加ftp进去
[root@localhost ~]# firewall-cmd --reload  重新读入
success
[root@localhost ~]# firewall-cmd --list-all ftp被允许
public (default, active)
  interfaces: eth0
  sources: 
  services: dhcpv6-client ftp ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 
[root@localhost ~]# cd /var/ftp/  所有操作在此目录下
[root@localhost ftp]# ls
pub
[root@localhost ftp]# touch xfl
[root@localhost ftp]# ls
pub  xfl
[root@localhost ftp]# lftp 172.25.254.221 测试进去可以看到建立的文件xfl
lftp 172.25.254.221:~> ls
drwxr-xr-x    2 0        0               6 Aug 03  2015 pub
-rw-r--r--    1 0        0               0 May 05 07:07 xfl

设置selinux状态,安装ftp和lftp:
这里写图片描述
开启服务并设置开机自启动:
这里写图片描述
配置火墙状态并添加ftp,在根目录下建立文件方便测试效果:
这里写图片描述
直接在虚拟机通过lftp命令连接进行查看文件
这里写图片描述
vsftpd服务的配置参数:

参数 作用
listen=[YES|NO] 是否以独立运行的方式监听服务
listen_address=IP地址 设置要监听的IP地址
listen_port=21 设置FTP服务的监听端口
download_enable=[YES|NO] 是否允许下载文件
userlist_enable=[YES|NO],userlist_deny=[YES|NO] 设置用户列表为允许还是禁止操作
max_clients=0 最大客户端连接数,0表示不限制
max_per_ip=0 同一IP地址的最大连接数,0为不限制
annoymous_enable=[YES|NO] 是否允许匿名用户访问
anon_upload_enable=[YES|NO] 是否允许匿名用户上传文件
anon_umask=022 匿名用户上传文件的umask值
anon_root=/var/ftp 匿名用户的ftp根目录
anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建目录
anon_other_write_enable=[YES|NO] 是否开放匿名用户的其他写入权限(包括重命名,删除等操作权限)
anon_max_rate=0 匿名用户的最大传输速率(字节\秒),0为不限制
local_enable=[YES|NO] 是否允许本地用户登录ftp
local_umask=022 本地用户上传文件的umask值
local_root=/var/ftp 本地用户的ftp目录
chroot_local_user=[YES|NO] 是否将用户权限禁锢在ftp目录,以确保安全
local_max_rate=0 本地用户的最大传输速率(字节\秒),0为不限制
报错ID的解析:
		500                       文件系统权限过大
		530                        用户认证失败
		550                         服务本身功能没有开放
		553                         本地文件系统权限过小

1,匿名用户设定

anonymous_enable=YES|NO匿名用户登陆限制,将十二行改为NO就是不可以登录。

[root@localhost ~]# lftp 172.25.254.221
lftp 172.25.254.221:~> ls
drwxrwxr-x    2 0        50             20 May 06 01:38 pub
-rw-r--r--    1 0        0               0 May 05 07:07 xfl
lftp 172.25.254.221:/> quit
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ~]# systemctl restart vsftpd
[root@localhost ~]# lftp 172.25.254.221
lftp 172.25.254.221:~> ls
Interrupt 然后将匿名用户打开。       

文件更改内容:
这里写图片描述
在主配置文件中将匿名用户关闭就不可以登陆,然后重新打开重启服务。
这里写图片描述

2,<匿名用户上传>

vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
	        write_enable=YES
		anon_upload_enable=YES
匿名用户依赖于普通用户可写,需要同时打开服务
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub  赋予权限不然会报错权限太小
测试连接lftp 172.25.254.221,cd /pub,put /etc/passwd,或者pub /etc/group就可以进行效果的测试。

详细操作:


[root@localhost ftp]# lftp 172.25.254.221
lftp 172.25.254.221:~> ls
drwxr-xr-x    2 0        0               6 Mar 07  2014 pub
-rw-r--r--    1 0        0               0 May 07 01:27 xfl
lftp 172.25.254.221:/> cd /pub
lftp 172.25.254.221:/pub> ls
lftp 172.25.254.221:/pub> put /etc/passwd
put: Access failed: 550 Permission denied. (passwd)  服务功能没有开放
lftp 172.25.254.221:/pub> quit
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf   打开匿名用户上传功能
[root@localhost ftp]# systemctl restart vsftpd
[root@localhost ftp]# lftp 172.25.254.221
lftp 172.25.254.221:~> ls
drwxr-xr-x    2 0        0               6 Mar 07  2014 pub
-rw-r--r--    1 0        0               0 May 07 01:27 xfl
lftp 172.25.254.221:/> cd /pub
lftp 172.25.254.221:/pub> ls
lftp 172.25.254.221:/pub> put /etc/passwd
put: Access failed: 553 Could not create file. (passwd)
lftp 172.25.254.221:/pub> ls
lftp 172.25.254.221:/pub> put /etc/group  报错因为权限过小
put: Access failed: 553 Could not create file. (group)
lftp 172.25.254.221:/pub> quit
[root@localhost ftp]# chgrp ftp /var/ftp/pub
[root@localhost ftp]# chmod 775 /var/ftp/pub  赋予权限
[root@localhost ftp]# lftp 172.25.254.221
lftp 172.25.254.221:~> ls
drwxrwxr-x    2 0        50              6 Mar 07  2014 pub
-rw-r--r--    1 0        0               0 May 07 01:27 xfl
lftp 172.25.254.221:/> cd /pub
lftp 172.25.254.221:/pub> put /etc/group  可以上传
863 bytes transferred
lftp 172.25.254.221:/pub> ls
-rw-------    1 14       50            863 May 07 01:54 group
lftp 172.25.254.221:/pub> quit

文件更改内容:

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux Docker离线安装部署需要以下步骤: 1. 在联网环境下,下载Docker安装包和相关依赖包,可以使用命令:sudo apt-get install docker.io 2. 将下载好的Docker安装包和相关依赖包复制到离线环境的某个目录下。 3. 在离线环境,使用命令:sudo dpkg -i 安装包名,安装Docker和相关依赖包。 4. 安装完成后,使用命令:sudo systemctl start docker,启动Docker服务。 5. 使用命令:sudo docker run hello-world,测试Docker是否安装成功。 6. 如果需要使用Docker镜像,可以将镜像文件复制到离线环境,使用命令:sudo docker load -i 镜像文件名,加载镜像。 7. 使用命令:sudo docker run 镜像名,启动容器。 注意事项: 1. 离线环境需要安装的Docker版本和相关依赖包版本需要与联网环境下载的版本一致。 2. 离线环境需要安装的Docker版本和相关依赖包版本需要与操作系统版本兼容。 3. 在离线环境安装Docker和相关依赖包时,可能会遇到依赖关系问题,需要手动安装依赖包。 <br>### 回答2: Docker是一种容器化技术,可以在其运行各种应用程序。如果要在没有网络连接的情况下安装和部署Docker,可以使用离线安装方式。下面是一些关于Linux Docker离线安装部署的步骤: 1. 获取Docker二进制文件 在一个连接互联网的计算机上,可以通过官方网站或镜像站点下载适用于Linux系统的Docker二进制文件,然后将它们拷贝到没有网络连接的计算机上。 2. 安装Docker 将Docker二进制文件拷贝到需要安装Docker的计算机上后,通过sudo命令运行dockerd,启动Docker守护进程。然后使用docker命令测试Docker是否安装成功。 3. 配置Docker 在离线安装的情况下,可能需要为Docker配置所需的镜像、存储库和网络。可以通过以下步骤来完成配置: - 创建私有Docker注册表 - 拷贝所需的Docker镜像文件到Docker注册表 - 配置Docker客户端以使用私有注册表 - 配置Docker网络 4. 运行Docker容器 在安装和配置Docker后,可以通过Docker容器运行应用程序。可以使用Dockerfile创建Docker镜像,然后利用docker run命令对容器进行操作。运行Docker容器可以采用以下命令: - sudo docker run -itd --name container_name image:tag 其,-itd表示以交互式和后台模式运行容器,--name指定容器名称,image:tag指定所需的Docker镜像文件。 总之,对于需要在没有网络连接的计算机上安装和部署Docker的用户,可以采用离线安装方式。通过拷贝Docker二进制文件、安装Docker、配置Docker和运行Docker容器,可以轻松地完成Linux Docker离线安装部署的任务。 <br>### 回答3: Docker是一种快速创建、部署和运行应用程序的开源容器化平台,它允许用户在隔离的容器运行应用程序。Docker的离线安装部署可以在没有网络连接或网络连接不稳定的情况下进行安装,而且具有快速、简便、可重复性好等优点。以下是基于Linux操作系统的docker离线安装部署流程: 1. 下载Docker离线安装包,比如在Docker官网上下载一个tar包。 2. 构建一个离线安装镜像,将下载的离线安装包复制到镜像。 3. 上传镜像到目标服务器。可以使用FTP、rsync等工具将镜像复制到目标服务器。也可以借助U盘、光盘等存储介质进行传输。 4. 在目标服务器上加载镜像,使用如下命令进行加载: docker load -i /path/to/your/image.tar 5. 安装完成后,使用如下命令查看安装的版本: docker version 6. 启动Docker服务,使用如下命令启动Docker: systemctl start docker 7. 确认Docker是否已经成功安装,在终端上输入以下命令,若能正常输出,则表明Docker已经可以正常使用: docker run hello-world 8. 如果需要安装其他Docker镜像,可以使用docker pull命令进行下载。如: docker pull centos 到这里,Docker的离线安装部署就已经完成了。值得注意的是,在没有网络连接的情况下无法通过Docker Hub下载和安装Docker镜像,所以需要在离线环境下构建自己的Docker镜像进行部署使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值