视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Linux下的vsftpd FTP服务器
2025-10-03 14:46:10 责编:小OO
文档
Linux的 vsftpd服务器配置

修改主配置文件/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文件夹修改权限

测试下载本文

显示全文
专题