vsftpd-ftp 正常登录后,出现500 OOPS: cap_set_proc

本文记录了解决vsftpd在登录后出现500 OOPS错误的过程。错误可能由内核安全选项配置、模块加载或配置文件设置不当引起。通过检查内核编译选项、尝试modprobe capability、关闭iptables防火墙,以及修改vsftpd.conf中的connect_from_port_20选项为NO,最终成功解决了FTP连接问题。

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就可以正常

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值