您的位置:首页 > 运维架构 > Linux

Centos5.5上vsftpd安装使用

2011-05-28 11:15 609 查看
参考地址:

文件:vsftpd-2.3.2.tar.gz 
首先安装vsftpd:

cd /opt/software 

tar -zxvf vsftpd-2.3.2.tar.gz 

cd vsftpd-2.3.2 

修改配置文件 

vi builddefs.h 

/******************************************** 

#ifndef VSF_BUILDDEFS_H 

#define VSF_BUILDDEFS_H 

#define VSF_BUILD_TCPWRAPPERS 

#undef VSF_BUILD_PAM 

#define VSF_BUILD_SSL 

#endif /* VSF_BUILDDEFS_H */ 

***************************************************/ 

编译 

make 

检查是否完成编译 

ls -l vsftpd 

-rwxr-xr-x  1 root root 84712 Jun  6 18:56 vsftpd  //可执行程序已被编译成功 

创建必要的帐号,目录: 

useradd nobody 

mkdir /usr/share/empty 

mkdir /var/ftp 

useradd -d /var/ftp ftp 

chown root:root /var/ftp 

chmod og-w /var/ftp 
如果已存在,则不用管继续。

安装vsftp配置文件,可执行程序,man等: 

install -m 755 vsftpd /usr/local/sbin/vsftpd 

install -m 644 vsftpd.8 /usr/share/man/man8 

install -m 644 vsftpd.conf.5 /usr/share/man/man5 

install -m 644 vsftpd.conf /etc/vsftpd.conf 

安装完成 
修改vsftpd配置文件
vi /etc/vsftpd.conf

以下项修改为: 
Write_enable = yes
local_enable = yes
如果还允许匿名登录则anonymous_enable=yes ;一般匿名用户是不准上传和修改的权限的。
添加

4000
listen_port=21

tcp_wrappers=YES //支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny) 

listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式),注意事项请参看匿名用户的配置。 
启动:/usr/local/sbin/vsftpd /etc/vsftpd.conf &

然后添加vsftpd用户! 
参考文档:hi.baidu.com/lssbing/blog/item/bae673506cc330571138c233.html
#mkdir /opt/srsman         //首先创建好目录

# adduser -d /opt/srsman -g ftp -s /sbin/nologin srsman   //-s 

/sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/opt/srsman 

# passwd srsman 

Changing password for user beinan.//接下来会出现让你设置新的密码 

New password: 

Retype new password: 
passwd: all authentication tokens updated successfully

限制用户目录,不得改变目录到上级 

修改/etc/vsftpd/vsftpd.conf 
将这两行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注释去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

新增一个文件: /etc/vsftpd/chroot_list 
内容写需要限制的用户名:
srsman

重新启动vsftpd 
============================================

可能出现的错误。 

一、500 OOPS: could not bind listening IPv4 socket、 

chkconfig vsftpd --level 3 off 

二、500 OOPS: vsftpd: refusing to run with writable anonymous root 

这表示ftp用户的家目录的权限不对,应该改过才对; 
[root@localhost ~]# more /etc/passwd |grep ftp
ftp:x:1000:1000:FTP User:/var/ftp:/sbin/nologin

修正这个错误,应该用下面的办法; 
[root@localhost ~]# chown root:root /var/ftp
[root@localhost ~]# chmod 755 /var/ftp

三、Socket链接超时 

[右] 227 Entering Passive Mode (192,168,1,218,62,93). 

[右] 正在打开数据连接 IP: 192.168.1.218 端口: 15965 

[右] 数据 Socket 错误: 无法连接主机 

[右] 列表错误 

[右] PASV 模式失败, 尝试 PORT  模式。 

答:经常登录各种FTP服务器,会遇到socket错误,几种目前常用FTP软件的解决办法如下: 

★Cute FTP 3.5英文版:FTP—>Settings—>Options—>Firewall,将“PASV mode”前复选框中的打勾去掉。 

★Cute FTP3.5中文版:FTP—>设置—>选项—>防火墙,“PASV方式(A)”前复选框中的打勾去掉。 

★Cute FTP4.0中文版:右击你所建立的ftp站点—>选择属性(properties)—>去掉"use PASV mod" 选择项 

★Cute FTP Pro2.0中文版:编辑—>全局设置—>连接—>连接类型,“PASV/PORT”下拉选项菜单选择PORT。 

★Leap FTP2.7.2:Sites—>Site Manager—>Advanced,将“Use PASV mode”前复选框中的打勾去掉。 

★flashfxp : 选项->参数->代理->去掉“使用被动模式” 

★flashget : 选项->参数->代理服务器->编辑->将“Use PASV mode”前复选框中的打勾去掉。 

一般出现此类问题的原因是客户端网络出口与服务器端防火墙的端口设置冲突造成的。 所以对于其他软件只要不选择PASV为连接类型,一般都可以解决这类问题了 
四、用户成功登陆却不能正常上传文件

这是目标文件夹权限不够的问题。修改权限为777则好了。 
chmod 777 /xxx/xxx/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息