vsftpd:very secure ftp.
http://blog.21ic.com/user1/2662/archives/2006/24719.html 源自该链接
其实一般ftp服务,都是支持三种用户访问方式的:
第一种是匿名访问模式。
第二种是本地用户模式。
第三种是虚拟用户模式。
1。rpm安装
VSFTPD的安装很简单。在RHL9中,在图形界面下依次执行“Main Menu”-“System Settings”-“Add/Remove Applications”-选择FTP服务器-“更新”,或者在字符界面中执行以下命令,就可以完成安装。
rpm -ivh vsftpd-1.1.3-8.i386.rpm
2. vsftpd-1.2.0.tar.gz的安装
⑴准备条件
VSFTPD默认配置中需要“nobody”用户。在系统中添加此用户,如果用户已经存在,useradd命令有相应提示。
[root@hpe45 root]# useradd nobody
useradd: user nobody exists
VSFTPD默认配置中需要“/usr/share/empty”目录。在系统中此目录,如果目录已经存在,mkdir命令有相应提示。
[root@hpe45 root]# mkdir /usr/share/empty/
mkdir: cannot create directory '/usr/share/empty': File exists
VSFTPD提供匿名FTP服务时,需要“ftp”用户和一个有效的匿名目录。
[root@hpe45 root]# mkdir /var/ftp/
[root@hpe45 root]# useradd -d /var/ftp ftp
接下来的操作对于ftp用户是否已经存在都是有用的。
[root@hpe45 root]# chown root.root /var/ftp
[root@hpe45 root]# chmod og-w /var/ftp
⑵编译VSFTPD
从官方站点下载到/root目录,执行以下命令:
[root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz
[root@hpe45 root]# cd vsftpd-1.2.0
[root@hpe45 vsftpd-1.2.0]# make
⑶安装编译好的VSFTPD
执行“make install”将编译好的二进制文件、手册等复制到相应目录。在RHL9上,可能需要手动执行以下复制:
[root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8
此外,“make install”没有复制简单的配置文件,建议执行以下命令:
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc
⑷为本地用户设置PAM
如果允许本地用户登录VSFTPD,执行以下操作:
[root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
3.VSFTPD的文件结构
VSFTPD的文件结构是很简洁的,主要包括:
/usr/sbin/vsftpd ---- VSFTPD的主程序
/etc/rc.d/init.d/vsftpd ---- 启动脚本
/etc/vsftpd/vsftpd.conf ---- 主配置文件
/etc/pam.d/vsftpd ---- PAM认证文件
/etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用户列表文件
/etc/vsftpd.user_list ---- 禁止或允许使用VSFTPD的用户列表文件
/var/ftp ---- 匿名用户主目录
/var/ftp/pub ---- 匿名用户的下载目录
此外,还有一些说明文档和手册文件。
此外VSFTPD的日志文件位于/etc/logrotate.d/vsftpd.log。
4./etc/vsftpd/vsftpd.conf文件
1. 与主机相关的设置值
(1)connect_from_port_20=YES(NO)
FTP数据端口号
(2)listen_port=21
vsftp使用命令通道的端口号,可以修改。
(3)dirmessage_enable=YES(NO)
当用户进入某个目录时,会显示该目录需要注意的内容,显示信息的文件,默认是.message,可以使用message_file=.message来让vsftpd找到该文件,从而显示信息。
(4)listen=YES(NO)
YES表示vsftpd是以stand alone的方式启动。
(5)pasv_enable=YES(NO)
被动连接模式,一定要设为YES
(6)use_localtime=YES(NO)
是否使用本地时间,默认使用GMT时间
(7)write_enable=YES(NO)
YES表示允许用户上传数据
(8)connect_timeout=60
单位是秒,在数据连接的主动连接模式下,发出的连接信号在60秒内得不到客户端的响应就不在等待并强制断线。
(9)accept_timeout=60
当用户以被动模式来进行数据传输时,如果主机启用passvie port并等待client超过60秒而无回应,那么就要强制断线。
(10)data_connection_timeout=300
如果已经建立连接,超过300秒没有完成数据的传送那么客户端会被强制剔除。
(11)idle_session_timeout=300
用户在300秒内没有命令操作,则强制离线
(12)max_Clients=0
如果服务以stand alone方式启动,那么这个选项可以设置同时可以有多少客户连上服务。
2.与本地用户相关的设置
(1)guest_enable=YES
为YES时,任何非匿名用户均被假设为guest,通过guest_username来设置guest身份。
(2)guest_username
指定访问者的身份。
(3)local_enable=YES
为YES时,在/etc/passwd内的帐号才能以实体用户的方式登录
(4)local_max_rate=0
实体用户的传输速度,单位b/s,0为不限制
(5)chroot_local_user=YSE
将用户限制在自己的默认目录之内,默认为NO,有下面两项,该项可以不启用。
(6)chroot_list_enable=YES
将某些实体用户限制在默认目录内。
(7)chroot_list_file=/etc/chroot_list
如果chroot_list_enable=YES,那么该文件中的用户就会被限制在自己默认目录内,一行一个帐号即可。
(8)userlist_enable=YES 、userlist_deny=YES
以及userlist_file=/etc/vsftpd/user_list来控制黑名单与VIP用户。
(9)user_config_dir=/etc/vsftpd_user_conf
在该目录下创建与用户帐号名相同的文件,在文件中可以添加该用户的单独的vsftpd.conf配置!
3.匿名用户登录的设置
(1)anonymous_enable=YES
允许匿名用户登录。下面所有设置都要在该设置为YES时才起作用。
(2)anon_word_readable_only=YES
仅允许匿名用户具有下载可读文件的权限。默认是yes
(3)anon_other_write_enable=YES
是否允许匿名用户具有写权限,默认是NO。设为YES,则开放给匿名用户写入的目录也需要修改权限。
(4)anon_mkdir_write_enable=YES
是否有建立目录的权限,默认NO。只有anon_other_write_enable=YES,该项的YES才有用。
(5)anon_upload_enable=YES
上传功能,当anon_other_write_enable=YES时,该项YES才起作用。默认NO。
(6)anon_umask=077
限制匿名用户的权限。如果是077则匿名用户上传的文件会是-rw-------
4.安全方面的设置
(1)tcp_wrappers=YES
类似于防火墙的功能,比防火墙弱。
(2)xferlog_enable=YES
记录用户上传下载的文件,记录的文件与下面一个选项有关。
(3)xferlog_file=/var/log/xferlog
日志文件。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26823568/viewspace-722403/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26823568/viewspace-722403/