今天来说一下在RHEL5下使用VSftpd来搭建ftp服务器,在搭建之前首先要考虑自己的工作环境,我搭建ftp干什么,公司的具体要求是什么,然后再根据公司的需求来具体实施。下面是搭建的具体实验步骤: 一、首先确定系统中已经安装了VSftpd软件包,可以使用如下命令来查看并安装: liwei@linux# rpm -qa|grep vsftpd (如果有的话执行第二条就行了,若没安装,可以使用如下命令来安装) liwei@linux# mount /dev/cdrom /media //挂载光盘到系统中 liwei@linux# rpm -vih /media/Server/vsftpd-版本号 //安装VSftpd RHEL4(AS)中vsftpd的RPM软件包在第1张光盘中,名为vsftpd-2.0.1-5.i386.rpm。默认情况下没有安装。Vsftpd的主配置文件是/etc/vsftpd.conf。未修改的主配置文件去掉注释后如下(“;”后为解释): anonymous_enable=YES ;是否允许匿名访问 local_enable=YES ;是否允许本地用户登录 write_enable=YES ;是否允许本地用户写入 local_umask=022 ;生向掩码(文件生成掩码),跟权限有关,我记不住了,有兴趣的朋友可以去查查,知道的朋友也请告诉我一下 dirmessage_enable=YES ;切换到FTP中的某目录时,是否显示该目录下的隐含文件“.message” xferlog_enable=YES ;是否启用启用上传和下载日志 connect_from_port_20=YES ;是否启用FTP数据端口的连接请求 xferlog_std_format=YES ;是否让FTP使用ftpd xferlog日志格式 pam_service_name=vsftpd ;设置PAM认证服务的配置文件,位于/etc/pam.d目录下 userlist_enable=YES ;需与userlist_file配合使用,稍后介绍 listen=YES ;是否处于独立启动模式 tcp_wrappers=YES ;为YES时,以tcp_wrappers作为主机访问控制方式 (去掉后,vsftpd的配置文件就这么一点^_^。) 使用如下命令可以检测出是否安装了vsftpd软件,rpm -qa |grep vsftpd ,例如在我的centos 5.6中显示的结果如下: 如果没有安装的话,可以下载安装,也可以使用软件源进行安装。这里不再赘述。 (2)vsftpd软件的使用 使用vsftpd软件,主要包括如下几个命令: 启动ftp:service vsftpd start 停止ftp:service vsftpd stop 重启ftp:service vsftpd restart 将 anonymous_enable=YES 改为 anonymous_enable=NO,意为不允许匿名用户登陆; 将 anon_upload_enable=YES 改为 #anon_upload_enable=YES,意为不允许匿名用户上传文件; 将 anon_mkdir_write_enable=YES 改为 #anon_mkdir_write_enable=YES,意为不允许匿名用户创建目录; 检查 local_enable=YES 是否这样设置; 保存后退出。(要是设置为允许匿名用户登录,则使用anonymous这个用户名,且密码为任意字符,匿名用户的目录默认为是/var/ftp/pub。)
修改selinux中有关ftp的配置: getsebool -a | grep ftp setsebool -P ftp_home_dir on sftp并不是一个单独的程序,实际上应该算是openssh的一部分,当主机启动sshd服务时,sftp服务也同时被打开;关掉sshd服务时,sftp服务也不再能使用。要使用它,直接在终端执行sftp,它的语法几乎和ftp一样,而且具备ssh协议的命令补全功能,通配符也有效,selinux的设置基本上不用更改。 保存退出 编辑/etc/vsftpd.chroot_list文件,将ftp的帐户名添加进去,保存退出
5.修改shell配置 vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去
6.重启vsftp服务并测试登录 使用命令启动vsftp服务:
|