vsFTPd服务器实用培训教程

上传人:ca****in 文档编号:183315472 上传时间:2023-01-30 格式:DOCX 页数:18 大小:27.58KB
收藏 版权申诉 举报 下载
vsFTPd服务器实用培训教程_第1页
第1页 / 共18页
vsFTPd服务器实用培训教程_第2页
第2页 / 共18页
vsFTPd服务器实用培训教程_第3页
第3页 / 共18页
资源描述:

《vsFTPd服务器实用培训教程》由会员分享,可在线阅读,更多相关《vsFTPd服务器实用培训教程(18页珍藏版)》请在装配图网上搜索。

1、vsFTPd 服务器作者:北南南北,正在修订之中来自:摘要:vsFTPD是一款小巧易用FTP服务器程序;本文面向初学者的一点疑问,能让初学者在最短的时间内学会最简单的vsftpd服务器的架设;本文应该算是初学者练手篇;正在更新之中;本文基于 vs.3;欢迎大家共同修订本教程,有些功能的实现,需要大家参与;您可以以留言的形式参与,我会每天把大家的留言整理加入文档;谢谢。目录+正文+1、vsFTPd,目前常用FTP服务器套件;vsFTPd是一款在Linux发行版中最受推崇的FTP服务器程序;特点是小巧轻快,安全易用;能让其自身特点得发发挥和掌握,也然最主要的是会用; 目前在开源操作系统中常用的FT

2、PD套件主要有ProFTPD、PureFTPd和wuftpd等;至于哪个FTP服务器套件更好,哪个是你最熟悉的,哪个就是最好的;2、ftp 用户管理解说;FTP服务器对用户的管理,在默认的情况下是根据 /etc/passwd及/etc/group 来进行的,所以我们一定要了解Linux系统用户和用户组的管理,用户和用户组的管理是一切应用的的基础,有的弟兄不想去了解基础的东西,就想一步成架好各种服务器,事实证明这种学习方法是最不明智的;虽然在您可能在几分钟启动了ftp服务器,但遇到问题时,您不一定能知道是哪里出错;所以基础还是极为重要的;推荐文章: 2.1、匿名ftp 用户和用户组的理解;当我们

3、访问各大FTP上访问时,可能我们不去想我们以什么身份登录的,如果他的FTP允许匿名登录的话;比如我们在浏览器上打入;或我们会发现上面的两行最终都能访问,而且显示的结果也完全一样,最终都跳到 地址;那我们访问这个FTP时,是不是有用户和密码呢?是的,也是需要在的,只是在服务器端允许匿名访问,而匿名访问的用户名和密码都是ftp,只是我们因为匿名访问,没有感觉到他有用户名和密码罢了。第二个地址就是以ftp用户,密码也是ftp来访问 g;如果我们以ftp命令连接 mirrors.kernel.org 时,我们会发现需要输入用户ftp,密码ftp才能访问;在FTP服务器中,匿名用户的用户名和密码都是ft

4、p ;这个用户可以在您的操作系统中的 /etc/passwd 中能找得到;可能有类似下面的一行; User:/var/说明:/etc/passwd 是系统用户的配置文件;/etc/group是系统用户组配置文件,您可以通过及其相关文档中了解一些用户管理的一些基础知识;在ftp用户这行中,我们看到七个字段,每个字段写字段之间用:号分割;ftp 是用户名x 是密码字段,是隐藏的;14 是用户的UID字段,可以自己来设定,不要和其它用户的UID相同,否则会造成系统安全问题;50 用用户组的GID,可以自己设定,不要和其它用户组共用,否则会造成系统全全问题; 是用户说明字段;/var/ftp 是ftp

5、用户的家目录,可以自己来定义;/sbin/nologin 这是用户登录SHELL ,这个也是可以定义的,/sbin/nologin 表示不能登录系统;系统虚拟帐号(也被称为伪用户)一般都是这么设置。比如我们把ftp用户的/sbin/nologin 改为 /bin/bash ,这样ftp用户通过本地或者远程工具ssh或telnet以真实用户身份登录到系统。这样做对系统来说是不安全的;如果您认为一个用户没有太大的必要登录到系统,就可以只给他FTP帐号的权限,也就是说只给他FTP的权限,而不要把他的SHELL设置成 /bin/bash 等;关于ftp用户组的理解:我们查看 /etc/group 的时

