热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

vsftpd出现500OOPS:cap_set_proc的解决办法

1.添加用户[root@nbas5~]#useraddftpuser[root@nbas5~]#passwdftpuserChangingpasswordforuserftpuser.NewUNIXpassword:RetypenewUNIXpassword:passwd:allauthenticationtokens

1.添加用户

[root@nbas5 ~]# useradd ftpuser
[root@nbas5 ~]# passwd ftpuser
Changing password for user ftpuser.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

2.切换用户
[root@nbas5 ~]# su ftpuser

3.登录,正常
[ftpuser@nbas5 root]$ ftp localhost
Connected to nbas5.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:ftpuser): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

4.运行ftp命令,出错

ftp> ls
500 OOPS: cap_set_proc
ftp> dir
200 PORT command successful. Consider using PASV.
500 OOPS: vsf_sysutil_recv_peek
ftp> dir
Not connected.

5.网上搜

可能的原因:

(a)查了查国外网站的一些资料,判断是编译内核时“安全选项”没配置好,因为我前几天新编译了2.6.12的内核,今天把Security options  --->;
  Enable different security models  
   <*>;   Default Linux Capabilities   
选中,重新编译内核,启动后试了试ftp,一切正常,象以前一样了!
之前ftp不能登录,是内核模块没有卸掉的缘故。

(b)modprobe capability

(c)没有关闭防火墙iptables firewall

6.解决

我根据提示,重新编译内核,不知为何重启不能进入新内核,试了半天未果。
没办法打开以前可以用ftp的虚拟机试了一下,也有这种情况,所以放弃重新编译内核的可能性。
重新在网上搜,终于发现一丝线索,原来是配置文件的缘故。

vsftpd.conf里面的
connect_from_port_20=YES
改成NO之后FTP就可以正常


推荐阅读
author-avatar
愿今夜不再孤单
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有