帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  新手学Linux运维之搭建FTP服务器(二)

新手学Linux运维之搭建FTP服务器(二)

2016-10-21 03:54:28 460

本地用户登录

匿名用户登录系统很不安全,通常是关闭的,而本地用户比匿名用户更加安全。

使用本地用户,首先更改相应的配置文件。

首先修改配置文件:

vim 
/etc/vsftpd/vsftpd.conf

关闭匿名模式,打开本地用户模式,并授予相应权限:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local-umask=022

保存配置文件,并重新启动VSFTP服务,

测试时避免防火墙和SELinux干扰,记得暂时关闭。

用另一台计算机登录尝试用匿名用户登录:

QQ截图20161021040146.png

可以看到登录被拒绝了,尝试用本地用户登录:

QQ截图20161021040226.png


登录成功,你可以在上面上传和下载文件了。

虚拟用户登录

无论是用匿名用户还是本地用户登录都不是很安全,如果密码泄露很可能会危害系统,那么VSFTP还提供了一种更加安全的登录方式,即虚拟用户。

因为虚拟用户在系统中并不是真实存在的,所以需要为虚拟用户创建一个新的数据库,

执行命令:

创建虚拟用户名和口令文件:

cd /etc/vsftpd/

vim user_passwd


QQ截图20161021040348.png


这里我创建了两个用户linux1和linux2 ,口令为1234 ,特别就要注意的是,用户名必须在奇数行,口令必须在偶数行。否则会出错。

然后?db_load命令使用hash算法把虚拟用户名和口令文件转换为数据库文件:

db-load -T -t hash -f user-passwd user-passwd.db

由于系统采用了PAM认证机制,因此需要建立相应的PAM认证文件,

执行命令:

vi /etc/pam.d/vsftpd

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/user_passwd  

account required /lib/security/pam_userdb.so db=/etc/vsftpd/user_passwd   

具体命令用法不做过多赘述?这里只是给大家做一个演示。

接下来你得修改VSFTP配置文件:

QQ截图20161021042034.png

参数解释:

guest_enable=YES打开虚拟用户模式

guest_username=知道虚拟用户映射的本地账号

pam_service_name=vsftpd.pam指定pam文件

重启VSFTP客户端,用虚拟用户登录

QQ截图20161021042144.png

已经看到登录成功

由于小编配置太粗心,经过多次试验,才总算配置成功了,写的不是很到位的地方,还请?友见谅。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: