vsFTPd服务器实用培训教程(doc 19页)

合集下载

vsFTP服务及其配置

vsFTP服务及其配置
支持基于IP的虚拟FTP服务器; 支持虚拟用户; 支持PAM或xinetd/tcp_wrappers的认证方式; 支持两种运行方式:standalone和xinetd方式; 支持每个虚拟用户的独立配置; 支持带宽限制。
vsFTP的运行模式
一种是独立(standalone)运行模式,另外一种 是xinetd(eXtended Internet Services Daemon, 即:扩展的Internet服务守护进程)模式。两种模 式运行机制是不同的,独立运行模式适合专业的 FTP服务器,且FTP总是一直有人访问,占用资源 比较大,如果FTP服务器总是有人访问和登入建 议采用这种模式。如果FTP服务器访问人数比较 少,建议您用xinetd模式。xinetd模式的运行方式 一直监听端口,当客户端(Client)有FTP连接请 求时,首先会将连接传至xinetd,xinetd再将此要 求传至vsftpd,启动相应的vsftp服务进程(即: vsftpd)。以下的内容主要是介绍独立模式下的 vsftpd启动和配置方式。
可以从Fedora 8安装光盘DVD中的Packages目录 下找出名为vsftpdd-2.0.5-19.fc8.i386.rpm的文件, 然后输入以下指令,系统即将自动完成vsFTP服 务器的安装:
[root@Candy root]#rpm –ivh vsftpd-2.0.519.fc8.i386.rpm
图12-1 “服务状态设置”设置画面
测试vsftpd是否已经启动
可用telnet检验vsftpd是否已经启动: [root@Candy root]# telnet 127.0.0.1 21
Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. 220 (vsFTPd 2.0.5)

vsftpd配置手册(实用)

vsftpd配置手册(实用)

vsftpd配置手册(实用)1、vsftpd配置参数详细整理#接受匿名用户anonymous_enable=YES#匿名用户login时不询问口令no_anon_password=YES#匿名用户主目录anon_root=(none)#接受本地用户local_enable=YES#本地用户主目录local_root=(none)#如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录deny_email_enable=YES#仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录check_shell=YES#若启用此选项,userlist_deny选项才被启动userlist_enable=YES#若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录userlist_deny=NO#如果和chroot_local_user一起开启,那么用户锁定的目录来自/etc/passwd每个用户指定的目录(这个不是很清楚,很哪位熟悉的指点一下)passwd_chroot_enable=NO#定义匿名登入的使用者名称。

默认值为ftp。

ftp_username=FTP#################用户权限控制################可以上传(全局控制).write_enable=YES#本地用户上传文件的umasklocal_umask=022#上传文件的权限配合umask使用#file_open_mode=0666#匿名用户可以上传anon_upload_enable=NO#匿名用户可以建目录anon_mkdir_write_enable=NO匿名用户其它的写权利(更改权限?)anon_other_write_enable=NO如果设为YES,匿名登入者会被允许下载可阅读的档案。

实训八 FTP服务器配置

实训八  FTP服务器配置

实训八 FTP服务器配置1、实验目的要求(1)掌握FTP服务器的配置(2)掌握常用FTP客户端命令2、实验主要内容(1)vsftpd服务器的安装与启动(2)配置允许匿名用户上传(3)配置服务器欢迎信息(4)配置本地用户禁止切换到其他目录(5)配置用户访问速度、超时时间与连接数(6)配置基于本地用户的访问控制3、实验仪器设备网络实验室,Linux操作系统4、实验步骤实训项目一:创建一台FTP服务器(10.196.3.2X),允许匿名用户有浏览、上传和下载和创建目录的权限,上传目录为/var/ftp/pub,测试时在该目录上创建一个子目录,名为wj0913X。

新建一个用户userX,并测试登录、上传一文件名为userX的文件。

一、准备工作(1)配置服务器的网络参数#ifconfig eth0 10.196.6.1 netmask 255.255.255.0 up#ifconfig 查看网络配置参数信息,并截屏(2)vsftpd服务器的安装与启动检查vsftpd软件包是否安装# rpm –qa |grep vsftpd如果没有安装,则先安装该软件包将RedHat LinuxAS5安装盘“加”入到光驱中,然后执行以后命令安装# mount /dev/cdrom /mnt/cdrom# cd /mnt/cdrom/Server# rpm –ivh vsftpd-1.1.3-8.i386.rpm(3)备份vsftpd的配置文件#cp /etc/vsftpd/vsftpd.conf / etc/vsftpd/vsftpd.conf.bak二、修改/etc/vsftpd/vsftpd.conf配置文件,具体的步骤如下:第1步:激活以下两项,即将原文件中以下两行前的“#”去掉。

# 允许匿名用户上传anon_upload_enable=YES# 允许匿名用户创建新目录anon_mkdir_write_enable=YES第2步:在原配置文件中添加下面一行,目的是开放匿名用户的浏览权限。

第五章 VSFTP服务全攻略

第五章 VSFTP服务全攻略

第五章VSFTP服务全攻略内容简介FTP服务的简介FTP的工作原理主动模式和被动模式VSFTP服务的安装VSFTP的三种用户形式案例详解FTP服务的简介FTP是文件传输控制协议。

它可以使文件通过网络从一台主机传送到另一台主机上,而不受计算机类型和操作系统类型的限制。

无论是PC机、服务器、大型机,还是DOS操作系统、Windows 操作系统、Linux操作系统,只要双方都支持FTP协议,就可以方便地传送文件。

FTP的工作原理FTP服务的具体工作过程如下(图1)。

①当FTP客户端发出请求时,系统将动态分配一个端口(如1032)。

②若FTP服务器在端口21侦听到该请求,则在FTP客户端的端口1032和FTP服务器的端口21之间建立起一个FTP会话连接。

③当需要传输数据时,FTP客户端再动态打开一个连接到FTP服务器的端口20的第2个端口(如1033),这样就可在这两个端口之间进行数据的传输。

当数据传输完毕后,这两个端口会自动关闭。

④当FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口将自动释放掉。

主动模式和被动模式根据数据连接的建立方式,FTP服务的数据传输可以分为Port(主动)模式和Passive(被动)模式。

主动模式是FTP服务器向FTP客户端传输数据的默认模式。

当FTP客户端请求以主动模式传输数据时,由客户端向服务端发送准备接收数据的IP地址和端口Y,该端口是大于1024的非特权端口。

服务端主动发起并建立连接到指定的IP地址和端口Y,所以称为”主动”模式。

在被动模式下,客户端通过PASV命令获得服务端IP地址和数据端口,然后向服务端发起连接请求,从而建立数据连接。

因此,服务器端只是被动地监听在指定端口上的请求,所以称之为”被动”模式。

主动模式和被动模式在主动模式中,FTP客户端随机开启一个大于1024的端口X向服务器的21号端口发起控制连接请求,然后开放X+1号端口进行监听;FTP服务器接受请求并建立控制连接会话。

第8章配置vsftp服务器精品PPT课件

第8章配置vsftp服务器精品PPT课件

(2)编译vsftpd 从官方站点下载到/root目录,执行以下命令:
[]# tar zxvf vs []# cd vs [ vs]# make (3)安装编译好的vsftpd 执行“make install”将编译好的二进制文件、手册等复制到
相应目录。在RHL9上,可能需要手动执行以下复制: [ vs]# cp vsftpd /usr/local/sbin/vsftpd [ vs]# cp vs /usr/local/share/man/man5 [ vs]# cp vs /usr/local/share/man/man8
8.1.1 vsftpd的安装和目录结构
1. vs的安装 在AS4 的Free版系统安装时,如果选择了“全部安装”,则
vsftpd已经被装上了。如果没有安装的话,在光盘或网上 找到源代码,然后手工安装。 (1)准备条件 vsftpd默认配置中需要“nobody”用户。在系统中添加此用户, 如果用户已经存在,useradd命令有相应提示。
此外,“make install”没有复制简单的配置文件, 建议执行以下命令:
[ vs]# cp vs ቤተ መጻሕፍቲ ባይዱetc
⑷为本地用户设置PAM 如果允许本地用户登录vsftpd,执行以下操作:
[ vs]# cp RedHat/vs /etc/pam.d/ftp
2. vsftpd的文件结构
vsftpd的文件结构是很简洁的,主要包括: /usr/sbin/vsftpd vsftpd的主程序 /etc/rc.d/init.d/vsftpd 启动脚本 /etc/vs 主配置文件 /etc/pam.d/vsftpd PAM认证文件 /etc/vs 禁止使用vsftpd的用户列表文件 /etc/vs 禁止或允许使用vsftpd的用户列表文件 /var/ftp 匿名用户主目录 /var/ 匿名用户的下载目录 此外,还有一些说明文档和手册文件。 vsftpd的日志文件位于/etc/logrotate.d/vs。

第5章—第二讲 vsftpd的配置

第5章—第二讲 vsftpd的配置

欢迎信息文件是隐藏文件,编写完成用ls -l查看 :
# vi /var/ftp/pub/.message
VSFtpd的虚拟账号配置:
vsftpd 的虚拟用户采用了不与系统账户口令文 件合二为一的方法,也就是说,为了认证这些虚拟 用户vsftpd 使用单独的口令库文件(pam_userdb), 由可插拔认证模块(PAM)进行认证。使用这种方 式更加安全,并且配置更灵活,可以代替本地用户 登录FTP服务器。
切换路径的命令是:lcd +绝对路径;dir命令用 于查看服务器文件及目录信息;!Dir命令用于查 看本地文件及目录信息。
以上所采用的是VSftpd的默认配置,默认情况 下仅允许匿名用户进行登录和下载。
修改VSFtpd的主配置文件:
# vi /etc/vsftpd/vsftpd.conf
(4)创建一个用户 用来做虚拟用户使用,不能给这 个用户设置密码 :
# mkdir /var/ftp/test # mkdir /var/ftp/test/pub # chmod 700 /var/ftp/test # chmod 777 /var/ftp/test/pub # useradd –s /sbin/nologin –d /var/ftp/test vftpuser
修改完成后,重启VSftpd:
# service vsftpd restart
关闭selinux,并修改pub目录权限:
# chmod -R 777 /var/ftp/pub/ # vi /etc/selinux/config
修改完成后,重启Linux操作系统:
VSFtpd的安全配置:
将匿名用户和本地用户禁锢在/var/ftp/pub目录下:

Vsftpd服务详解

Vsftpd服务详解

Vsftpd服务详解Vsftpd的配置⽂件/etc/vsftpd/vsftpd.conf //主配置⽂件/etc/vsftpd/ftpusers //指定哪些⽤户不能访问ftp服务器/etc/vsftpd/user_list当在主配置⽂件vsftpd.conf中设置了userlist_enable=YES,userlist_deny=YES时,user_list中指定的⽤户不能访问ftp服务器。

当在主配置⽂件vsftpd.conf中设置了userlist_enable=YES,userlist_deny=NO时,仅仅user_list中指定的⽤户能访问ftp服务器。

增加新⽤户及设置⽤户的⼯作⽬录root@srsman]# adduser -d /opt/srsman -g ftp -s /sbin/nologin srsman [root@srsman]# passwd srsman可以修改⽤户的⼯作⽬录可以使⽤usermod命令使⽤⽅式: usermod -d 路径登录⽤户名修改⽤户⽬录的权限chown ftp /var/ftp/upload chmod 777 /var/ftp/upload实体账号不能登录时[root@www ~]# getsebool -a | grep ftpallow_ftpd_anon_write --> offallow_ftpd_full_access --> offallow_ftpd_use_cifs --> offallow_ftpd_use_nfs --> offftp_home_dir --> off<==就是这玩意⼉!要设定 on 才⾏!....(底下省略)....[root@www ~]#setsebool -P ftp_home_dir=1实体或匿名账号不能上传时:不过,在实际测试当中,却发现还是没办法上传呢!怎么回事啊?如果你有去看⼀下 /var/log/messages 的话,那就会发现啦!⼜是SELinux 这家伙呢!怎么办?就透过『 sealert -l ... 』在 /var/log/messages ⾥⾯观察到的指令丢进去,⽴刻就知道解决⽅案啦!解决⽅案就是放⾏ SELinux 的匿名 FTP 规则如下:[root@www ~]# setsebool -P allow_ftpd_anon_write=1[root@www ~]# setsebool -P allow_ftpd_full_access=1匿名ftp⽅式⼀般⽤于公共⽹络中,只要保证anonymous_enable=YES,即开启了匿名⽅式,重新加载配置⽂件或重启服务器即可。

【大学课件】配置VsFTP服务器

【大学课件】配置VsFTP服务器

……
如果设为“NO”将仅允许
user_list文件中列出的用户
ppt课件
13
16.7指定能够访问ftp服务的用户
userlist_file、userlist_enable、userlist_deny
这个组合用于指示用户可否访问FTP服务。
其中,userlist_file默认是/etc/er_list, 该文件定义一个用户列表。
local_max_rate=0:限制最大传输速率(字节/ 秒)
ppt课件
11
16.5构建可匿名上传的vsftpd服务器
调整上传目录的属主或权限
确保匿名用户ftp有权写入文件
[root@filesvcrh~o]w# vn根i 据f/te需ptc要//vv确saf定trp/是dft/否pvs/fptpudb.conf
常用的匿名FTP配置项
anonymous_enable=YES:启用匿名访问 anon_umask=022:匿名用户所上传文件的权限掩

anon_root=/var/ftp:匿名用户的FTP根目录 anon_upload_enable=YES:允许上传文件 anon_mkdir_write_enable=YES:允许创建目录 anon_other_write_enable=YES:开放其他写入权 anon_max_rate=0:限制最大传输速率,单位为字
服务名:vsftpd 用户控制列表文件
禁止登录的FTP 用户列表
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
主配置文件
/etc/vsftpd.conf
仅提供一份FTP用户列表, 是否禁止登录取决于主配 置文件中的设置
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

我们用pkill vsftpd 来杀死vsftpd进程,这样就把vsFTPd关闭,用psgrep vsftpd 来查看进程,如果没有进程,证明vsFTPd已经关掉;当然也要用到root权限。

[root@localhost ~]# pkill vsftpd[root@localhost ~]# pgrep vsftpd4.2、在Fedora/Redhat/CentOS中vsFTPd 服务器的启动和关闭:在Fedora/Redhat/CentOS中,也可以用下面的方法来启动vsFTPd;当然也要用到root权限;[root@localhost beinan]# /etc/init.d/vsftpd start为vsftpd 启动vsftpd: [ 确定 ]重新启动vsFTPd用下面的命令;[root@localhost beinan]# /etc/init.d/vsftpd restart关闭vsftpd:[ 确定 ]为vsftpd 启动vsftpd: [ 确定 ]关掉vsFTPd服务器,应该用下面的命令;[root@localhost beinan]# /etc/init.d/vsftpd stop关闭vsftpd:[ 确定 ]5、vsFTPd的服务器和防火墙及SELINUX的关系;(重要)我在论坛上看到有些弟兄说vsFTPd服务器启动正常,但却不能访问或用户不能上传文件,我感觉应该是防火墙或SELINUX的事;可能FTPD服务器被防火墙或SELINUX的安全机制防住了。

所以您必须要让防火墙通过ftp,当然也要让SELINUX通过ftp服务器才行;在Fedora/Redhat/CentOS中,您要设置一下防火墙,可以把防火墙关掉,或者在自定义中让ftp “通过”防火墙;[root@localhost ~]# system-config-securitylevel-tui或者运行一下如下的命令,清除防火墙规则(通用);[root@localhost beinan]# iptables -F关于SELINUX服务器的解说,可能老手或新手对SELINUX都有点麻烦,建议您SELINUX;或者让vsFTPd服务器跳过SELINUX启动;也就是说要用到;这在Fedora/Redhat/CentOS中这样启动vsFTPd 服务器是有效的;当然您可也可以关掉SELINUX,在/etc/selinux/config 配置文件如下;/etc/selinux/config# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - SELinux is fully disabled.SELINUX=Disabled #这样就把SELINUX服务器关掉了,请重新启动系统;# SELINUXTYPE= type of policy in use. Possible values are:# targeted - Only targeted network daemons are protected.# strict - Full SELinux protection.SELINUXTYPE=targeted6、500 OOPS: vsftpd: refusing to run with writable anonymous root如果我们已经把vsFTPd服务器启动好了,但登录测试是会出现类似下面的提示;500 OOPS: vsftpd: refusing to run with writable anonymous root这表示ftp用户的家目录的权限不对,应该改过才对;[root@localhost ~]# more /etc/passwd |grep ftpftp:x:1000:1000:FTP User:/var/ftp:/sbin/nologin我们发现ftp用户的家目录在/var/ftp,就是这个/var/ftp的权限不对所致,这个目录的权限是不能打开所有权限的;是您运行了chmod 777 /var/ftp所致;如果没有ftp用户这个家目录,当然您要自己建一个;如下FTP用户的家目录是不能针对所有用户、用户组、其它用户组完全开放;[root@localhost ~]# ls -ld /var/ftpdrwxrwxrwx 3 root root 4096 2005-03-23 /var/ftp修正这个错误,应该用下面的办法;[root@localhost ~]# chown root:root /var/ftp[root@localhost ~]# chmod 755 /var/ftp有的弟兄可能会说,那匿名用户的可读、可下载、可上传怎么办呢?这也简单,在/var/ftp下再建一个目录,权限是777的就行了,再改一改vsftpd.conf就OK了;没有什么难的;vsFTPd出于安全考虑,是不准让ftp用户的家目录的权限是完全没有限制的,您可以去读一下vsFTPd 的文档就明白的了;否则也不能称为最安全的FTP服务器了,对不对?7、关于vsFTPd配置文件的说明;vsftpd.conf是vsFTPd服务器的配置文件,此文件一般是/etc/vsftpd.conf或/etc/vsftpd/vsftpd.conf ,以系统为准吧。

vsftpd.conf配置文件就是vsFTPd服务器的全局控制文件,此配置文件中,每行应该算做一个规则;前面带有#号的服务器不会解释,这和apache 的配置文件类似;#后所接的内容一般是说明性的,或者是关掉某些功能的选项;vsftpd.conf 这个配置文件并不包括所有您想实现的功能,有些功能的实现,我们要自己动手来解决,我们要学会查vsFTPd的文档和FAQ等,虽然是英文的,但都是比较简单的;我们要习惯看洋文文档,为什么呢?因为Linux本来就是洋人厉害,重量级的软件都是洋人的。

呵,兄弟不要抱怨,谁让我们落后了呢?注意:修改完配置文件后,一定要重启vsFTPd服务器才能生效,切记~~8、关于vsFTPd服务器的一些常用功能的实现;8.1、关于匿名上传下载的实现;关于匿名上传,其实也比较简单,首先我们要修改一下vsftpd.conf ,此文件位于/etc/目录下,可能是/etc/vsftpd.conf,也可能是/etc/vsftpd/vsftpd.conf文件。

以您的系统环境为准;首先:我们要改一下vsftpd.conf,确保有以下几行;anonymous_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_umask=022其次:在ftp用户家目录的下建一个文件夹,并修改其权限为完全开放;ftp用户的家目录在哪?我们前面已经说了,要通过/etc/passwd来查看;也可以通过finger ftp来查看;[root@localhost beinan]# finger ftpLogin: ftp Name: FTP User Directory: /var/ftp Shell: /sbin/nologin这说明ftp用户的家目录在/var/ftp ,我们要在这个目录下建一个目录,然后把他的权限设置为任何用户可读可写可执行就行了;一般的情况下,在发行版中,有一个/var/ftp/pub的目录,如果没有,您也可以自己建一个;把配置文件改好后,只要把/var/ftp下的任何一个目录的权限打开,都可以用来匿名上传和下载;比如您想让匿名用户上传和下载都在/var/ftp/pub,就可以把/var/ftp/pub的权限打开,如果没有这个目录,您要自己建一个;[root@localhost ~]# mkdir /var/ftp/pub[root@localhost ~]# chmod 777 /var/ftp/pub这样上传的时候传到pub目录就OK了,对不对??8.2、关于添加本地用户及打开读写权限示例;FTP用户一般是不能登录系统的,这也是为了安全。

在系统中,没有权限登录系统的用户一般也被称之为虚拟用户;虚拟用户也是要写进/etc/passwd中;这只是一种虚拟用户的方法,但说实在的并不是真正的虚拟用户,只是把他登录SHELL的权限去掉了,所以他没有能力登录系统;如果我们想把beinan这个用户目录定位在/opt/beinan这个目录中,并且不能登录系统;我们应该如下操作[root@localhost ~]# adduser -d /opt/beinan -g ftp -s /sbin/nologin beinan[root@localhost ~]# passwd beinanChanging password for user beinan.New password:Retype new password:passwd: all authentication tokens updated successfully.[root@localhost ~]#其实这还是不够的,还要改一下配置文件vsftpd.conf ,以确保本地虚拟用户能有读写权限;local_enable=YESwrite_enable=YESlocal_umask=0228.4、如何实现虚拟路径?比如:/home/a 映射为 ftp://localhost/a/home/b/c 则为 ftp://localhost/c其实这个不能说是vsFTPd的内容,其实我们早就接触过了,可能我们没有注意,我们可以通过如下的方法来实现。

[root@localhost ~]# mount --bind [原有的目录] [新目录]比如我的ftp的默认目录是/var/ftp,我想把/mnt/LinG/WinSoft文件夹,映射到/var/ftp目录中,我就如下操作我们要先在/var/ftp目录中建一个目录[root@localhost ~]# mkdir /var/ftp/WinSoft然后执行mount命令[root@localhost ~]# mount --bind /mnt/LinG/WinSoft /var/ftp/WinSoft这样就OK了。

相关文档
最新文档