想通过ftp上传文件(192.168.6.147 -> 10.10.10.101),到101机器上一看,没有安装ftp服务器,于是开始了安装的过程。安装过程总体比较顺利,但也遇到了一些小问题。底下是操作的大体流程,个人认为具有一定的参考价值。
1、查看101机器的操作系统信息
# linux操作系统的内核版本、发行版本
uname -a
cat /etc/issue
cat /etc/redhat-release
cat /proc/version
# 查看寻址长度(计算机位数:32/64)
getconf WORD_BIT
# 硬件信息
cat /proc/cpuinfo
dmesg | more
结论:操作系统为Red Hat 3.4.3-9.EL4,Linux version 2.6.9-5.ELsmp
2、下载vsftpd安装包
根据操作系统版本信息,选择下载vsftpd-2.0.1-5.i386.rpm包。由于147机器不能ping通101机器,所以通过10.10.10.90机器进行中转,90也是linux的机器。
# 文件上传到90机器
ftp 10.10.10.90
user root ******
cd ...
lcd ...
put ...
bye
# 远程拷贝到101机器
scp /root/vsftpd-2.0.1-5.i386.rpm root@10.10.10.101:/root
3、安装vsftpd
# rpm进行安装
rpm -i vsftpd-2.0.1-5.i386.rpm
其它rpm相关命令(http://www.linuxsir.org/main/?q=node/9)
rpm -qa | grep ftp # 查看名称包含'ftp'字符的已安装包(all)
rpm -qi vsftpd # 查看vsftpd的安装信息(info)
rpm -ql vsftpd # 查看vsftpd的安装文件信息(list)
4、启动vsftpd
# 重启xinetd或vsftpd
service xinetd restart
#service vsftpd restart
4.1 在客户端90机器上进行测试,open命令报错:“500 OOPS: could not bind listening IPv4 socket”
goolge后查出原因原来是,vsftp通过xinetd启动的同时又配置了standlone模式。将/etc/vsftpd/vsftpd.conf中的listen参数值改为NO,即listen=NO,再重启问题解决。
4.2 当调用user root命令后,无法连接。
经查,原来是出于安全考虑,vsftpd默认不允许root用户登录。
注释/etc/vsftpd.ftpusers中的root行(即不屏蔽root用户登录)。有可能需要看/etc/vsftpd/vsftpd.user_list文件(考察userlist_deny的取值为YES或NO决定是屏蔽还是允许该user_list中的用户登录)
解决4.1,4.2中问题后,重启vsftpd服务器,客户端连接正常,可以通过root用户上传下载。最后,可以通过若干个命令来查看ftp运行情况:
netstat -anp | grep :21 # 检查21(ftp)是否被监听
chkconfig --list # 服务启动状况