修改主配置文件/etc/vsftpd/vsftpd.conf:命令:vim /etc/vsftpd/vsftpd.conf
参数=设定值(YES和NO意义相反):
(1)定义服务器功能选项:
dirmessage_enable=YES 切换目录时显示目录下的.message文件内容(欢迎信息)(默认有这一项)
ftpd_banner=welcome to ftp 系统欢迎信息(welcome to ftp表示欢迎字符)(默认禁用这一项)
xferlog_enable=YES 激活上传和下载的日志(默认有这一项)
xferlog_std_format=YES 使用标准的日志格式(默认有这一项)
connect_from_port_20=YES 启用ftp数据端口的数据连接(默认有这一项)
listen=YES 设置ftp服务器处于启动模式(NO为xinetd模式)(默认有这一项)
pam_service_name=vsftpd 验证方式(vsftpd表示认证文件一般在/etc/pam.d下可改)(默认有这一项)
tcp_wrappers=YES 让ftp和tcp_wrappers结合
pasv_min_port=30001 最小传输端口
pasv_max_port=31000 最大传输端口(一般最大和最小和用表示一个范围)】
(2)定义服务器资源选项:【min表示最小一般不用】
max_clinets=100 设置ftp最大连接数,为0表示不【min最小链接数】
max_per_ip=5 设置每个IP最大连接文件的数量,为0表示不【min最小链接数】
idle_session_timeout=600 如果600秒没有命令操作强制断线(默认禁用这一项)
data_connection_timeout=120 如果120秒内没有数据传输强制断线(默认禁用这一项)
connect_time=60 中断1分钟后又重新连接
(3)定义匿名用户功能选项:
anonymous_enable=YES 允许匿名用户登录ftp服务器(默认有着一项)
anon_upload_enable=NO 禁止匿名用户上传文件(默认禁用这一项)
anon_world_readable_only=YES 禁止匿名用户下载文件
naon_mkdir_write_enable=NO 禁止匿名用户创建文件夹(默认为YES但禁用)
anon_other_write_enable=NO 禁止匿名用户改变文件名称和删除文件
anon_root=/ftp 设置匿名用户登陆ftp服务器的默认主目录
anon_max_rate=20000设置匿名用户的最大传输速率单位Byes/sec值为0表示不
【max表示最大传输速率,min表示最小传输速率一般不用】
anon_umask=077 设置匿名用户创建文件的权限【算法:777-077=700(700是真实权限)】
(4)定义本地用户功能选项:
local_ensble=YES 允许本地用户登陆ftp服务器(默认有这一项)
write_enable=YES 开放本地用户写的权限(默认有这一项)
local_root=/ftp 设置本地用户登录ftp服务器的默认主目录
local_max_rate=500设置本地用户的最大传输速率单位为Bytes/sec值为0表示不【max表示最大传输速率,min表示最小传输速率一般不用】
local_umask=022 本地用户创建文件的权限设置【算法:777-022=755(755是真实权限)】(默认有这一项)
(5)将本地用户禁锢在宿主目录中:
chroot_list_enable=YES 开启禁锢本地用户在宿主目录的功能(默认禁用这一项)
chroot_list_file=/etc/vsftpd/chroot_list出现在该文件列表中的用户不能切换目录(默认禁用这一项)
chroot_local_user=YES 锁定所有本地用户
(6)管理用户登陆功能选项:
userlist_enable=YES 开启用户列表(/etc/vsftpd/user_list)功能(默认有这一项)
userlist_deny=YES 禁止用户列表(user_list)中存在的用户登陆【如果等NO则只允许用户列表中存在的用户登陆】
ftp有关命令
ls 列出远程主机上的当前目录
dir 显示远程主机上的目录和文件
pwd 显示用户当前所在的目录
cd 在远程主机上改变工作目录
lcd 在本地主机上改变工作目录
lcd c:\\ 进入C盘的根目录
!dir 显示本地主机上的目录和文件
close 终止当前的ftp会话
hash 动态显示传输的进度。每传输2048字节就显示一个“#”
get 下载的意思,从远程主机上获取指定的文件到本地主机(用法:get回车--/文件名回车--本地路径)
mget 批量下载
put 从本地主机上传送指定的文件到远程主机(用法:put 上传的文件名 上传后变成的文件名)
mput 批量上传
open 连接远程ftp站点(可直接用ftp 服务器IP地址或域名)
quit 断开与远程主机的连接并退出ftp命令的交互界面(或直接输bye)
passive 打开或关闭被动传输模式
? 显示本地帮助信息
! 将提示符切换到当前shell
基本实验(一)
实验环境:⑴创建账户user01、user02。允许user01用户登录,禁止user02用户登录。并为用户创建一个虚拟的根目录
⑵创建匿名账户,但只提供浏览和下载的权限
⑶每类用户的下载速度。本地用户为50KB/s,匿名用户为10KB/s
⑷服务器的最大连接数为100,每个IP地址最多使用2个线程与服务器连接
1、创建用户user01、user02
2、挂载光驱:命令:mount /dev/cdrom /mnt
3、安装vsftpd软件包:命令:rpm -ivh vsftpd-2.0.5-12.el5.i386.rpm
4、开启vsftpd服务:命令:chkconfig - -level 345 vsftpd on
5、将user02用户添加到/etc/vsftpd/ftpusers文件中(因为这个文件的优先级最高可以指定哪个用户可以访问或不能访问,这个文件和/etc/vsftpd/user_list文件的用法相同但/etc/vsftpd/ftpusers优先级较高):
6、在/etc/vsftpd/vsftpd.conf文件中添加下面的内容(其余默认不改):
chroot_local_user=YES 将用户的访问范围固定在自己的宿主目录中
anonymous_enable=YES 开启这条语句允许匿名用户登录ftp服务器(这里我将其注释后在下面添加)
local_max_rate=50000 设置本地用户的最大传输速率
anon_max_rate=10000 设置匿名用户的最大传输速率
max_clients=100 设置ftp服务器的最大连接数
max_per_ip=2 设置每个IP最大一次连接文件的数量
7、重启服务:service vsftpd restart
8、测试:在另一台客户端机器上:
在windows中实验:运行---输入ftp://192.168.1.143:
windows命令模式:运行------cmd------命令:“ftp 服务器IP”如有dns服务器则可用“ftp 服务器域名”
输入用户名 密码:
【补充:可以只在/etc/vsftpd/vsftpd.conf文件的最后面加一句就可以:local_root=/li即定义本地用户的宿主目录即可,要注意文件夹的权限。要用户登录则要在添一句:userlist_deny=NO意思是存在在/etc/vstpd/user_list这个文件下的用户可以登录FTP若等于YES则存在这个文件下的用户不可以登录,这句和上面的userlist_enable=YES这句是对应的这个句是开启用户列表/etc/vstpd/user_list功能】
vsftpd虚拟用户实验(二)
1、挂载光驱,安装vsftpd软件包。
2、创建一个包含用户名和密码的文本文件,文件名可任意,其中奇数行为用户名(这里的用户名是虚拟的在服务器上没有),偶数行为密码。
3、将上步创建的文本文件用db_load命令转换成DB格式的数据库文件:
需要安装db4-utils-4.3.29-9.fc6.i386.rpm
4、修改login.db文件权限
5、在/etc/pam.d目录中建立FTP服务所需的PAM认证文件:
6、创建一个本地用户(目的是与虚拟用户绑定,当虚拟用户登录后映射为这个用户):
-d确定用户的宿主目录,-s确定用户的登录的shell。
7、在/etc/vsftpd/vsftpd.conf文件中添加如下内容(在这里把里面有的下面的语句注释然后在最下面添加):
guest_enable=YES 激活虚拟用户
guest_username=virtual 将虚拟用户映射为virtual用户
pam_service_name=vsftpd.vu 指定认证文件
anonymous_enable=NO 禁止匿名用户登录(在上面先将这个语句注释了)
anon_world_readable_only=NO 允许虚拟用户浏览和下载
anon_upload_enable=YES 允许虚拟用户上传
【补充:可添加local_root=/li可确定虚拟用户登录的主目录,当确定用虚拟用户登录时本地用户和匿名用户均不能登录。当禁止匿名用户登录后匿名用户的权限均可以用于虚拟用户:
anon_upload_enable=NO 禁止虚拟用户上传文件(默认禁用这一项)
anon_world_readable_only=YES 禁止虚拟用户下载文件
naon_mkdir_write_enable=NO 禁止虚拟用户创建文件夹(默认为YES但禁用)
anon_other_write_enable=NO 禁止虚拟用户改变文件名称和删除文件
anon_root=/ftp 设置虚拟用户登陆ftp服务器的默认主目录
anon_max_rate=20000设置虚拟用户的最大传输速率单位Byes/sec值为0表示不】
8、刷新vsftpd服务:
9、验证:windows命令验证:
到本地c盘查看是否有1.txt和3.txt
虚拟用户分别设权限实验(三)
在实验(二)的基础上作修改:
修改1、注释掉以下两句
#anon_world_readable_only=NO 允许下载和浏览文件
#anon_upload_enable=YES 允许匿名用户上传文件
添加这一句:
user_config_dir=/etc/vsftpd/vsftpd_user_con 虚拟用户配置目录
2、建立用户配置文件目录
3、建立虚拟用户的配置文件,文件名与用户名相同
4、为每个虚拟用户分别设置其权限:例:li用户
vim /etc/vsftpd/vsftpd_user_conf/li
anon_world_readable_only=NO 允许用户浏览和下载文件
anon_upload_enable=YES 允许用户可上传文件
anon_mkdir_write_enable=YES 允许用户建立删除目录
anon_other_write_enable=YES 允许用户改变和删除文件
local_root=/home/ftpsite/li 指定用户默认登陆目录
刷新服务器
在/home/ftpsite/下建一个li文件夹修改权限
测试下载本文