首页 - 新闻 - ubuntuvsftpd的简单介绍

ubuntuvsftpd的简单介绍

2023-09-26 17:31

本文目录一览:

  • 1、ubuntu vsftpd 530 Login incorrect 根本原因和解决方案
  • 2、Ubuntu下的vsftpd使用问题(vsftpd.conf配置无效)
  • 3、ubuntu下安装vsftpd的坑
  • 4、ubuntu怎么安装vsftpd

ubuntu vsftpd 530 Login incorrect 根本原因和解决方案

ubuntu安装vsftpd一般使用:

sudo apt-get install vsftpd

参照其他网上教程的配置后,在账号、密码、主目录都是正确的情况下,可能会遇到账号登录提示 530 Login incorrect 的问题。

网络上有好多解决方案,例如修改/etc/vsftpd.conf文件 将pam_service_name=vsftpd 修改为 pam_service_name=ftp ,虽然能够解决这个问题,但是这种方法其实是错误的。这样由于/etc/pam.d/ftp文件不存在,等于是绕过了PAM。

/etc/pam.d/vsftpd 默认如下

可能导致530错误的有

auth required pam_www.gsm-guard.net item=user sense=deny file=/etc/ftpusers onerr=succeed

auth required pam_www.gsm-guard.net

auth required pam_www.gsm-guard.net item=user sense=deny file=/etc/ftpusers onerr=succeed

该配置项的含义是 /etc/ftpusers 中的用户禁止登陆,如果文件不存在在默认所有用户均允许登录. 所以确保用户没在这个文件内。

auth required pam_www.gsm-guard.net 配置项的含义为仅允许用户的shell为 /etc/shells

文件内的shell命令时,才能够成功

而创建ftp用户时,为了禁止ssh登录,一般多为/bin/false 、/usr/sbin/nologin 等,显然不是一个有效的bash,也就无法登录了。

1、查看/etc/ftpusers ,确保账号没有在这个文件内。

2、修改/etc/pam.d/vsftpd

将 auth required pam_www.gsm-guard.net 修改为- auth required pam_www.gsm-guard.net 即可

3、重启vsftpd

Ubuntu下的vsftpd使用问题(vsftpd.conf配置无效)

你要检查你的启动脚本,是否带了参数。如果不带参数启动vsftpd,默认配置可能有两个:/etc/vsftpd.conf或者/etc/vsftpd/vsftpd.con,根据实际情况你自己检查。你应该在/etc/init.d/vsftpd启动脚本中,以 ”/usr/local/sbin/vsftpd /etc/vsftpd.conf“来启动。

配置你必须把local_enable选项打开,否则只能匿名访问。

下面是一个虚拟用户的配置,仅供参考:

anonymous_enable=NO

local_enable=YES

write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

ftpd_banner=Welcome to FTP server, Please login

chroot_local_user=YES

listen=YES

guest_enable=YES

guest_username=vsftpd

user_config_dir=/etc/vsftpd/user_conf

pam_service_name=vsftpd

secure_chroot_dir=/var/run/vsftpd

allow_writeable_chroot=YES

anon_other_write_enable=YES

anon_world_readable_only=NO

ubuntu下安装vsftpd的坑

在安装vsftpd的时候,服务正常启动成功后,无法用xftp新建的用户登录,root也无法登录的情况:

要修改4个配置文件

第一个是/etc/ftpusers ,储存禁止用ftp登录,把你想要添加可登录的用户注释掉,我这里只需要root能登录。

第二个是/etc/allowed_user ,这个文件原先没有,是我手动创建的,如果有此文件就直接修改,添加的是允许用ftp登录,allowed_user文件里如果用户也有,但是ftpusers文件里也有,会以ftpusers优先,则此文件里用户不生效。

第三个是ftp服务器的配置文件,在/etc/vsftpd.conf,这里需要注意,如果listen参数已开,一定不要再开listen_ipv6=YES(重要的事情说三遍,一定不要开!一定不要开!一定不要开!),实在没头绪的可以拷贝我的配置。

vsftpd.conf

listen=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

use_localtime=YES

allow_writeable_chroot=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

chroot_local_user=YES

xferlog_std_format=YES

userlist_deny=NO

userlist_enable=YES

userlist_file=/etc/allowed_users

seccomp_sandbox=NO

local_root=/opt/ftp

utf8_filesystem=YES

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

tcp_wrappers=YES

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

ssl_enable=NO

第四个是 /etc/pam.d/vsftpd ,因为配置中开了pam_service_name=vsftpd,所以我们要找到pam.d的位置,做一些修改,默认在/etc下。

图中画框的地方,是我做的修改,原先是auth required pam_www.gsm-guard.net ,这里需要修改成pam_www.gsm-guard.net

修改完以上配置后,重启vsftpd服务

vsftpd命令:

systemctl restart vsftpd 重启

systemctl stop vsftpd 停止

systemctl start vsftpd 启动

systemctl status vsftpd 查看状态

测试服务:

可视化工具可使用xftp测试,好处是方便,傻瓜式操作,界面及配置如下:

命令行测试,好处是如遇到登录失败,可看具体报错信息:

输入密码后出现230 Login successful 则表示登录成功,如果登录出现其他编码,则有可能是用户配置原因,仔细检查以上四个文件。

PS:具体问题还得具体分析,以上并不代表所有问题都可这样解决,欢迎指正。

ubuntu怎么安装vsftpd

更新源列表

打开"终端窗口",输入"sudo apt-get update"--回车--"输入当前登录用户的管理员密码"--回车,就可以了。如果不运行该命令,直接安装vsftpd,会出现"有 几个软件包无法下载,您可以运行apt-get update------"的错误提示,导致无法安装。

安装vsftpd

打开"终端窗口",输入"sudo apt-get install vsftpd"--回车--安装完成。

判断vsftpd是否安装成功

打开"终端窗口",输入"sudo service vsftpd restart"重启vsftpd服务--回车--vsftpd处于运行状态,说明安装成功。

新建"/home/uftp"目录作为用户主目录

打开"终端窗口",输入"sudo mkdir /home/uftp"--回车--输入"sudo ls /home"--回车--有一个uftp目录,目录新建成功。

新建用户uftp并设置密码

打开"终端窗口",输入"sudo useradd -d /home/uftp -s /bin/bash uftp"--回车--用户新建成功--输入"sudo passwd uftp"设置uftp用户的密码--回车--输入两次密码--回车--密码设置成功。

使用gedit修改配置文件/etc/vsftpd.conf

打开"终端窗口",输入"sudo gedit /etc/vsftpd.conf"--回车--打开了vsftpd.conf文件,向文件中添加"userlist_deny=NO

userlist_enable=YES userlist_file=/etc/allowed_users"和"seccomp_sandbox=NO"--使文件中的"local_enable=YES"--保存。

使用gedit新建/etc/allowed_users文件

打开"终端窗口",输入"sudo gedit /etc/allowed_users"--回车--输入uftp--保存, 文件创建成功。

使用gedit查看/etc/ftpusers文件中的内容

打开"终端窗口",输入"sudo gedit /etc/ftpusers"--回车--打开这个文件后,看一看有没有uftp这个用户名,如果没有,就直接退出。如果有就删除uftp,因为这个文件中记录的是不能访问FTP服务器的用户清单。

9

使用winscp登录FTP服务器

下载安装WinSCP,运行WinSCP--输入IP、用户名、密码--保存--勾选"保存密码"--确定--登录--登录成功。