Linux 中 ftp 上传下载命令

说白了,使用FTP命令在Linux环境下上传和下载文件其实很简单。
先说最重要的,你需要在命令行里输入ftp,后面跟上远程服务器的主机名或IP地址。
比如,你想要下载远程服务器上的文件,可以使用get命令,格式是get[远程文件名][本地文件名],比如ftp>get /usr/your/1 .htm 1 .htm。
另外一点,上传文件时用put命令,格式是put[本地文件名][远程文件名],比如ftp>put 1 .htm /usr/your/2 .htm。
还有个细节挺关键的,上传和下载都是在主机的当前目录下进行的,所以记得切换到正确的目录。

我一开始也以为FTP命令很复杂,后来发现其实关键就这几个命令。
等等,还有个事,FTP命令里还有像open、cd、del、bye这些常用的,比如open是连接服务器,cd是切换目录,del是删除文件,bye是结束连接。
还有,如果你需要查看命令的帮助信息,可以用help命令。

最后提醒一下,FTP命令里还有ascii和binary这两种传输模式,ascii用于文本文件,binary用于二进制文件,比如图片或视频。
这个点很多人没注意,但很重要。
你觉得,除了这些基础操作,还有哪些高级技巧是使用FTP命令时值得尝试的?

Linux FTP服务器

哎呦,这俩文件啊,得说说。
vsftpd.ftpusers,这名字听起来就像是个不允许登录FTP的用户名单。
它就藏在那儿,等等,得具体说说,它位于等等,对对对,就在那个 /etc/ 目录下。
这文件里啊,记录的是不允许进行FTP登录的本地用户账号,你说这账号,往往不是咱们这些普通用户,而是系统里那些有大权限的账号,比如root用户。
禁止这些账号登录FTP,主要是为了提高系统安全性嘛。

再说说那个vsftpd.user_list,这货啊,功能跟ftpusers挺像,但是它更灵活点。
它得跟vsftpd.conf文件里的配置项一起用,才能实现对用户账号的访问控制。
比如,你想禁止某个用户登录FTP,得在vsftpd.conf里找到相关的设置。

来来来,咱们举个例子。
如果在vsftpd.conf里设置了 userlist_enable=YES,那vsftpd.user_list文件就派上用场了。
然后看看 userlist_deny 的设置,如果是 YES,那所有在文件里的用户都不能登录FTP。
反过来,要是设成 NO,那只有不在 vsftpd.user_list 文件里的用户能登录。

但说到底,ftpusers 的优先级比 user_list 高。
也就是说,如果 ftpusers 文件里包含了 root 用户,那不管你 userlist_deny 是 YES 还是 NO,root 用户都是不能登录FTP的。

说实话,当时我刚开始学这东西的时候,也有些迷糊,不过现在搞明白了。
这两个文件啊,都是咱们系统管理员用来控制FTP访问的神器,用好了,能大大提高系统安全。

如何在Linux上配置FTP、DNS、Postfix ?

去年夏天,我在公司搞了个小项目,就是搭建一个FTP服务器。
当时,我手头有一台Linux企业4 的机器,还有一台老旧的Windows XP机器。
Linux那台当服务器,Windows那台当客户机。

首先,给Linux服务器设置了IP地址:1 9 2 .1 6 8 .1 0.1 01 然后,我尝试用rpm-qa | grep vsftpd命令检查是否已经安装了vsftpd,结果发现没有安装。
于是,我把光盘放进光驱,挂载上,然后进入光盘的RPMS目录,找到了vsftpd的安装包。
安装命令是rpm -ivh vsftpd-2 .0.1 -5 .i3 8 6 .rpm。

接着,我编辑了vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,把anonymous_enable=YES改为NO,这样就不允许匿名登录了。
然后,我创建了共享目录/var/ftp,并在里面新建了一个文件叫abcd。

启动vsftpd服务后,我用Windows XP的客户机访问FTP服务器,在IE浏览器里输入ftp://1 9 2 .1 6 8 .1 0.1 0,发现可以访问到FTP服务器,并且可以下载文件,但不能上传。
这个细节很重要,说明服务器的配置基本没问题,但是权限设置还需要调整。

然后,我禁用了匿名用户访问,把anonymous_enable=YES改成了NO,并且设置了chroot_local_user=YES,这样普通用户就被限制在他们的家目录下了。

接下来,我新建了一个用户linux,并设置了密码。
再次用Windows XP的客户机访问FTP服务器,这次输入用户名和密码后,可以访问FTP服务器,并且可以上传和下载文件了。

至于DNS的配置,我在服务器上安装了bind,然后配置了IP和DNS,指向了自己的IP地址。
我还修改了/etc/named.conf,把localhost改成了域名www.aaa.com,并且配置了反向解析。

这一切都搞定了之后,我突然想到,我们公司是不是也需要一个邮件服务器?然后我就看到了Postfix,但我自己也没做过,所以暂时没敢动手。
等等,我好像遗漏了点东西,比如FTP服务器的上传权限设置,还有邮件服务器的详细配置,这些都需要进一步完善。