Ubuntu配置ftp

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zxw136511485/article/details/79460671

    一直都想学习Linux,但是由于各种原因,耽搁至今。最近有点时间,所幸就走进了Linux的世界。本文是学习Linux的第一篇。记录自己的学习之路。回到主题,请开始你的表演!偷笑

一、准备。

    我们都知道,要学习Linux,首先需要在电脑上安装Linux系统, 具体的安装步骤,详情可以参考Linux安装。为了简单,我在win10电脑上安装了VirtualBox虚拟机,在该虚拟机中,安装了Ubuntu。具体安装VirtualBox虚拟机和Ubuntu,都比较简单,这里就不在详细描述!如有疑问,请自行百度。

    安装好Ubuntu后,就开始Linux之旅了!奋斗

    由于本篇文章主要是讲解ftp方面的,所以有关Linux的知识,请自行百度!因为我也是初学者!^_^

二、ftp服务器配置。

2.1. 安装ftp服务器。

    目前Linux上使用较多的ftp服务器是vsftpd。所以,我们需要先安装vsftpd软件。在Ubuntu上安装vsftpd,使用的命令是

apt-get install vsftpd 

    在终端输入这句命令,有可能会提示-“无法定位到软件包 vsftpd”,那么这个问题的解决办法是在 /etc/apt/sources.list文件的最后,添加如下代码,

deb http://ftp.us.debian.org/debian stable main contrib non-free 
deb http://ftp.us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://ftp.us.debian.org/debian testing main contrib non-free
deb http://ftp.us.debian.org/debian-non-US testing/non-US main contrib non-free 
deb http://ftp.us.debian.org/debian unstable main contrib non-free
deb http://ftp.us.debian.org/debian-non-US unstable/non-US main contrib non-free

    然后在终端中执行命令

apt-get update
    经过漫长的等待,终端中最终会执行上面添加的代码。

PS:

修改/etc/apt/sources.list文件,我们可以使用在终端中输入命令

vi /etc/apt/sources.list

就会弹出一个文件编辑界面,这个就是vi编辑界面,此时,我们就能使用vi的基本命令来操作该文件了。

vim编辑器,相信使用过Linux的伙伴们,都不会陌生。vim 编辑器有两种模式,一种是命令模式,另一种是编辑模式。命令模式下,才能使用vi的一些命令,例如,将光标移动到文件内容的最后一行,使用 “G”;“j”-使光标移动下一行;“k”-使光标移动到上一行;“x”-删除光标后的字符;“X”-删除光标前的字符;退出并保存,使用“:wq”;“q!”-退出不保存修改;要从命令模式切换至编辑模式,可以使用“i”和“a”(“i”-在当前字符的前面插入的内容,“a”-在当前字符的后面插入的内容)。编辑模式下,就可以输入新的内容了;从编辑模式切换至命令模式,按“esc”键即可。下面列举下,vi的常用命令,

Ctrl+u:向文件首翻半屏;
Ctrl+d:向文件尾翻半屏;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏;
esc:从编辑模式切换到命令模式;
ZZ:命令模式下保存当前文件所做的修改后退出vi;
:行号:光标跳转到指定行的行首;
:$:光标跳转到最后一行的行首;
x或X:删除一个字符,x删除光标后的,而X删除光标前的;
D:删除从当前光标到光标所在行尾的全部字符;
dd:删除光标行正行内容;
ndd:删除当前行及其后n-1行;
nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;
a:在当前字符后添加文本;
A:在行末添加文本;
i:在当前字符前插入文本;
I:在行首插入文本;
o:在当前行后面插入一空行;
O:在当前行前面插入一空行;
:wq:在命令模式下,执行存盘退出操作;
:w:在命令模式下,执行存盘操作;
:w!:在命令模式下,执行强制存盘操作;
:q:在命令模式下,执行退出vi操作;
:q!:在命令模式下,执行强制退出vi操作;
:e文件名:在命令模式下,打开并编辑指定名称的文件;
:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
:set number:在命令模式下,用于在最左端显示行号;
:set nonumber:在命令模式下,用于在最左端不显示行号;

2.2 vsftpd的配置。

安装好vsftpd后,我们就需要配置它,那么就要修改 /etc/vsftpd.conf文件。具体的配置和说明,见下文,

# 禁止匿名用户登录
anonymous_enable=NO
# 允许系统用户登录
local_enable=YES
# 启用可以修改文件的 FTP 命令
write_enable=YES
# 本地用户创建文件的 umask 值
local_umask=022
# 允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
# 开启日记功能 
xferlog_enable=YES
# 使用标准的20端口来连接ftp 
connect_from_port_20=YES
# 使用标准日志格式 
xferlog_std_format=YES
# 如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_enable=YES
# 指定限制的用户文件
chroot_list_file=/etc/vsftpd/chroot_list
# ftp服务器将处于独立启动模式
listen=YES
# 设置一个本地用户登录后进入到的目录
local_root=/home/ftp
# 设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d/”目录下
pam_service_name=vsftpd
# ftp将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器
userlist_enable=YES
# 只允许user_list文件中记录的ftp用户能登录vsftp服务,其他的ftp用户都不可以登录。
userlist_deny=NO
# 定义限制/允许用户登录的文件
userlist_file=/etc/vsftpd/allowed_users  
# ftp服务器将使用tcp_wrappers作为主机访问控制模式
tcp_wrappers=YES
# 连接ftp服务费使用的端口
listen_port=21