6、候,会发现类似这样一条;:/etc/group 是用户组的管理配置文件,上面这行表示用户组ftp,x是密码段,50是GID;我们对照在/etc/passwd中的ftp那行得知ftp用户是属于ftp用户组的,因为ftp用户那行中的GID和ftp用户组的GID是相同的;2.2、匿名ftp 用户和ftp用户组是否可以删除在一般情况下是不能把/etc/passwd和/etc/group 中有把ftp用户和用户组的行删除的,因为FTP服务器是需要他们来对FTP用户实现管理,在默认的情况下。虽然不能删除,但对/etc/passwd及/etc/group中的ftp用户及ftp用户组的一些相关的东西是能修改的

7、;比如我们可以把ftp用户的家目录改掉,也可以把ftp用户的UID改掉 . . 前提是你对用户管理有所了解,系统用户管理是一切应用基础之一,可能初学Linux的弟兄并不了解用户管理的重要性,但慢慢您就会发现这个道理;3、vsFTPd的安装;在最新的各大发行版中的安装盘中都有vsFTPd的软件包,您用相应发行版提供的软件包管理工具就能安装上;当然您可以到各大发行版的FTP镜像中找到vsftpd的软件包;当然也能用软件包的管理工具在线安装;vsftpd的软件包本来不大,花不了多长时间,两分钟就够了吧;因为本文是初学者教程,我严重推荐您用发行版提供的软件来安装,不推荐您自己来编译源码包的安装方式;如

8、果您用的是Fedora 或Redhat 系统,可以用下面的命令在线安装;rootlocalhost # yum install vsftpd如果是debian 类系统,可以用apt 来在线安装;rootlocalhost # apt-get install vsftpd如果您是RPM的系统,也可以找到vs 的包来通过rpm命令来安装;rootlocalhost # rpm -ivh vsftpd*.rpm 您可以下载源码包来安装比如我们下载的是 vs ;rootlocalhost # tar zxvf vsrootlocalhost # cd vsrootlocalhost # make ;m

9、ake installrootlocalhost # cp vs /etc然后修改/etc/vs ,在配置文件的最后一行加入下面一行;listen=yes源码包安装的方法,如果您的系统是RPM包管理的系统,可以删除/etc/xinetd.d/vsftpd 这个文件;然后启动xinetd 服务器;停止 xinetd: 确定 启动 xinetd: 确定 vsFTPd运行有两种模式,在RPM包管理的系重审统,大多是由Fedora/Redhat 开发而来,对于这样的系统有xinted服务器一说;对于非RPM包管理的系统,一般没有xinted这一说。为了保证本文档的统一,我们都不要用xinetd模式,而

10、用initd运行模式来启动和管理服务器,也就是独立运行模式; 至于什么是xinted和inted 模式,您可以参考4、vsFTPd的服务器的启动和关闭;vsFTPd服务器启动和关闭是极容易的;我们可以直接把服务器运行调到后台运行;这是几乎所有服务器管理的运行方式;4.1、vsFTPd服务器启动和关闭的通用方法;运行vsftpd命令,要用到root权限,如果您当前操作用户并非是root,可以用su切换到root权限;关于root权限的切换,您有两种方式,一种是su,另一种是sudo;请参考: vsFTPd服务器的运行;rootlocalhost # /usr/sbin/vsftpd &rootl

11、ocalhost # /usr/local/sbin/vsftpd &vsFTPd服务器是否运行起来;我们可以通过pgrep vsftpd 来查看vsftpd是否运行起来;rootlocalhost # pgrep vsftpd4248上面显示vsFTPd服务器运行起来了,您可以通过ftp命令、lftp工具或gftp或其它的FTP客户端来测试连接;vsFTPd 服务器关闭:我们用pkill vsftpd 来杀死vsftpd进程,这样就把vsFTPd关闭,用psgrep vsftpd 来查看进程,如果没有进程,证明vsFTPd已经关掉;当然也要用到root权限。rootlocalhost # p

12、kill vsftpdrootlocalhost # pgrep vsftpd4.2、在Fedora/Redhat/CentOS中vsFTPd 服务器的启动和关闭:在Fedora/Redhat/CentOS中,也可以用下面的方法来启动vsFTPd;当然也要用到root权限;为 vsftpd 启动 vsftpd: 确定 重新启动vsFTPd用下面的命令;关闭 vsftpd: 确定 为 vsftpd 启动 vsftpd: 确定 关掉vsFTPd服务器,应该用下面的命令;关闭 vsftpd: 确定 5、vsFTPd的服务器和防火墙及SELINUX的关系;(重要)我在论坛上看到有些弟兄说vsFTPd服

13、务器启动正常,但却不能访问或用户不能上传文件,我感觉应该是防火墙或SELINUX的事;可能FTPD服务器被防火墙或SELINUX的安全机制防住了。所以您必须要让防火墙通过ftp,当然也要让SELINUX通过ftp服务器才行;在Fedora/Redhat/CentOS中,您要设置一下防火墙,可以把防火墙关掉,或者在自定义中让ftp “通过”防火墙;rootlocalhost # system-config-securitylevel-tui或者运行一下如下的命令,清除防火墙规则(通用);rootlocalhost beinan# iptables -F关于SELINUX服务器的解说 ,可能老手或

14、新手对SELINUX都有点麻烦,建议您SELINUX;或者让vsFTPd服务器跳过SELINUX启动;也就是说要用到;这在Fedora/Redhat/CentOS中这样启动vsFTPd服务器是有效的;当然您可也可以关掉SELINUX,在/etc/selinux/config 配置文件如下;/etc/selinux/config# This the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforce

15、d.# 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.SELIN

16、UXTYPE=targeted6、500 OOPS: vsftpd: refusing to run with writable anonymous root如果我们已经把vsFTPd服务器启动好了,但登录测试是会出现类似下面的提示;500 OOPS: vsftpd: refusing to run with writable anonymous root这表示ftp用户的家目录的权限不对,应该改过才对;rootlocalhost # more /etc/passwd |grep ftp User:/var/我们发现ftp用户的家目录在/var/ftp,就是这个/var/ftp的权限不对所致,

17、这个目录的权限是不能打开所有权限的;是您运行了chmod 777 /var/ftp所致;如果没有ftp用户这个家目录,当然您要自己建一个;如下FTP用户的家目录是不能针对所有用户、用户组、其它用户组完全开放;rootlocalhost # ls -ld /var/ 3 root root 4096 2005-03-23 /var/ftp修正这个错误,应该用下面的办法;rootlocalhost # chown root:root /var/ftprootlocalhost # chmod 755 /var/ftp有的弟兄可能会说,那匿名用户的可读、可下载、可上传怎么办呢?这也简单,在/var/

18、ftp下再建一个目录,权限是777的就行了,再改一改vsf就OK了;没有什么难的;vsFTPd出于安全考虑,是不准让ftp用户的家目录的权限是完全没有限制的,您可以去读一下vsFTPd的文档就明白的了;否则也不能称为最安全的FTP服务器了,对不对?7、关于vsFTPd配置文件的说明;vsf是vsFTPd服务器的配置文件,此文件一般是/etc/vsf或/etc/vs ,以系统为准吧。vsf配置文件就是vsFTPd服务器的全局控制文件,此配置文件中,每行应该算做一个规则;前面带有#号的服务器不会解释,这和apache 的配置文件类似;#后所接的内容一般是说明性的,或者是关掉某些功能的选项;vs 这

19、个配置文件并不包括所有您想实现的功能,有些功能的实现,我们要自己动手来解决,我们要学会查vsFTPd的文档和FAQ等,虽然是英文的,但都是比较简单的;我们要习惯看洋文文档,为什么呢?因为Linux本来就是洋人厉害,重量级的软件都是洋人的。呵,兄弟不要抱怨,谁让我们落后了呢?注意:修改完配置文件后,一定要重启vsFTPd服务器才能生效,切记8、关于vsFTPd服务器的一些常用功能的实现;8.1、关于匿名上传下载的实现;关于匿名上传,其实也比较简单,首先我们要修改一下vs ,此文件位于 /etc/目录下,可能是/etc/vsf,也可能是/etc/vsf文件。以您的系统环境为准;首先:我们要改一下v

20、sf,确保有以下几行;anonymous_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_umask=022其次:在ftp用户家目录的下建一个文件夹,并修改其权限为完全开放;ftp用户的家目录在哪?我们前面已经说了,要通过/etc/passwd来查看;也可以通过finger ftp来查看;rootlocalhost beinan# finger : ftp Name: Directory: /var/ftp Shell: /sbin/nologin这说明ftp用户的家目录在/var/ftp ,我们要在这个目录下建一

21、个目录,然后把他的权限设置为任何用户可读可写可执行就行了;一般的情况下,在发行版中,有一个/var/的目录,如果没有,您也可以自己建一个;把配置文件改好后,只要把/var/ftp下的任何一个目录的权限打开,都可以用来匿名上传和下载;比如您想让匿名用户上传和下载都在/var/b,就可以把/var/b的权限打开,如果没有这个目录,您要自己建一个;rootlocalhost # mkdir /var/rootlocalhost # chmod 777 /var/这样上传的时候传到pub目录就OK了,对不对?8.2、关于添加本地用户及打开读写权限示例;FTP用户一般是不能登录系统的,这也是为了安全。在

22、系统中,没有权限登录系统的用户一般也被称之为虚拟用户;虚拟用户也是要写进/etc/passwd中;这只是一种虚拟用户的方法,但说实在的并不是真正的虚拟用户,只是把他登录SHELL的权限去掉了,所以他没有能力登录系统;如果我们想把beinan这个用户目录定位在/opt/beinan这个目录中,并且不能登录系统;我们应该如下操作rootlocalhost # adduser -d /opt/beinan -g /sbin/nologin beinanrootlocalhost # passwd beinanChanging password for user beinan.New password

23、:Retype new password:passwd: all authentication tokens updated successfully.rootlocalhost #其实这还是不够的,还要改一下配置文件vs ,以确保本地虚拟用户能有读写权限;local_enable=YESwrite_enable=YESlocal_umask=0228.4、如何实现虚拟路径?比如:/home/a 映射为 /home/b/c 则为 其实这个不能说是vsFTPd的内容,其实我们早就接触过了,可能我们没有注意,我们可以通过如下的方法来实现。rootlocalhost # mount -bind 原有

24、的目录 新目录比如我的ftp的默认目录是/var/ftp,我想把/mnt/LinG/WinSoft文件夹,映射到/var/ftp目录中,我就如下操作我们要先在/var/ftp目录中建一个目录rootlocalhost # mkdir /var/然后执行mount命令rootlocalhost # mount -bind /mnt/LinG/WinSoft /var/这样就OK了。 8.5、打开vsFTP服务器的日志功能;把下面xferlog_file前面的#号对掉,也就是把vs功能打开,这样我们就能在/var/log目录下查看vs。这是vsFTP的日志功能,这对于我们来说是极为重要的。xfer

25、log_8.6、如何定制欢迎信息;如何定制欢迎信息,也就是我们登入有些FTP之后,会出现类似:欢迎您来到LinuxSir FTP,在这里,您会得到最真诚的帮助,如果有什么问题和建议,请来信,多谢。实现这个并不难,我们可以查看vsf文件中,是否有这行。dirmessage_enable=YESmessage_如果没有就加上,如果dirmessage_enable=YES前面有#号,就把#号去掉。其实FTP信息默认的就是.message,所以可以不加 message_file= 来指定。自己指定也行,无所谓的事;然后我们制定一个.message文件,写上您想要写的东西,比如是.message的内容

26、是如下的:-欢迎您来到LinuxSir FTP!-在这里,您会得到最真诚的帮助;-如果有什么问题和建议,请来信,多谢。我们可以用编辑器来写这个.message,我想这个过程就不用说了吧。然后我们把.message这个文件复制到各个用户的家目录中。比如我的FTP的一个用户是beinan,这个用户所在的家目录是/opt/beinan我们就要把.message放在/opt/beinan这个目录下。如果系统用户ftp,他的目录就是/var/ftp这个目录,这个是默认的,当匿名用户登入时就访问的是/var/ftp这个目录。我们要让匿名用户能看到欢迎信息。就要把.message放在/var/ftp目录中。

27、其它的用户,也无非就是类似的操作。8.7、硬盘空间有限,如何把帐号ftp默认的家目录更改到别处?我的硬盘空间有限,如何把帐号ftp默认的路径/var/ftp更改到别处?或者是,我的linux所有的目录都放在/根分区,因为空间紧张,我能否把ftp这个用户的默认路径放到别的分区?对于ftp这个用户的管理,我们应该查看/etc/passwd ,然后修改ftp用户那行; User:/var/比如我们想把ftp用户的家目录改为/opt/ftp,则要把类似上一行改为 User:/opt/然后我们要建立ftp用户的新的家目录;rootlocalhost # mkdir /opt/ftprootlocalho

28、st # chmod 755 /opt/ftprootlocalhost # chown root:root /opt/ftp如果默认的ftp磁盘空间紧张,我们其实也可以用虚拟路径映射的方法来解决;也就是mount -bind的办法;看情况吧,哪个适合就是最好的方法;8.8、如何让vsFTP服务器限制链接数,以及每个IP最大的链接数?应该改vsFTPd服务器的配制文件vs,加入下面的两行:max_clients=数字max_per_ip=数字举例:我想让我的vsFTP最大支持链接数为100个,每个IP,最多能支持5个链接,所以我应该在vsf中加上如下的两行:max_clients=100max

29、_per_ip=5改好了配制文件,不要忘记启动vsftp服务器。8.9、如何限制传输速度?anon_max_rate=数字 注:这是匿名的速度local_max_rate=数字 注:这是vsFTP服务器上本地用户的速度 注:这个数字的单位是byte,所以我们要计算一下。比如我想让匿名用户和vsFTP上的用户都以80KB下载,所以这个数字应该是1024x80=81920所以我们要在vsf中加入下面的两行anon_max_rate=81920local_max_rate=819208.10、如何有选择的把用户限制在家目录中呢?我们要自己建一个文件,在/etc目录中或/etc/vsftpd目录中(假

30、如您的vsftpd配置文件都是放在这个目录的话);#touch /etc/vsist以beinan和nanbei这两个用户限制在他们所在的家目录中,而其它的FTP用户不做此限制。 在vst这个文件中,把beinan和nanbei添上去就行,注意,每个用户占一行。beinannanbei然后改/etc/vsf文件,找如下的两行chroot_list_enable=YESchroot_list_如果没有这样的两行,就可以自己添加上去也是一样的。设置好后,重新vsFTPD服务器。补充一之补充:如何把系统内所有的FTP用户都限制在家目录中呢?经juliaugong兄的提示,我查找了vsFTPd的洋文说

31、明,证明这个选项是一刀切的解决所有的用户都能限制在家目录中我们可以通过更改vsf文件,加入如下的一行chroot_local_user=YES改完配制文件,不要忘记重启vsFTPd服务器;8.11、如何让绑定IP到vsFTPd?如何让绑定IP到vsFTPd?也就是说,如何让用户只能通过某个IP来访问FTP。其实这个功能很有意思。如果绑定的是内网的IP,外部是没有办法访问的。如果绑定的是对外服务的IP,内网也只能通过对外服务的IP来访问FTP在vsf中加一行,以我的局域网为例,请看第一帖中的操作环境,这样外网就不能访问我的FTP了,内网也可能通过192.168.0.2来访问FTP; 由 北南南北

32、 在 2006/01/07 - 18:21 发表 要发表评论,请先或 学学习习! 由 chinafenghao 在 2008/01/16 - 23:30 发表 要发表评论,请先或 首先我要肯定在所有的网络上的vsftpd配置中,这篇是我所看到过的写的最好的。特别感谢一下北南南北分享我在学习安装过程中遇到如下两个问题。1.首先:我们要改一下vsf,确保有以下几行;anonymous_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_umask=022 (其中这一行,我怎么也找不到。我是否应该自己加上去?我只看到loca

33、l_umask=022)2.rootlocalhost # adduser -d /opt/beinan -g /sbin/nologin beinan执行后,系统告诉我adduser命令错误 由 seoyou 在 2008/01/15 - 18:58 发表 要发表评论,请先或 按照本文的说明,在FC6中,用“/usr/sbin/vsftpd & ”启动vsftpd,在/etc/vsf中的配置都有效;而用“/etc/init.d/vsftpd start”、“/etc/init.d/vsftpd restart”启动vsftpd,似乎/etc/vsf中的配置就无效了,只能用ftp匿名访问,是什

34、么原因呢?请指教。再有,配置成系统引导后自动启动vsftpd时,也是/etc/vsf中的配置似乎无效,只能用ftp匿名访问。 由 Anonymous (未验证) 在 2007/06/02 - 23:16 发表 要发表评论,请先或 我想用虚拟用户来管理我的ftp,可是我不知道如何实现对虚拟用户的配额限制。 由 LinuxSir 在 2007/03/16 - 18:42 发表 要发表评论,请先或 linux下vsftpd下的中文文件,在windows下却显示乱码,请问北南大哥有什么方法解决? 由 noodleses 在 2006/09/09 - 10:05 发表 要发表评论,请先或 我在2.4.2

35、1-4.ELsmp下用vs.3的源码安装:make; make install将vsf拷贝到/etc目录下设置local_enable=YESwrite_enable=YESlocal_unmask=22listen=yes随后/usr/local/sbin/vsftpd &启动vsftpd在本机上输入用户ftp和密码ftp,可以登陆但是输入本地用户,无法登陆,提示是530 login incorrect。为什么? 由 LinuxSir 在 2006/05/24 - 15:05 发表 要发表评论,请先或 由 LinuxSir 在 2006/11/30 - 14:09 发表 要发表评论,请先或

36、问题解决了吗?我也碰到了这样的问题,郁闷中. 由 LinuxSir 在 2006/11/06 - 19:08 发表 要发表评论,请先或 我在另一台windowxp机器上用命令user:p 可以正常访问,但是用ie或者firefox就不能访问(.5或).这是怎么回事?而且我用smart工具也不能访问.用了一个叫做32bit什么的软件却好使.我现在就想能够通过ie能够访问ftp服务器,该怎么办? 由 LinuxSir 在 2006/02/03 - 16:02 发表 要发表评论,请先或 你是不是用防火墙关闭了其他端口,而只开了一个21端口?如果是这样那就用软件连接的时候管理PASV模式就可以了 由

37、Anonymous (未验证) 在 2006/02/06 - 20:12 发表 要发表评论,请先或 一般是一个用户在home下有个相对应的文件(如test用户).当你在ftp中登陆后,他会默认到该文件夹(文件夹test).我怎么才能把他默认为打开test下的public_html文件夹呢?就是一登陆,public_html就是根目录?谢谢 由 LinuxSir 在 2006/01/13 - 12:20 发表 要发表评论,请先或 把/etc/passwd里面的用户的HOME目录改了就可以了 由 LinuxSir 在 2006/01/24 - 19:12 发表 要发表评论,请先或 用anon_ro

38、ot试试 由 LinuxSir 在 2006/01/17 - 13:32 发表 要发表评论,请先或 我的方法是用tcp wrappers先设置一个全局配置文件然后设置VSF为指定的个性配置文件 由 LinuxSir 在 2006/01/10 - 21:20 发表 要发表评论,请先或 vsftpd本事不支持东方语言所以如果你的文件名字有中文符号则在日志中及ps axf看到的都是?问号在一个台湾的BBS上看到可以修改vsftpd的代码使之支持UTF-8很有实际意义的 由 LinuxSir 在 2006/01/10 - 21:10 发表 要发表评论,请先或 针对FC4中自带的vs在源码中,发现写日志

