[root@POPTOP ~]# yum install vsftpd
[root@ftp sbin]# service vsftpd status
vsftpd is stopped
[root@ftp sbin]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@ftp sbin]#
1.设置每次开机时自动运行及手工启动它:
chkconfig vsftpd on
service vsftpd start
netstat -tl 可以查看ftp端口是否在侦听了!
相关配置文件:/etc/vsftpd/vsftpd.conf里面;
实验1、针对于匿名帐户的设置
要实现的目的:
|
Vsftpd.conf文件配置完成了
linux系统上操作
# mkdir /var/ftp/incoming // 建立incoming文件夹
# chmod go+w /var/ftp/incoming // 给予incoming文件夹权限 g(group)组o(other)其它人全有写权限
# service xinetd restart //重启ftp服务
实验2 虚拟用户
虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器,只介绍用DB库存储用户名及密码的方式,检查安装db4相关rpm,完成正式开始
[root@POPTOP ~]# yum install db4*
1:创建虚拟用户文本文件,添加虚拟用户和密码
[root@POPTOP vsftpd]# touch /etc/vsftpd/vuser.txt
[root@POPTOP vsftpd]# vi /etc/vsftpd/vuser.txt //单行是用户名,双行是密码
mike
123456
john
123456
2 生成动态数据库(口令库(认证)文件)
[root@POPTOP vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
[root@POPTOP vsftpd]#
3:配置PAM文件,目的是对客户端进行验证,虚拟用户所需的PAM配置文件
编辑/etc/pam.d/vsftpd文件,批注所有内容,后添加:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
4 修改虚拟数据库文件vuser.db的权限为 600,认证文件只对用户可读可写
[root@POPTOP vsftpd]# ls -l
total 60
-rw------- 1 root root 125 Mar 31 07:49 ftpusers
-rw------- 1 root root 361 Mar 31 07:49 user_list
-rw------- 1 root root 4625 Jul 27 15:31 vsftpd.conf
-rwxr--r-- 1 root root 338 Mar 31 07:49 vsftpd_conf_migrate.sh
-rw-r--r-- 1 root root 12288 Jul 27 16:30 vuser.db
-rw-r--r-- 1 root root 24 Jul 27 16:08 vuser.txt
[root@POPTOP vsftpd]# chmod 600 vuser.db
[root@POPTOP vsftpd]# ls -l
total 60
-rw------- 1 root root 125 Mar 31 07:49 ftpusers
-rw------- 1 root root 361 Mar 31 07:49 user_list
-rw------- 1 root root 4625 Jul 27 15:31 vsftpd.conf
-rwxr--r-- 1 root root 338 Mar 31 07:49 vsftpd_conf_migrate.sh
-rw------- 1 root root 12288 Jul 27 16:30 vuser.db
-rw-r--r-- 1 root root 24 Jul 27 16:08 vuser.txt
[root@POPTOP vsftpd]#
5:增加一个实体用户vuser ,使用它来对应所有虚拟用户,虚拟用户使用实体用户来访问ftp服务器。
[root@POPTOP var]# useradd -d /var/ftp/vuser vuser //增加一个实体用户
[root@POPTOP var]# mkdir /var/ftp/vuser
mkdir: cannot create directory `/var/ftp/vuser': File exists //系统里已经有了
[root@POPTOP var]# cd ftp
[root@POPTOP ftp]# ls
incoming pub vuser
[root@POPTOP ftp]# ls -l
total 24
drwxrwxrwx 2 root root 4096 Jul 27 15:34 incoming
drwxr-xr-x 2 root root 4096 Mar 31 07:49 pub
drwx------ 4 vuser vuser 4096 Jul 27 16:44 vuser
[root@POPTOP ftp]# chown vuser.vuser /var/ftp/vuser //未发生变化,也就是说这一步不用做
[root@POPTOP ftp]# ls -l
total 24
drwxrwxrwx 2 root root 4096 Jul 27 15:34 incoming
drwxr-xr-x 2 root root 4096 Mar 31 07:49 pub
drwx------ 4 vuser vuser 4096 Jul 27 16:44 vuser
[root@POPTOP ftp]#
6:修改vsftpd.conf配置文件,使虚拟用户可以访问vsftpd服务器
这几行都是增加的:
guest_enable=YES ####激活虚拟账户
guest_username=vuser ####把虚拟账户绑定为实体账户vuser
pam_service_name=vsftpd ####使用PAM验证
7 控制虚拟用户的访问
1):设置虚拟用户的主配置文件,编辑vsftpd.conf文件,激活:
user_config_dir=/etc/vsftpd/vsftpd_user_conf //添加
2): 建立vsftpd_user_conf
mkdir /etc/vsftpd/vsftpd_user_conf
3):设置虚拟用户配置文件,与虚拟账户同名
touch /etc/vsftpd/vsftpd_user_conf/mike
4):编辑虚拟账户mike的配置文件mike,是虚拟账户mike获得相应的权限
anon_world_readable_only=NO ###浏览FTP目录和下载 /var/ftp/vuser
anon_upload_enable=YES ###上传
anon_mkdir_write_enable=YES ###建立和删除目录
anon_other_write_enable=YES ####改名和删除文件
没有的配置项默认按照vsftpd.conf的配置内容
注意事项:
local_enable=YES //PAM方式此处必须为YES,如果不是将出现如下错误: 500 OOPS: vsftpd: both local and anonymous access disabled!
|
经过检查目录是在vuser下:
[root@POPTOP vuser]# pwd /var/ftp/vuser [root@POPTOP vuser]# ls aaa Big Big World.mp3 ddd [root@POPTOP vuser]# |
5,FTP服务器的资源限制
max_clients=100 允许最大的客户端连接数
max_per_ip=5 同一IP最大客户端的连接数
local_max_rate=5000000 设置本地用户最大传输数率
anon_max_rate=2000000 匿名用户最大的传输数率
速度限制测试:
[root@POPTOP vuser]# vi /etc/vsftpd/vsftpd_user_conf/mike anon_world_readable_only=no anon_upload_enable=yes anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_max_rate=1000000 //大概速度控制在900k左右
修改mike的配置文件 anon_max_rate=100000 //速度是100kB/sec anon_max_rate=500000 //速度500KB/sec |
修改用户名 密码测试
用户名没有修改,只是修改密码 1.[root@POPTOP vsftpd]# vi /etc/vsftpd/vuser.txt //单行是用户名,双行是密码 2 重新生成动态数据库(口令库(认证)文件) [root@POPTOP vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db 3 重新启动vsftpd [root@POPTOP vsftpd]#service vsftpd restart Ok了。
2008-07-05 16:04
|