在一个ftp上,突然登不上 报错,使用浏览器登录,报此用户不是私密连接,然后使用服务器客户端登录尝试,错误信息如下:

[root@test ~]# ftp *.*.*.*
Connected to *.*.*.* (*.*.*.*).
(vsFTPd 3.0.)
Name (*.*.*.*:root): ftpuser
Please specify the password.
Password:
Login incorrect. #530错误
Login failed.
ftp> exit

去服务端排错

检查配置文件

[root@localhost data]# cat /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/xferlog
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

查看/etc/pam.d/vsftpd

[root@localhost ~]# vim  /etc/pam.d/vsftpd

#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth

[root@localhost ~]# vim /etc/vsftpd/ftpusers

# Users that are not allowed to login via ftp
root
bin
#daemon #注释掉
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

[root@localhost ~]# systemctl restart  vsftpd

尝试

[root@test ~]# ftp *.*.*.*
Connected to *.*.*.* (*.*.*.*).
(vsFTPd 3.0.)
Name (*.*.*.*:root): ftpuser
Please specify the password.
Password:
OOPS: vsftpd: refusing to run with writable root inside chroot() #报500错误
Login failed.
Service not available, remote server has closed connection
ftp> exit

新的错误原因是因为我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误

这个问题是由于在2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:

allow_writeable_chroot=YES   #增加对自己家目录的写权限

然后查看自己服务器的目录权限

[root@localhost ~]# ll /data/

drwsrwsrwt.  root root  Apr   : ftp      #权限问题

修改权限:

[root@localhost ~]# chmod u-s  /data/ftp
[root@localhost ~]# chmod g-s /data/ftp
[root@localhost ~]# chmod o-t /data/ftp
[root@localhost ~]# chmod u-w /data/ftp
[root@localhost ~]# chmod g-w /data/ftp
[root@localhost ~]# chmod o-w /data/ftp
[root@localhost ~]# ll /data/ftp
dr-xr-xr-x. root root Apr : ftp

重新登录

[root@test ~]# ftp *.*.*.*
Connected to *.*.*.* (*.*.*.*).
(vsFTPd 3.0.)
Name (*.*.*.*:root): ftpuser
Please specify the password.
Password:
Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.ftp> ls
Entering Passive Mode (*,*,*,*,,).
Here comes the directory listing.
drwxrwxrwx Apr : nginx1
drwxrwxrwx Feb : nginx2
drwxrwxrwx Feb : nginx3
drwxrwxrwx Apr : nginx4
drwxrwxrwx Apr : nginx5
Directory send OK.
ftp> exit
Goodbye.

成功登陆,问题解决!!!

记一次ftp错误的更多相关文章

  1. 记一次ftp服务器搭建走过的坑

    记一次ftp服务器搭建走过的坑 1.安装 ①下载 wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz #要FQ ②解压 ta ...

  2. ftp错误&&详解方案

    一.FTP错误代码列表150 文件状态良好,打开数据连接 200 命令成功 202 命令未实现 211 系统状态或系统帮助响应 212 目录状态 213 文件状态 214 帮助信息,信息仅对人类用户有 ...

  3. 记一次ftp服务器错误 centOS 6.4 vsftpd 500 illegal port command

    这个错误是因为是主动模式的,应该改为被动模式 以下是操作过程: iptables中加 -A INPUT -p tcp -m state --state NEW -m tcp --dport 10221 ...

  4. 记一次sparkOnyarn错误:java.lang.UnsatisfiedLinkError

    错误大概这样: Caused by: java.util.concurrent.ExecutionException: Boxed Error Caused by: java.lang.Unsatis ...

  5. FTP错误 [ftp: connect: No route to host] 解决方法

    问题: 昨天在局域网内的两台机器上用ftp命令传文件.因为是新机器所以没安装ftp. 分别在两台机器上安装了ftp的服务端和客户端,并启动了ftp服务器进程. 当用启动ftp连接另一台机器时发生了如下 ...

  6. 记一个mvn奇怪错误: Archive for required library: 'D:/mvn/repos/junit/junit/3.8.1/junit-3.8.1.jar' in project 'xxx' cannot be read or is not a valid ZIP file

    我的maven 项目有一个红色感叹号, 而且Problems 存在 errors : Description Resource Path Location Type Archive for requi ...

  7. 记一次FTP上传文件总是超时的解决过程

    好久没写博,还是重拾记录一下吧. 背景:买了一个阿里云的云虚拟机用来搭建网站(起初不了解云虚拟主机和云服务器的区别,以为都是有SSH功能的,后来发现不是这样样子啊,云虚拟机就是FTP上传网页+MySQ ...

  8. 记一个Oracle存储过程错误

    下面一个存储过程是创建一个job,在5秒后更新一个表: create or replace PROCEDURE P_TEST AS jobno number; BEGIN dbms_job.submi ...

  9. FTP 错误1

    530-Valid hostname is expected. 所以,当通过主机名连接到FTP之后,输入用户名的时候,采用以下格式:主机名|用户名例如:ftp1.sdsxw.com|tom

随机推荐

  1. Jmeter非命令行执行脚本

    这次我们可以清晰地看到每个线程的执行情况.        这里是我们使用非 GUI 模式运行测试脚本时可以使用的一些命令: -h 帮助 -> 打印出有用的信息并退出 -n 非 GUI 模式 -& ...

  2. Android学习笔记之 SimpleAdapter 中添加按钮响应事件,getView的重写

    Andriod 里面的ListView是一个显示列表数据的控件,常用适配器SimpleAdapter进行绑定,绑定代码如下: ListView lstView = (ListView) this.fi ...

  3. python小数据池 is和 == 再谈编码

    1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 2. is和==的区别 is 比较的是内存地址 == ...

  4. util.date

    package com.sxt.utils.date1; import java.util.Date; /* * util.date */ public class TestDate { public ...

  5. Streamy 解决办法

  6. macOS上搭建RabbitMQ+MQTT服务器

    1. 下载RabbitMQhttps://www.rabbitmq.com/install-standalone-mac.html或通过brew直接安装RabbitMQ brew install ra ...

  7. oracle连接多个扫描

    如果你对一个列和一组有限的值进行比较, 优化器可能执行多次扫描并对结果进行合并连接. 举例: SELECT * FROM LODGING WHERE MANAGER IN (‘BILL GATES’, ...

  8. jquery tab点击切换的问题

    问题: 页面结构见下 <div id="wrap"> <li> <a href="#" class="active&qu ...

  9. java List接口中常用类

    Vector:线程安全,但速度慢,已被ArrayList替代. ArrayList:线程不安全,查询速度快. LinkedList:链表结构,增删速度快.取出List集合中元素的方式: get(int ...

  10. 2019-9-2-Visual-Studio-自定义项目模板

    title author date CreateTime categories Visual Studio 自定义项目模板 lindexi 2019-09-02 12:57:38 +0800 2018 ...