red hat 6.0 安装 vsftpd
检查安装包:
[root@localhost vsftpd]# rpm -qa|grep ftp
ftp-0.17-51.1.el6.x86_64
vsftpd-2.2.2-6.el6.x86_64
vsftpd-2.2.2-6.el6.x8包是ftp服务器用,
ftp-0.17-51.1.el6.x86_64 是ftplinux命令包。
rmp 安装 vsftpd,ftp两个包
安装vsftpd 后,会生成文件/etc/vsftpd/中。
[root@localhost vsftpd]# ll
total 28
-rw-------. 1 root root 126 Sep 18 12:19 ftpusers
-rw-------. 1 root root 362 Sep 18 12:19 user_list
-rw-------. 1 root root 4553 Sep 18 12:43 vsftpd.conf
-rwxr--r--. 1 root root 338 May 26 2010 vsftpd_conf_migrate.sh
ftpuser、和user_list 是ftp用户记录列表。
vsftpd.conf是ftp的配置文件。
ftp 配置要求:
只允许root用户登录以及不允许匿名访问,具体配置如下:
注销掉 ftpuser,user_list文件中的root
anonymous_enable=NO ## 关闭匿名
local_enable=YES ##开启本地用户
write_enable=NO ##关闭本地用户写
local_umask=022 ##文件权限
dirmessage_enable=YES
## 是否激活目录欢迎信息功能 , 当用户用 CMD模式首次访问服务器上某个目录时 ,
FTP 服务器将显示欢迎信息 , 默认情况下 , 欢迎信息是通过 该 目录下的 .message 文件获得的,
此文件保存自定义的欢迎信息,由用户自己建立
connect_from_port_20=YES ##端口
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES ##设置为 NO 时,用户登录FTP 服务器后具有访问自己目录以外的其他文件的权限, 设置为 YES 时 , 用户被锁定在自己的 home 目录中,
vsftpd 将在下面 chroot_list_file 选项值的位置寻找 chroot_list 文件,此文件需用户建立, 再将需锁定在自己home 目录的用户列入其中,每行一个用户
listen=YES ##监听
local_root=/home/Dnew_collect-1/log/log ## ftp 目录
pam_service_name=vsftpd ## 设置 PAM 外挂模块提供的认证服务所使用的配置文件名 ,
即/etc/pam.d/vsftpd 文件,此文件中file=/etc/vsftpd/ftpusers字段,
说明了PAM 模块能抵挡的帐号内容来自文件/etc/vsftpd/ftpusers中
userlist_enable=YES #此项默认为YES ,设置是否阻扯user_list 文件中的用户登录FTP 服务器
tcp_wrappers=YES ## 表明服务器使用 tcp_wrappers 作为主机访问控制方式,tcp_wrappers
可以实现linux 系统中网络服务的基于主机地址的访问控制,在/etc 目录中的hosts.allow 和hosts.deny
两个文件用于设置tcp_wrappers 的访问控制,前者设置允许访问记录,后者设置拒绝访问记录
若遇到:
500 OOPS:cannot change directory:/root
配置selinux
查看状态:
/etc/s/usr/sbin/sestatus -v
可以查看
getsebool -a | grep ftp
[root@localhost log]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
发现 ftp_home_dir 是off
setsebool -P ftp_home_dir on 就可以配置。
再次测试:
[root@localhost log]# ftp localhost
Trying ::1...
ftp: connect to address ::1Connection refused
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (localhost:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
说明配置成功
设置开机启动:
chkconfig vsftpd on