- 论坛徽章:
- 0
|
最近在CentOS62.平台下使用vsftpd,与大家分享,有劳大家多多指导.
vsftpd是Linux平台下非常著名的一个ftp软件。vsftpd是very secure ftp daemon的缩写。
一、安装vsftpd
先检查CentOS 6.2系统中是否安装了vsftpd:
[root@senya ~]# rpm -qa |grep ftp
[root@senya ~]#
把CentOS 6.2的第一张安装光盘插入光驱,并挂载到/mnt/cdrom。
[root@senya /]# mount -t iso9660 /dev/sr0 /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@senya /]#
使用yum安装vsftpd(有关CentOS6.2平台下YUM的使用方法请见别一篇文章:《CentOS6.2平台下YUM的配置与使用》):
[root@senya /]# yum -y --disablerepo=\* --enablerepo=c6-media install vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.i686 0:2.2.2-6.el6_0.1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================
Package Arch Version Repository Size
=======================================================================
Installing:
vsftpd i686 2.2.2-6.el6_0.1 c6-media 155 k
Transaction Summary
=======================================================================
Install 1 Package(s)
Total download size: 155 k
Installed size: 343 k
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : vsftpd-2.2.2-6.el6_0.1.i686 1/1
Installed:
vsftpd.i686 0:2.2.2-6.el6_0.1
Complete!
二、启动vsftpd服务
[root@senya /]# service vsftpd status
vsftpd is stopped
[root@senya /]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@senya /]#
nmap命令扫描到 tcp 21端口已经打开。
[root@senya /]# nmap localhost
Starting Nmap 5.21 ( http://nmap.org ) at 2012-05-13 21:53 CST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000022s latency).
Hostname localhost resolves to 2 IPs. Only scanned 127.0.0.1
Not shown: 997 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
[root@senya /]#
vsftpd的匿名用户的默认主目录是/var/ftp,vsftpd 的配置文件位于/etc/vsftpd目录下:
[root@senya vsftpd]# pwd
/etc/vsftpd
[root@senya vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
查看配置文件/etc/vsftpd/vsftpd.conf的默认配置:
[root@senya vsftpd]# cat vsftpd.conf | grep -v "#"
anonymous_enable=YES #这个配置允许匿名用户访问ftp server
local_enable=YES #这个参数项决定是否允许本地用户登录ftp server,YES表示允许。
write_enable=YES #是否允许本地用户更改文件系统(写入、修改等操作)。
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES #拒绝user_list(这个文件可以通过userlist_file项自定义)文件内的本地用户登录ftp。
tcp_wrappers=YES
[root@senya vsftpd]#
vsftpd默认配置允许本地用户与匿名用户登录到ftp server,本地用户的ftp主目录是自己在系统中的主目录,但是
由于SELinux的限制,本地用户不能通过ftp登录到自己的home目录,因此可以修改SELinux的值,以便允许本地用户登录
到home目录。
图一 ftp client以匿名身份登录到ftp server
用getsebool -a | grep ftp命令查看与ftp相关的SELinux配置:
[root@senya vsftpd]# 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
httpd_enable_ftp_server --> off
tftp_anon_write --> off
[root@senya vsftpd]#
[root@senya vsftpd]# setsebool -P ftp_home_dir on
经过上面的设置后本地用户就可以通过ftp登录到自己的home目录了。
图二 本地用户登录到自己的home目录 |
|