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