为了传输文件,一般用ftp。配置了好几次ftp,还是碰上问题,所以这里记录下。
linux下,一般ftp是用的vsftp,启动是:service vsftpd start/stop/restart;
今天,服务器启动ftp之后,客户端链接的时候,碰上错误如下:
cannot locate user entry:nobody
网上查了,试了两种方案。
先用了这一招:在vsftpd.conf中,添加“ftp_username=nobody”(我参考的是http://www.unix.com/ubuntu/71798-500-oops-vsftpd-cannot-locate-user-specified-ftp_username-ftp.html)。然后报错:500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':nobody。估计是没有nobody这个用户。然后,试了第二招。
第二招是创建一个nobody用户(我参考的是http://blog.csdn.net/xxx8686/article/details/6045778)。可能已经存在nobody用户组,可以加个-g: useradd -g nobody nobody;然后,再次连接的时候,发现这个错误没有了。so happy。
但是好景不长,在传输文件的时候,报错:553 Could not create file.
根据相关的网上的资料、说明,大概知道:nobody这个是匿名用户,所以登陆的时候可能是没有权限写文件的。所以,后来想了下,将conf中的ftp_username改为了一个登陆账号,然后问题就彻底解决了(现在文件正在欢快的传输呢)。
NICE!
附注:后来,我又在另一台同样情况的机器上试了下,发现要做两个事情:useradd+ftp_username。