linux常用服务-vsftpd登陆错误

系统自带的ftp软件 vsftpd
安装:yum install -y vsftpd
所有的ftp服务监听21端口
启动: /etc/init.d/vsftpd start (确保21端口不被占用)

[root@Coohx ~]# netstat -lnp |grep vsftpd
tcp   0   0 0.0.0.0:21   0.0.0.0:*       LISTEN      2089/vsftpd

vsftpd 可以让系统用户远程登录到其家目录下,没有限定登录用户的家目录,并且可以cd到任意的目录(/root除外),这样非常不安全!
登陆工具: lftp (同pure-ftpd)

实现安全登陆的方法:
(1)做一个虚拟的用户去登陆,同pure-ftpd
(2)在配置文件中限制:
vim /etc/vsftpd/vsftpd.conf

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES  //去掉前面的#号  限定在家目录下
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list

注:这里也可以做一个用户表, 针对一组用户限定chroot。
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list (用户名及密码存放文件)

错误总结:

登陆时报错:

[root@Coohx vsftpd]# lftp vftp1@127.0.0.1
口令:
lftp vftp1@127.0.0.1:~> ls
ls: 登录失败: 500 OOPS: bad bool value in config file for: anonymous_enable
原因:虚拟用户配置文件里面的 anonymous_enable后面多了个空格
补充:这个配置文件中任何一行中的任何位置都不能包含空格,否则变量名将不被识别,启动出错。

检查与vftp1同名的虚拟用户配置文件,哪一行的末尾有空格去掉就可以。

此两幅图均为vim一般模式下的显示,非编辑模式!

去掉空格前
linux常用服务-vsftpd登陆错误_第1张图片

去掉空格后linux常用服务-vsftpd登陆错误_第2张图片

去掉空格后,wq保存退出,重启vsftpd,登陆成功:

[root@Localhuang ~]# lftp [email protected]
口令:
lftp vftp1@192.168.1.118:~> ls
-rw-r--r--    1 522      522             0 Apr 28 10:20 123
drwxr-xr-x    2 522      522          4096 Apr 28 10:30 vsftp123

你可能感兴趣的:(linux)