linux-ftp的使用(搭建、上下)

14 篇文章 0 订阅
1 篇文章 0 订阅

一、SRC

优秀blog
vsftpd是用来将节点上资源发布到网络上的工具。需要使用账号密码登录,这个账号可以是所在节点的linux系统用户,也可以是虚拟用户。默认访问登录用户的家目录下的资源,也可以设置为访问登录用户权限下的文件。

一般在所在节点创建1个ftp用户,然后在其家目录中放置资源,然后就可以通过ftp协议url访问了。

ftp是一种文件传输协议,基于这种协议的有许多ftp软件。ftp软件分为服务器:vsftpd 端和客户端:ftp,一般的linux发行版即使是min版,都会预装ftp。

ftp使用的端口默认有20,21。所以要保证这两个端口没有被防火墙拦截,而且没有被其他软件占用
20端口用来传输数据
21端口用来服务器与客户端之间传输指令

1. 优点

同一局域网内,没有网络也可以传输文件
可以做网盘
速度快
安全稳定

二、com

1. 虚拟用户

虚拟用户是指linux系统中不存在,但可以登录到ftp上的用户。一般禁止使用

vsftpd节点上创建用来登录的系统用户,必须使用passwd设置密码,因为登录要用
默认访问的是登录的系统用户的家目录
useradd -d 指定的家目录 用户名
usermod -d 指定的家目录 用户名

三、搭建ftp服务器

1. 安装 vsftpd。

yum install -y vsftpd

2. 配置:安装后自动在/etc/vsftpd/下生成配置文件

配置文件详解

{1} vsftpd.conf需要做的修改

anonymous_enable=NO #禁止匿名访问,默认为YES,表示可以使用虚拟用户
anon_upload_enable=NO   #禁止匿名用户上传

local_enable=YES  #允许本地主机访问,表示可以使用系统用户登录

listen=YES  #这里默认NO,listen_ipv6是YES,这样设置会启动不了,反过来就可以了
listen_ipv6=NO

#
userlist_enable=YES
userlist_deny=NO

local_root用来强制设置所有用户访问的目录,设置后,chroot_list失效,所有用户都会访问这个目录
local_root=/opt/ftpdata

{2} user_list

[1] local_enable=YES后默认所有本地用户都可以登录,user_list用来进行过滤设置。

userlist_enable和userlist_deny 2个配置的关系的关系

当且仅当userlist_enable=YES时,user_list文件才会被使用:userlist_deny项的配置才有效;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP

当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous

[2] 落地使用

添加ftpuser用户,只需要添加用户名,密码不需要在这设,会读取系统用户信息
一行一个用户名
在这里插入图片描述

{3} ftpusers

ftpusers不受任何配制项的影响,永远生效的黑名单

{4} 创建chroot_list文件(默认没有)

[1] 用来设置登录用户是否只能访问家目录
xchroot_local_user=YESchroot_local_user=NO
chroot_list_enable=YES1.所有用户都被限制在其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制1.所有用户都不被限制其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,受到限制
chroot_list_enable=NO1.所有用户都被限制在其主目录下 2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户1.所有用户都不被限制其主目录下 2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户
[2] 落地使用

添加ftpuser用户
在这里插入图片描述

3. 启动

systemctl start vsftpd

4. browser访问

在浏览器输入ftp://ip即可,注意不要输入端口

四、linux下ftp的使用

ftp ftp服务器的ip 之后会提示输入账号密码
ftp 用户名:密码@ip

输入后进入ftp界面

commanddesc
ls(没有ll)查看文件列表
cd
bin切换为bin模式
get [remote-file] [local-file]从远端主机中传送至本地主机中.
mget [remote-files]可一次性下载多个,可以使用*,会下载到linux的当前目录下
put local-file [remote-file]将本地一个文件传送至远端主机中.
mkdir创建文件夹
lcd、lpwd在命令前面加上 l 表示在本机操作(local),上传时会很方便
ascii 、asc设定以ASCII方式传送文件(缺省值)
binary设定以二进制方式传送文件.
bell每完成一次文件传送,报警提示.
case当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母.
cd同UNIX的CD命令.
cdup返回上一级目录.
chmod改变远端主机的文件权限.
close终止远端的FTP进程,返回到FTP命令状态, 所有的宏定义都被删除.
delete删除远端主机中的文件.
dir [remote-directory] [local-file]列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件.
ls [remote-directory] [local-file]同DIR.
help [command]输出命令的解释.
lcd改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录.
macdef定义宏命令.
mdelete [remote-files]删除一批文件.
mget [remote-files]从远端主机接收一批文件至本地主机.
mkdir directory-name在远端主机中建立目录.
mput local-files将本地主机中一批文件传送至远端主机.
open host [port]重新建立一个新的连接.
prompt交互提示模式.
pwd列出当前远端主机目录.
recv remote-file [local-file]同GET.
rename [from] [to]改变远端主机中的文件名.
rmdir directory-name删除远端主机中的目录.
send local-file [remote-file]同PUT.
status显示当前FTP的状态.
system显示远端主机系统类型.
user user-name [password] [account]重新以别的用户名登录远端主机.
? [command]同HELP. [command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。
!从 ftp 子系统退出到外壳。
bye、quit 、exit终止主机FTP进程,并退出FTP管理方式.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux系统中,搭建FTP服务器是十分常见的任务,通过FTP服务器可以方便地在本地和远程进行文件传输。以下是FTP服务器搭建的步骤: 第一步,安装vsftpd软件包:在终端中输入sudo apt-get install vsftpd,这将会下载并安装vsftpd软件包。 第二步,配置vsftpd服务:通过在终端中运行sudo vim /etc/vsftpd.conf命令,可以打开vsftpd服务的配置文件,根据需要进行不同配置。例如,可以更改默认的FTP用户的根目录,开启匿名访问,设置FTP服务端口等。 第三步,启动vsftpd服务:在终端中输入sudo service vsftpd start,即可启动vsftpd服务。 第四步,设置防火墙规则:如果系统上开启了防火墙,则需要设置相应的规则,以允许FTP服务的访问。通过iptables命令或者ufw命令均可实现。 总之,通过以上步骤,就可以在Linux系统上成功搭建FTP服务器。在这里,需要注意FTP服务的安全性问题,例如匿名访问带来的安全隐患等。因此,在使用FTP服务器时,需要谨慎并采取必要措施,以确保文件的安全传输。 ### 回答2: FTP(文件传输协议)是一种用于文件传输的网络协议。我们可以通过FTP协议来搭建自己的FTP服务器,方便文件上传、下载和共享。本文重点介绍如何在Linux系统上搭建FTP服务器。 1.安装VSFTPD 在命令行中输入以下命令: sudo apt-get install vsftpd 2.配置vsftpd 配置文件位于“/etc/vsftpd.conf”,可以使用以下命令打开文件: sudo nano /etc/vsftpd.conf 为了保持安全,应该禁用匿名访问,仅允许通过用户名和密码进行访问。以下是禁用匿名访问的配置项: anonymous_enable=NO 为每个用户单独分配文件夹进行访问,并启用本地用户登录。以下是配置项: chroot_local_user=YES local_enable=YES 将文件传输模式设置为二进制模式。以下是配置项: ascii_upload_enable=NO ascii_download_enable=NO local_umask=022 pasv_enable=YES pasv_min_port=40000 pasv_max_port=40100 其中,“pasv_min_port”和“pasv_max_port”表示FTP使用的被动模式端口,确保其在防火墙中打开并配置为允许通过。 3.启用防火墙端口 打开TCP端口20和21: sudo ufw allow 20/tcp sudo ufw allow 21/tcp 打开TCP端口40000到40100,如果您在配置vsftpd时使用了不同的端口,则需要更改相应的端口范围: sudo ufw allow 40000:40100/tcp 4.启动VSFTPD并设置开机启动 运行以下命令以启动VSFTPD: sudo service vsftpd start 使VSFTPD在系统启动时启动: sudo systemctl enable vsftpd 5.创建FTP用户 运行以下命令来创建FTP用户: sudo adduser ftpuser 将新用户加入FTP用户组: sudo usermod -aG ftpuser ftpuser FTP用户的文件夹将在“/home/ftpuser”下创建。 6.测试FTP服务器 在Windows电脑上使用FTP客户端(例如FileZilla)连接到Linux上的FTP服务器。使用FTP用户的凭据进行身份验证,确保您可以上传和下载文件。 总的来说,搭建FTP服务器需要注意的几点是:保持安全、禁用匿名访问、为每个用户单独分配文件夹进行访问、打开TCP端口、启用防火墙、创建FTP用户等。通过这些步骤,您就可以成功地在Linux系统上搭建FTP服务器了。 ### 回答3: 在Linux中,FTP服务器可以用于文件传输和共享。在Linux上配置FTP服务器非常容易,只需要安装适当的软件包并进行一些简单的配置即可。这篇文章将介绍如何在Linux搭建FTP服务器。 首先,我们需要安装FTP服务器软件包。在大多数Linux发行版上,FTP服务器软件包为vsftpd,可以使用以下命令安装: sudo apt-get install vsftpd 安装完成后,我们需要编辑配置文件/etc/vsftpd.conf以定义我们的FTP服务器设置。以下是一些常用设置: 1. anonymous_enable=YES:启用匿名FTP登录。 2. local_enable=YES:启用本地用户登录FTP。 3. write_enable=YES:启用写入FTP服务器的权限。 4. chroot_local_user=YES:使本地用户只能访问其主目录。 5. pasv_enable=YES:启用被动模式FTP。 编辑完成配置文件后,我们需要重启FTP服务器以应用设置。可以使用以下命令: sudo service vsftpd restart 现在我们已经可以从其他设备连接到我们的FTP服务器了。使用FTP客户端(如FileZilla)输入服务器IP地址、用户名和密码即可连接到服务器。如果设置了匿名登录,客户端可以使用用户名“anonymous”和空密码登录。 在FTP服务器上,我们可以创建和删除文件夹,上传和下载文件。在上传和下载文件时,FTP服务器需要具有足够的权限才能写入服务器文件系统。如果无法上传或下载文件,请检查FTP服务器配置文件中的“write_enable”设置是否正确。 总之,搭建FTP服务器非常简单,只需要安装适当的软件包和简单的配置即可开始共享文件。FTP服务器是一个非常有用的工具,可以用于共享大量文件和协作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值