1. 需要手动创建一个目录-ftp的根目录,用户可以访问该目录下的资源,

mkdir /home/ftp

接着创建一个子目录,

mkdir /home/ftp/data

修改ftp这个目录的权限,

chmod -R 777 /home/ftp

2. 还需要手动创建一个文件allowed_users,位于 /etc下,创建该文件的命令是

touch allowed_users

创建文件成功后,我们就可以添加访问用户了,添加用户的命令是

useradd -d /home/ftp/data -s /sbin/nologin zhangxw

添加一个用户(zhangxw),但是该用户不能登录系统。

接着设置该用户的密码,输入命令,

passwd zhangxw
然后根据提示,输入密码即可。例如截图所示,

3. 将上面添加的用户,手动写入到 /etc/vsftpd/allowed_users。只需要添加一行,写入用户名即可。最终文件内容如下图所示,


退出保存即可!重启下vsftp服务!

重启vsftpd,命令是

service vsftpd restart
PS:

如果想要删除ftp某个用户,可以使用如下命令,例如删除用户名为 ”zhangxw”的用户,

userdel zhangxw

配置好vsftpd后,我们就可以启动它了。命令为

service vsftpd start

如需查看vsftpd的状态,可以输入命令

service vsftpd status

显示vsftpd的运行状态,截图如下所示,


可以看到vsftpd的状态是 运行。

PS:  有关ftp端口。

ftp服务有两个端口,默认情况下,一个是20端口,另一个是21端口。21端口用于连接,20端口用于数据传输。

进行ftp文件传输,客户端首先连接到ftp服务器的21端口,进行用户的认证,认证成功后,要传输文件时,ftp服务器会开一个端口20来进行传输数据文件。

    经过上面的步骤,我们就大致完成了有关vsftpd的安装以及配置。接下来,我们就来测试下用户能否连接至vsftpd服务中。首先查看Ubuntu上网的ip地址,在终端中输入

ifconfig

终端中便会出现该系统的上网信息,


ip地址在图上已经标记出来了。ip地址是 10.0.0.120,在终端中输入命令 “ftp ip地址”,

ftp 10.0.0.120

连接成功后,会提示输入用户名和密码,


登录成功,便会出现一个 ‘ftp>’这样的命令行,我们可以输入命令 ‘dir’,查看该用户能访问的目录,


上图显示了 /home/ftp/data 目录,并且这个目录的权限比较多,可读可写。

是否有小伙伴会想,能否在win系统中访问虚拟机中的ftp服务器呢?经过一番折腾,结果是~~~~,请继续看下文。

三、访问ftp。

1. 首先需要查看win系统的ip地址,相信大家对这个问题都不陌生吧?在  cmd 中 输入 ipconfig 就可以了,


因为我使用的是无线上网,所有就需要查看无线网络的ip地址,我本机的无线网络ip地址是10.0.0.149。然后去查看虚拟机的ip地址是否和我的ip地址在同一个网段内?如果两个不在同一个网段,那么需要修改虚拟机的网络ip地址。

2. 修改虚拟机ip地址。

具体修改虚拟机ip地址如下图所示,首先单击网络图标,出现一个下来列表,选择‘编辑连接’,


单击‘编辑连接’,出现一个网络连接对话框,如果有以太网,选中连接,点击编辑;如果没有以太网,点击添加,


修改虚拟机的ip与win电脑的ip为同一个网段,修改子网掩码、网管、DNS服务器,最后点击保存。然后查看虚拟机的ip是否修改成功。

3. 修改虚拟机网络配置。这一步修改前,建议将虚拟机关闭。修改完成后,重新启动。

选择Ubuntu,右键选择 设置,找到 网络。具体修改如下图所示,


修改完成后,点击 ok 按钮。然后,重新启动虚拟机。记得启动完虚拟机后,还要启动下vsftpd服务哦!

接下来就是见证奇迹的时刻了!

4. 验证。

我们通过两种方式来验证。

1). 打开cmd, 输入 ftp 10.0.0.120,如果出现下图所示,说明,是连接成功的


输入用户名和密码,


可以看到,可以连接访问 /home/ftp/data。

这种验证方式和我们直接在虚拟机中验证操作和命令基本上都一样。

2). 使用第三方工具。

使用Xftp工具。相信很多使用Linux服务的小伙伴都知道这个工具。具体的安装、下载就不多说了,比较简单。下面是它的使用。

打开这个工具,新建一个连接,具体的配置,如下图所示,


输入ftp服务器ip地址,选择协议 ftp,输入端口 21,填写用户名和密码,最后点击 确定按钮。

然后在工具中点击 打开头标,会出现一个会话对话框,选中我们新建的连接,点击连接按钮,


如果一切都顺利的话,将会出现如下所示的界面,


现在,我们就可以上传文件到 data 目录中 了。选中一个文件,拖动到data目录中,


    

    至此,有关Linux中配置ftp服务器的成功了!希望看博文的读者,能动手实践操作下!


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页