39、处理是这样的:logging.c: Line146-165static voidvsf_log_do_log_to_ fd, struct mystr* p_str) if (!tunable_no_log_lock) int retval = vsf_sysutil_lock_); if (vsf_sysutil_retval_is_error(retval) return; str_replace_unprintable(p_str, ?); str_append_char(p_str, n); /* Ignore write failure; maybe the disk filled

40、etc. */ (void) str_write_loop(p_str, fd); if (!tunable_no_log_lock) vsf_sysutil_unlock_); str.c: Line652-663voidstr_replace_unprintable(struct mystr* p_str, char new_char) unsigned int i; for (i=0; i len; i+) if (!vsf_sysutil_isprint(p_str-p_bufi) p_str-p_bufi = new_char; sysutil.c: Line881-901intvs

41、f_sysutil_isprint(int the_char) /* From Solar - we know better than some libcs! Dont let any potential * control chars through */ unsigned char uc = (unsigned char) the_char; if (uc = 128 & uc = 159) return 0; return isprint(the_char);这样的结果就是在日志中的中文会变成?。他的解释是Dont let any potential control chars thro

42、ugh.不过,vsftpd在通过syslog写系统日志时,不会这样处理。(具体信息请man vs)所以,写入系统日志时的中文是存在的。如果在不设置任何的情况下,可以以匿名的方式访问该ftp。注.如果访问不了的时候请大家要把linux的防火墙也要关闭:iptables -F 清除防火墙在安装好ftp会产生几个文件:/etc/vs.conf 主配置文件/etc/vs 指定哪些用户不能访问FTP服务器/etc/vs 文件中指定的用户是否可以访问ftp服务器由vsf文件中的userlist_deny的取值来决定。这几个文件就是整个ftp控制和禁止用户的权限配置。下面我们就来设置一个vsftpd的核心文

43、件# cd /etc/vs 这就是vsftpd的核心配置文件anonymous_enable=YES/no 是否允许匿名用户登录anonymous_enable=yes/no 是否允许匿名上传文件local_enable= YES/no 是否允许本地用户登录write_enable= YES/no 是否允许本地用户上传guest_enable=yes/no 是否允许虚拟用户登录;local_mask=022 设置本地用户的文件生成掩码为022,默认值为077xferlog_enable= YES 激活上传和下载日志connect_from_port_20=YES 启用FTP数据端口连接user

44、list_enable= YES 允许vst文件中的用户访问服务器userlist_deny= YES 拒绝vst文件中的用户访问服务器listen= YES/no 是否使用独占启动方式(这一项比较重要)tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式最主要的就是这些设置了。(这是一般都是默认的不是太懂的不要动)大家可以设置下面的设置: to 设置连接服务器后的欢迎信息idle_session_timeout=60 限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)data_connection_timeout=12

45、0 设置客户机在进行数据传输时,设置空闲的数据中断时间accept_timeout=60 设置在多长时间后自动建立连接connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;max_clients=200 指明服务器总的客户并发连接数为200max_per_ip=3 指明每个客户机的最大连接数为3local_max_rate=50000(50kbytes/sec)anon_max_rate=30000 设置本地用户和匿名用户的最大传输速率限制pasv_min_port=端口pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连

46、接指明端口;listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;listen_port=端口号 设置FTP工作的端口号,默认的为21chroot_local_user=YES 设置所有的本地用户可以chrootchroot_local_user=NO 设置指定用户能够chrootchroot_list_enable=YESchroot_list_(只有/etc/vst中的指定的用户才能执行 )local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;chroot_local_u

47、ser=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_ 中指定;userlist_enable=YES/NO 是否加载用户列表文件;userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;userlist_ 列表文件这些就是高级设置了。大家可以适当的更改。vs2.168.5.128:DENY 设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式)时间限制:修改 disable = noaccess_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsf中listen=NO相对应)例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftpftp的配置基本上只有这些了。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!