很早就应该写这篇文章了,结果因为开学这两周各种事情纠缠,就忘了这事。今天参加完笔试刚好没什么事干,就想着把这两周累积起来的东西整理一下。

当时是想通过sftp的put命令将电脑上的文件上传到云服务器上,结果发现使用lnmp一键安装包中的ftp工具无法实现。所以不得不单独在服务器上安装vsftp服务。

在网上找了各种教程,最终我选择用下面这种简单的方法安装完成。安装的步骤如下:

<h3>1、安装vsftpd</h3>
执行以下命令:

yum install vsftpd -y

<h3>2、vsftpd服务器的配置</h3>

如果你只是想使用sftp的话,下面部分可以忽略。

下面主要是讲解,如何在开启防火墙和SELinux情况下,实现匿名用户的登录,可以上传下载,可以创建目录,创建权限掩码为022,可以删除文件,最大上传速度为100kbit/s。

2.1 修改配置文件开放匿名用户上传、下载及其他权限,

vsftpd服务器的配置文件路径为:

/etc/vsftpd/vsftpd.conf。

配置如下:

anonymous_enable=yes //允许匿名用户登录

anon_upload_enable=yes //允许匿名用户上传
write_enable=yes //赋予写权限
anon_mkdir_write_enable=yes //允许匿名用户新建文件夹
anon_other_write_enable=yes //匿名用户拥有除了上传和新建目录之外的其他权限
anon_amask=022 //匿名用户的权限掩码
anon_max_rate=102400 //最大上传速度100kbit/s

然后重启sftp服务就行了,重启执行下面的命令:

systemctl restart vsftpd.service

2.2 修改上传目录的权限

为了让匿名用户实现上传,必须开放目录的写权限,以anonymous用户名登录后,相当于ftp用户的身份,ftp的登录目录为/var/ftp,开放这个目录的写权限:

chmod 777 /var/ftp

再重启服务并在服务器上用ftp登录,会出错,这是因为/var/ftp的权限不对所致,这个目录的权限是不能打开所有权限的。
解决方法为在/var/ftp下再建一个目录,权限是777就可以了,命令如下:

mkdir /var/ftp/pub
chmod 777 /var/ftp/pub

2.3 开启防火墙和SELinux

这一步网上教程很多,大家可以自己去网上查询。

最后,我安装后在Mac的terminal中使用sftp的效果如下:
屏幕快照 2018-03-14 下午11.20.01.png

Last modification:March 16th, 2018 at 02:06 pm
If you think my article is useful to you, please feel free to appreciate