Linux搭建FTP服务器(虚拟用户配置文件)
- 格式:doc
- 大小:25.00 KB
- 文档页数:4
新建虚拟用户登录ftp第一步,在服务器上安装软件包如图(1)(1)第二步,建立虚拟用户口令库文件,创建文件logins.txt,在其内写入用户名和密码,奇数行为用户名,偶数行为密码如图(2)(在/root下创建)(2)第三步,生成vsftpd的认证文件在命令行输入db_load –T –t hash –f login.txt /etc/vsftpd/login.db如图(3)(3)第四步,建立虚拟用户所需要的pam配置文件进入/etc/pam.d目录,创建ts118的文件(不是目录)在里面写入内容如图(4)(4)第五步,建立虚拟用户所要访问的目录并设置权限创建用户,并且指定其宿主目录如图(5)(5)进入/home/ftpsite目录,创建目录,目录名称要与logins.txt 的用户名称相同如图(6)(6)要更改其所属主和所数组如图(7)(7)第六步,修改主配置文件打开/etc/vsftpd/vsftpd.conf文件,在里面添加命令如图(8)(8)第七步,启动服务输入service vsftpd start(或者是restart)如图(10)(10)第八步,使用客户机做测试客户机登陆到ftp服务器,使用虚拟用户如图(11)(11)想设置虚拟用户的权限,需要在主配置文件中添加命令如图(12)(12)创建用户配置文件目录如图(13)为虚拟用户创建单独的配置文件如图(14)运行用户进行上传,在配置文件中写入local_root=/home/ftpsite/bob,并开启允许上传的权限如图(15)(15)启动服务如图(16)(16)使用bob登陆,就可以上传文件补充要在logins.txt中添加用户,需要在转换一下。
linux创建ftp用户命令在linux系统下我们需要学会添加ftp用户并设置相应的权限。
下面由店铺为大家整理了linux添加ftp用户的命令的相关知识,希望大家喜欢!linux添加ftp用户命令方法1、环境:ftp为vsftp。
被限制用户名为test。
被限制路径为/home/test2、建用户:在root用户下:useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/testpasswd test //为test设置密码补充:linux设置ftp用户权限方法3、更改用户相应的权限设置:usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftpusermod -s /sbin/bash test //用户test恢复正常usermod -d /test test //更改用户test的主目录为/test4、限制用户只能访问/home/test,不能访问其他路径修改/etc/vsftpd/vsftpd.conf如下:chroot_list_enable=YES //限制访问自身目录# (default follows)chroot_list_file=/etc/vsftpd/vsftpd.chroot_list编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行改完配置文件,不要忘记重启vsFTPd服务器[root@linuxsir001 root]# /etc/init.d/vsftpd restart5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面。
Linux下FTP服务器的安装和配置(详细)Linux下FTP服务器的安装和配置在Internet上FTP(File Transfer Protocol,⽂件传输协议)扮演着⼗分重要的⾓⾊。
我们可以通过FTP与远程机器传输交换⽂件数据,下载或上传最新的软件。
基本的FTP服务器根据服务的对象可以分为两种,⼀种是Unix(当然也包括Linux)系统基本的FTP服务器,使⽤者是服务器上合法的⽤户;⽽另⼀种是匿名FTP服务器(Anonmous FTP Service),任何⼈只要使⽤anonmous 或ftp帐号并提供电⼦邮件地址作为⼝令就可以使⽤FTP服务。
对于系统中合法的⽤户,其登录⽬录为他们的home⽬录;如果是匿名⽤户登录的话,登录后会到/home/ftp这个⽬录中,该除⾮我们在该⽬录中存放下载⽂件,否则匿名FTP使⽤者将不能做任何事情。
在本章,我们将详细地介绍FTP 服务器的安装、配置以及服务器的维护。
安装FTP服务器在Linux的发⾏套件中都有FTP服务器的软件包wu-ftpd(Washington University FTP server),这是⽬前最流⾏的⼀种免费FTP服务器软件,⽬前绝⼤多数的FTP站点都是由wu-ftpd来架设的,⽽wu-ftp如此流⾏的原因是因为它强⼤的功能,例如:·可控制不同⽹域的机器对 FTP服务器的存取权限和访问时段。
·使⽤者在下载⽂件时,可⾃动对⽂件进⾏压缩或解压缩⼯作。
·可以记录⽂件上传或下载的过程。
·可以限制最⾼访问⼈数,以维持系统的最佳运⾏效率。
·可显⽰相关的信息,以便⽤户了解当前的接收状态。
·可暂时关闭FTP服务器,以便系统维护。
在安装系统时如果选择了wu-ftpd软件包,就会⾃动安装。
但如果我们想要使⽤最新的FTP软件包的话,可以到全世界各⼤FTP站点下载。
⽬前最新的版本是wu-ftpd-2.5.0,得到了wu-ftpd-2.5.0.tar.gz后,请按照我们下⾯的步骤进⾏安装。
一、创建匿名FTP服务器的方法1。
增加新用户ftp,设置其主目录对任何用户都无写权限;2。
新建立一个组anonymou,它只能被匿名ftp使用;3.在ftp用户的主目录下创建一个bin目录,它属于root用户,而且对任何用户都不能写;4。
在ftp用户主目录下创建一个etc目录,它属于root用户,而且对任何用户都不能写;5.在ftp用户主目录下创建一个public目录,它属于ftp用户,而且对任何用户都能写。
如果由于安全等原因,您不允许其他用户在您的计算机上具有存储能力,那么您可以将其权限设置成555;6.将ls程序放到已创建的bin目录下,并将其修改成111方式,即对任何用户只能执行;7。
在已创建的etc目录下,创建passwd和group两个文件,并将它们设置成444方式(只读)。
二、创建匿名FTP---—在Unix下用root登录,然后按下列步骤逐步建立FTP服务器.1.建立新组anonymou----#mkgroupanonymou2.建立新用户ftp,且ftp用户属于anonymou组—--—#mkuserpgrp=‘nonymou'home=‘ /u/anonymou’ftp3。
在用户目录下建立相关的目录#cd/u/anonymou#mkdiretc#mkdirbin#mkdirpublic4。
将ls拷贝到/usr/anonymou/bin下,并设置其读写属性#cp/bin/ls./bin#chmod111。
/bin/ls5.创建/u/anonymou/etc/group文件————在该文件中增加一行:anonymou:!:201:6.创建/u/anonymou/etc/passwd文件--—-在该文件中增加一行:ftp:*:213:201::/u/anonymou:/bin/ksh7。
修改/u/anonymou/etc/group文件和/u/anonymou/etc/passwd文件的属性#chmod444/u/anonymou/etc/passwd—--—#chmod444/u/anonymou/etc/group8。
在Linux上搭建FTP服务器的步骤FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的标准网络协议。
在Linux操作系统中,我们可以轻松地搭建自己的FTP 服务器,以便与他人共享文件或进行文件的远程传输。
本文将介绍在Linux上搭建FTP服务器的详细步骤,以帮助您快速搭建自己的FTP服务器。
步骤1:准备工作在开始搭建FTP服务器之前,我们需要先确保系统已经安装了vsftpd软件包。
您可以通过运行以下命令来检查是否已安装:```sudo apt-get install vsftpd```如果vsftpd未安装,您可以使用相应的包管理器来安装它。
步骤2:配置FTP服务器一旦确保vsftpd已经安装,我们可以进行FTP服务器的配置。
首先,我们需要编辑vsftpd的配置文件。
运行以下命令来打开配置文件:```sudo nano /etc/vsftpd.conf```在该文件中,您可以找到各种不同的配置选项。
按需求进行修改,例如:- 匿名用户访问:如果您希望允许匿名用户访问FTP服务器,确保以下行的开头没有注释符号“#”:```anonymous_enable=YES```- 本地用户访问:如果您希望允许本地用户访问FTP服务器,确保以下行的开头没有注释符号“#”:```local_enable=YES```- 限制用户的主目录:如果您希望限制用户仅能访问其主目录,确保以下行的开头没有注释符号“#”:```chroot_local_user=YES```- 传输模式:您可以选择启用被动模式或主动模式的传输。
在配置文件中找到以下行,并根据您的需求进行调整:```#pasv_enable=YES#pasv_min_port=xxxxx#pasv_max_port=xxxxx```完成配置后,按下"Ctrl + X",然后按下"Y"来保存对配置文件的更改。
FTP,file transfer protocol,这是档案传输的通讯协议,也是一般最常用来传送档案的方式。
读者在使用RedHat9 的时候,可能会感受到ftp server 有一些改变:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都没放入﹔第二,就是vsftp 从XINET D 中独立出来,并将设定档从/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。
社区论坛为什么做这样的改变?可以想见的是vsftp 已有独立运作的能力,不需要XINET D 来做更进一步的管控,并且类似sendmail、httpd、ssh、samba 等,将设定文件的放入/etc 下独立的目录。
FTP 分为两类,一种为PORT FTP,也就是一般的FTP﹔另一类是PASVFTP,分述如下:PORT FTP这是一般形式的FTP,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。
第二,由FTP server 端会建立数据传输频道,默认值为20,也就是跟port 20 建立联机,并透过port20作数据的传输。
PASV FTP跟PORT FTP 类似,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。
第二,会由client 端做出数据传输的请求,包括数据传输port 的数字。
这两者的差异为何?PORT FTP 当中的数据传输port是由FTP server 指定,而PASV FTP 的数据传输port 是由FTP client 决定。
通常我们使用PASV FTP,是在有防火墙的环境之下,透过client 与server 的沟通,决定数据传输的port。
一:安装一般系统在安装的时候都已经自带了ftp功能,所以对于linux9.0以上的版本系统自动安装了vsftpd,对于linux9.0一下的低版本系统自带的是wu-ftp,如果系统没有安装的话,可以下载软件包安装。
FTP服务器配置(实验环境:两台计算机,一台安装RHEL Server 5,另一台安装Windows XP,用集线器连接)一般而言,用户必须经过身份验证才能登录Vsftpd服务器,然后才能访问和传输FTP 服务器上文件。
Vsftpd服务器用户分为两类:本地用户和匿名用户。
本地用户是在Vsftpd服务器上拥有账号用户。
本地用户输入自己用户名和口令后可登录Vsftpd服务器,并且直接进入该用户主目录。
匿名用户是在Vsftpd服务器上没有账号用户。
如果Vsftpd服务器提供匿名访问功能,那么就可以输入匿名用户名(ftp或anonymous),然后输入用户E-mail地址作为口令进行登录。
甚至不输入口令也可以登录。
当匿名用户登录系统后,进入匿名FTP服务目录/var/ftp。
步骤一、检查所需RPM包是否已经安装在系统中,方法是:rpm –qa |grep vsftpd 检查是否已安装vsftpd软件包步骤二、安装所需RPM包若在步骤一中发现所需RPM包没有安装,则需使用下面命令来安装软件包,否则请转入第三步。
mount /media/cdrom/---------挂载光驱rpm -ivh /media/cdrom/RedHat/RPMS/vsftpd-*---------其中*号可以按TAB键自动补齐步骤三、配置匿名vsftpd服务器vsftpd服务器最重要是主配置文件vsftpd.conf。
vsftpd守护进程运行时首先从vsftpd.conf文件获取配置文件信息,然后配合ftpusers和userlist文件决定可访问用户。
下表列出了与vsftpd服务器相关目录和文件。
下表列出了vsftpd.conf文件中比较常用部分配置参数。
vsftpd服务器默认设置是允许本地用户和匿名用户登录,本地用户默认进入其个人主目录(/home/账户名),并可以切换到其他有权访问目录,还可以上传和下载文件。
匿名用户只能下载/var/ftp/目录下文件。
Linux创建ftp并设置权限以及忘记ftp帐号(密码)修改Linux创建ftp并设置权限以及忘记ftp帐号(密码)修改忘记ftp密码修改⽅法:1.登录服务器cd /etc/vsftpdcat ftpusers找到对应的ftp⽤户名(如果⽤户名也忘记了那么 cd /etc 然后cat passwd 查看⽤户和对应的管理⽬录)passwd ftp⽤户名(回车)service vsftpd restartLinux添加FTP⽤户并设置权限在linux中添加ftp⽤户,并设置相应的权限,操作步骤如下:1、环境:ftp为vsftp。
被限制⽤户名为test。
被限制路径为/home/test2、建⽤户,命令⾏状态下,在root⽤户下:运⾏命令:“useradd -d /home/test test” //增加⽤户test,并制定test⽤户的主⽬录为/home/test运⾏命令:“passwd test” //为test设置密码,运⾏后输⼊两次相同密码3、更改⽤户相应的权限设置:运⾏命令:“usermod -s /sbin/nologin test” //限定⽤户test不能telnet,只能ftp运⾏命令:“usermod -s /sbin/bash test” //⽤户test恢复正常运⾏命令:“usermod -d /test test” //更改⽤户test的主⽬录为/test4、限制⽤户只能访问/home/test,不能访问其他路径修改/etc/vsftpd/vsftpd.conf如下:chroot_list_enable=YES(default follows)chroot_list_file=/etc/vsftpd/vsftpd.chroot_list编辑上⾯的内容第⼀⾏:chroot_list_enable=YES //限制访问⾃⾝⽬录第三⾏:编辑vsftpd.chroot_list。
根据第三⾏说指定的⽬录,找到chroot_list⽂件。
用Linux构建高效FTP服务器
由测试可以看出,已经可以下载文件,但不能上传文件(也不能在服务器上创建目录和文件)。
实际上这是一个专门提供下载服务的匿名FTP服务器。
从上面的步骤可以看出,并不需要做什么配置就可以完成一个简易FTP服务器的架设。
这是因为Red Hat已经配置好一个缺省的FTP服务器。
不过在实际应用中,大部分情况下这个简易的服务器并不能满足需求。
进一步配置FTP服务器
下面将创建一个能够满足常用需求的FTP服务器。
实际应用中,FTP服务器一般要同时提供上传和下载功能。
此外,出于安全考虑,还需要有用户身份验证、用户权限设置及空间管理等。
下面就来搭建这样一个FTP服务器。
1.创建欢迎语。
如果希望使用者在进入目录时,能够看到欢迎语或对本目录的介绍,可以通过以下方法来实现。
5.针对不同的使用者限制不同的速度。
假设用户ylg所能使用的最高速度为500Kb/s,用户user1所能使用的最高速度为250Kb/s,可以通过以下方法设置。
在/etc/vsftpd/vsftpd.conf 文件尾部新增以下一行:
user_config_dir=/etc/vsftpd/userconf
修改/etc/vsftpd/vsftpd.conf文件,在文本最后添加以下两行:
重启FTP服务器,这时再使用账号gou来登录,就已经没有上传的权限了。
FTP服务器配置方法FTP服务器配置方法1、确认服务器环境1.1 操作系统:确定服务器操作系统,例如Windows、Linux等。
1.2 FTP服务器软件:选择合适的FTP服务器软件,常用的有、vsftpd等。
2、安装FTP服务器软件2.1 软件:从官方网站或可信的第三方资源站点FTP服务器软件的安装包。
2.2 安装软件:按照安装包的指引,进行软件的安装。
3、配置服务器3.1 设置监听端口:指定FTP服务器监听的端口号。
3.2 配置安全策略:设置用户访问权限和限制,包括用户身份验证、访问路径控制等。
3.3 配置虚拟主机(可选):如果需要在一个服务器上托管多个域名,可以设置虚拟主机。
3.4 配置被动模式(可选):FTP服务器默认使用主动模式,如果需要使用被动模式,需进行相关配置。
4、配置防火墙4.1 开放FTP服务器端口:根据所选服务器软件的默认端口号,对防火墙进行相应配置,允许FTP服务的数据传输。
4.2 设置防火墙策略:根据实际情况,为FTP服务器配置防火墙策略,确保安全性。
5、配置路由器(可选)5.1 端口映射:如果FTP服务器位于局域网内,需要在路由器上进行端口映射,将外部请求正确转发到FTP服务器。
5.2 域名解析(可选):如果FTP服务器使用域名访问,需要进行域名解析配置。
6、测试FTP服务器连接6.1 使用FTP客户端软件:并安装FTP客户端软件,如等。
6.2 输入服务器地质和端口号:根据服务器配置的IP地质和端口号,填写相应信息。
6.3 输入用户名和密码:根据服务器配置的用户信息,填写合法的用户名和密码。
6.4 连接服务器:连接按钮,尝试连接FTP服务器。
7、优化与安全性增强7.1 使用SSL/TLS加密:设置FTP服务器使用SSL/TLS加密通信,增强数据传输的安全性。
7.2 检查日志:定期检查FTP服务器的日志记录,查看是否有异常访问或攻击行为。
7.3 定期升级软件:及时升级FTP服务器软件,以获取最新的功能和安全修复。
一、前言Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如,,.等。
Vsftpd的实现有三种方式1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问2、本地用户形式:以/etc/passwd中的用户名为认证方式3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服务器中。
相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。
相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。
对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。
二、获取最新版的Vsftp程序Vsftp官方下载:ftp:///users/cevans/vsftpd-2.0.3.tar.gz,目前已经到2.0.3版本。
假设我们已经将vsftpd-2.0.3.tar.gz文件下载到服务器的/home/xuchen目录# cd /home/xuchen# tar xzvf vsftpd-2.0.3.tar.gz //解压缩程序# cd vsftpd-2.0.3三、三种方式的实现1、匿名用户形式实现# vi builddefs.h \\编辑builddefs.h 文件,文件内容如下:#ifndef VSF_BUILDDEFS_H#define VSF_BUILDDEFS_H#undef VSF_BUILD_TCPWRAPPERS#define VSF_BUILD_PAM#undef VSF_BUILD_SSL#endif /* VSF_BUILDDEFS_H */将以上undef的都改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL# make //直接在vsftpd-2.0.3里用make编译# ls -l vsftpd-rwxr-xr-x 1 root root 86088 Jun 6 12:29 vsftpd //可执行程序已被编译成功创建必要的帐号,目录:# useradd nobody //可能你的系统已经存在此帐号,那就不用建立# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立# chown root:root /var/ftp# chmod og-w /var/ftp请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin安装vsftp配置文件,可执行程序,man等:# install -m 755 vsftpd /usr/local/sbin/vsftpd-ano# install -m 644 vsftpd.8 /usr/share/man/man8# install -m 644 vsftpd.conf.5 /usr/share/man/man5# install -m 644 vsftpd.conf /etc/vsftpd-ano.conf这样就安装完成了,那么我们开始进行简单的配置# vi /etc/vsftpd-ano.conf ,将如下三行加入文件listen=YESlisten_port=21tcp_wrappers=YESanon_root=/var/ftp //设置匿名用户本地目录,和ftp用户目录必须相同listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它(vsftpd 推荐使用standalone方式)# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf & //以后台方式启动vsftpd注意:每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在listen=YES后多了个空格,那我启动时就出现如下错误:500 OOPS: bad bool value in config file for: listen测试搭建好的匿名用户方式# ftp 127.0.0.1Connected to 127.0.0.1.220 (vsFTPd 2.0.3)530 Please login with USER and PASS.530 Please login with USER and PASS.KERBEROS_V4 rejected as an authentication typeName (127.0.0.1:root): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp>; pwd257 "/"ftp>; quit221 Goodbye.#OK,已经完成了,very nice.高级配置细心的朋友可能已经看出来我们只在默认配置文件增加了四行,就实现了FTP连接(也证明了vsftpd的易用性),那么让我们传个文件吧,呀!!传输失败了(见图1)为什么呢?因为vsftpd 是为了安全需要,/var/ftp目录不能把所有的权限打开,所以我们这时要建一个目录pub,当然也还是需要继续修改配置文件的。
配置DNS服务一.DNS简介1.IP地址和主机名的转换方法主机名便于记忆类UNIX中有3种技术来实现主机名到IP地址的转换host解析:主要指本地/etc/host 例192.168.88.57 ping 在一个大型网络中Hosts文件较繁琐而又复杂,在DNS中起备份作用NIS,NetWork Information System网络信息服务系统,NIS将所有主机数据都保存在中央主机上,由中央主机将所需数据分配给所有的服务器,简单数据库适用于像局域网这样的中型网络DNS,Domain Name system它使用一种层次的树型结构的分布式数据库来处理Internet上的主机和IP地址的转换2.DNS 的组成:DNS是基于C/S模型设计的,每个服务器包含指向其他域名服务器的信息,DNS包括3个部分域名空间:标识一组主机并提供他的有关信息的树结构的详细说明,树上的每一个结点都有其控制下的主机的有关信息的数据库域名服务器:保持和维护域名空间中数据的程序,一个域名服务器拥有其控制范围(区域)内的完整信息解析器:解析器是简单的程序或子程序库,它从服务器中提取信息以获得对域名空间中主机的查询,用于DNS客户3.域名注册:例当子网需连接Internet并且需要由自己管理这个域时,InterNIC 会把相应信息放进.com域的服务器上,使其传播,DNS服务器周期性和其他DNS服务器上的各种数据库同步,并检查其他服务器上的新表项,一个新的域名大约会在3~4天完成传播二.DNS域名空间的分层结构FQDN(Full Qualified Domain Name),域名是层次的,位于右边,左边是主机名,"域"是DNS域名空间的基本单位1.根域(Root Domain):全世界的IP地址和DNS域名空间都是由位于美国的InterNIC负责管理或进行授权管理,全世界共有13台根域服务器,根域服务器中只保存着顶级域的DNS 服务器和IP地址的对应数据,根域是默认的不需要表示出来2.顶级域(top-level domain,TLD):顶级域由InterNIC统一管理,数目有限且不能轻易变动.顶级域有两种划分:地理域和机构域只包括顶级的服务器和IP地址负责解析顶级域的IP地址。
Linux搭建ftp服务器简单教程及使⽤⽅法步骤概括如下:安装:yum install vsftpd操作: service vsftpd start|stop|restart配置部分(重点):1. 为了系统安全,⼀般会建⽴⼀个ftp⽤户,此⽤户不能登陆系统,且只能访问⾃⼰主⽬录下的⽂件。
useradd -d /var/ftp/test -g ftp -s /sbin/nologin ftpuser其中,-d命令是指定⽤户主⽬录,-g是指定⽤户分组,-s /sbin/nologin 是禁⽌⽤户登陆系统,最后ftpuser是本次新建⽤户的⽤户名。
然后设置密码:passwd fptuser2. 配置⽤户可登陆名单,并将新建⽤户添加进⼊ftp可登陆名单中。
配置⽤户名单的⽅式是:打开配置⽂件,找到如下两⾏⾏,去掉其注释符号。
chroot_list_enable=YES# (default follows)chroot_list_file=/etc/vsftpd/chroot_list这样就定义了⼀个⽤户名单,只有名单中的⽤户可以登陆系统。
3. 创建这个/etc/vsftpd/chroot_list ⽂件,将可以访问的⽤户名 ftpuser添加进去。
然后重启ftp服务即可。
操作解释:-d /var/ftp/test ---------------------------------- 远程机器访问这台ftp服务器的根⽬录,⽂件列表与这个⽬录⼀致。
useradd/passwd --------------------------------- 本地的⽤户名和密码/etc/vsftpd/chroot_list --------------------------- 将本地⽤户名XX作为ftp⽤户名ftp及scp命令的使⽤ftp :1. ftp 192.168.26.662. 输⼊⽤户名和密码3.get 下载格式:get [remote-file] [local-file] 将⽂件从远端主机中传送⾄本地主机中.注意:⽂件都下载到了linux主机的当前⽬录下。
Red Hat Enterprise Linux As 4.3Linux下的Ftp Severssh一、什么是ftp1、文件传输协议(File Transfer Protocol,FTP)标准是在RFC959说明的。
2、协议定义了一个在远程计算机系统和本地计算机系统之间传输文件的一个标准。
3、ftp运行在OSI模型的应用层,并利用传输控制协议TCP在不同的主机之间提供可靠的数据传输。
4、ftp在文件传输中还支持断点续传功能,可以大幅度地减小CPU和网络带宽的开销。
二、ftp的特点ftp文件传输协议(file transfer protocol),他通过客户端和服务器端的ftp应用程序,在internet 上实现远程文件传送,是internet 上实现资源共享的基本手段之一,只要两台计算机遵守ftp 协议,不受操作系统的限制,就可以进行文件传输。
在实际的应用中,各种操作系统中都开发了应用于本系统的、遵守ftp协议的ftp的应用程序。
使用端口:20(ftp-data),21(ftp-control)三、ftp服务器的连接模式1、主动模式:client 先连接服务器的21端口(命令端口),然后client开放一个大于1024的端口等待服务器的20端口连接,21号端口的链接建立以后,服务器就用20去连接client开放的端口,简单来说就是服务器主动连客户端基于上面的连接方式,如果client端有个防火墙,服务器的20端口就连接不进入,导致会连接失败。
2、被动模式:就是client开启大于1024的n端口连接服务器的21(命令端口),同时开启n+1端口当21号端口连接成功后,client会发送PASV命令,通知服务器自己处于被动模式,服务器收到这个消息后,就会开放一个大于1024的端口Y通知client,client接到通知后就会用n+1来连接服务器的Y端口,简单的说就是client主动连接服务器四、ftp服务器的访问方式1、Dos:C:\>ftp | ftp 192.168.9.2542、Windows:IE, Mozilla Firefox3、Linux:# ftp | ftp 192.168.9.254gftp (text/X11)五、常见的ftp server software(软件)1、Wu-ftpd –UNIX系统早期流行的匿名自由的ftp服务器软件。
FTP参数详细解释与简单搭建和测试linux下ftp配置⽂件详解如果是默认安装vsftpd的话,以下是⼀些⽂件的位置约定:/usr/sbin/vsftpd ---- VSFTPD的主程序/etc/rc.d/init.d/vsftpd ---- 启动脚本/etc/vsftpd/vsftpd.conf ---- 主配置⽂件/etc/pam.d/vsftpd ---- PAM认证⽂件/etc/vsftpd/ftpusers ---- 禁⽌使⽤VSFTPD的⽤户列表⽂件/etc/vsftpd/user_list ---- 禁⽌或允许使⽤VSFTPD的⽤户列表⽂件/var/ftp ---- 匿名⽤户主⽬录/var/ftp/pub ---- 匿名⽤户的下载⽬录/etc/vsftpd/chroot_list ---此⽂件包含对服务器上所有FTP内容有权限的⽤户名。
对其他⽤户来说,他们在服务器上的主⽬录对他们显⽰为根⽬录/etc/shells --在允许本地⽤户登录之前,系统默认检查是否有有效的⽤户 shell。
以防 PAM 认证不可⽤的情况FTP 是File Transfer Protocol(⽂件传输协议)的英⽂简称,⽽中⽂简称为“⽂件传输协议”。
⽤于Internet上的控制⽂件的双向传输。
同时,它也是⼀个应⽤程序(Application)。
vsftpd 是⼀个基于GPL发布的FTP服务器软件。
其中的vs是“ Very Secure”的缩写控制连接:TCP 21,⽤于发送FTP命令信息数据连接:TCP 20,⽤于上传、下载数据Vsftp⼯作模式FTP协议有两种⼯作⽅式:PORT⽅式和PASV⽅式,中⽂意思为主动式和被动式主动模式:服务端从20端⼝主动向客户端发起连接被动模式:服务端在指定范围内某个端⼝被动等待客户端连接VSFTP传输模式⽂本模式:ASCII模式,以⽂本序列传输数据⼆进制模式:Binary模式,以⼆进制序列传输数据FTP⽤户的类型匿名⽤户:anonymous或ftp本地⽤户:帐号名称、密码等信息保存在passwd/shadow⽂件中虚拟⽤户:使⽤独⽴的帐号/密码数据⽂件--配置⽂件[root@db1 vsftpd]# cat /etc/vsftpd/vsftpd.conf | grep -v '^#' | grep -v '^$'#常⽤全局配置,配置⽂件中=两边值不能有空格listen_address=192.168.4.1 设置监听的IP地址listen=YES #是否以独⽴运⾏的⽅式监听服务listen_port=21 #设置监听FTP服务的端⼝号download_enable=YES #是否允许下载⽂件max_clients=0 #限制并发客户端连接数max_per_ip=0 #限制同⼀IP地址的并发连接数pasv_enable=yes #开启被动模式pasv_min_port=9981 #设置最⼩的被动端⼝号pasv_max_port=9981 #设置最⼤的被动端⼝号# 匿名⽤户配置,说明:匿名⽤户账号名称默认为ftp或anonymous,不需要登录密码,默认只能下载⽆法上传。
LinuxFTP服务器配置Ø简介本⽂主要介绍 Linux FTP 服务器配置,包括如下内容:1.FTP 介绍2.安装及配置3.⽤户访问4.匿名访问5.连接ftp 的常⽤命令6.nmap 端⼝扫描⼯具1.FTP 介绍FTP(File Transfer Protocol)⽂件传输协议,是⽤于在⽹络上进⾏⽂件传输的⼀套标准协议,使⽤客户/服务器模式,FTP 属于⽹络传输协议的应⽤层。
通俗的将就是,如果⼀台服务器上如果启⽤了 ftp 协议,任意的⼀台电脑就可以与这台服务器建⽴连接。
只要权限⾜够,就可以从这个服务器上下载⽂件和上传⽂件。
ftp 有两个端⼝号,⼀个端⼝号是21,⽤于传输控制流;另⼀个端⼝号是20,⽤于传输数据流。
也就是21号端⼝⽤于建⽴连接,20号端⼝⽤于传输数据。
n常⽤的FTP 软件1)Wu-FTP古⽼、配置⽐较复杂,安全性不是特别理想。
UNIX 系统⾃带的 FTP 软件。
2)Proftp(Professional FTP daemon)功能强⼤。
Proftpd 简介:全称Professional FTP daemon,是针对Wu-FTP 的弱项⽽开发的,软件在经过多年的发展之后完善了很多功能,ProFTP 已经成为继Wu-FTP 之后最为流⾏的FTP 服务器软件,越来越多的站点选⽤它构筑安全⾼效的FTP 站点。
Proftpd 软件和vsftpd ⼀样是⼀个开放源代码的ftp 服务器软件,但是可配置项⽐vsftpd 要多,是⽬前⽐较流⾏的ftp 软件,Proftpd 的配置和apache 的配置相似,因此该软件也⼗分容易配置和管理。
3)vsftp(推荐使⽤)安全、⾼速、稳定。
安全、⾼速、稳定。
具有以下特点:1.配置简洁、使⽤⽅便,使⽤加密传送安全性较⾼。
2.绝⼤多数Linux 提供的官⽅下载,都是有vsftp 来提供的。
vsftp 简介:全称Very secure FTP daemon,⽐ProFTPD 具有更⾼的安全性。
第14章配置与管理FTP服务器《Linux网络操作系统项目教程(RHEL 8/CentOS 8)》能力要求CAPACITY掌握FTP服务地工作原理学会配置vsftpd服务器内容导航CONTENTS项目知识准备项目设计与准备项目实施项目实录:配置与管理FTP服务器FTP地工作原理FTP大大简化了文件传输地复杂性,它能够使文件通过网络从一台主机传送到另外一台计算机上却不受计算机与操作系统类型地限制。
FTP服务地具体工作过程如图所示。
(1)客户端向服务器发出连接请求,同时客户端系统动态地打开一个大于1024地端口等候服务器连接(如1031端口)。
FTP地工作原理(2)若FTP服务器在端口21侦听到该请求,则会在客户端1031端口与服务器地21端口之间建立起一个FTP会话连接。
(3)当需要传输数据时,FTP客户端再动态地打开一个大于1024地端口(如1032端口)连接到服务器地20端口,并在这两个端口之间进行数据地传输。
当数据传输完毕,这两个端口会自动关闭。
(4)当FTP客户端断开与FTP服务器地连接时,客户端上动态分配地端口将自动释放。
FTP服务有两种工作模式:主动传输模式(ActiveFTP)与被动传输模式(PassiveFTP)。
匿名用户FTP服务不同于,它首先要求登录到服务器上,然后再进行文件地传输。
这对于很多公开提供软件下载地服务器来说十分不便,于是匿名用户访问就诞生了:通过使用一个同地用户名anonymous,密码不限地管理策略(一般使用用户地邮箱作为密码即可)让任何用户都可以很方便地从FTP服务器上下载软件。
第14章配置与管理FTP服务器7内容导航CONTENTS项目知识准备项目设计与准备项目实施项目实录:配置与管理FTP服务器8第14章配置与管理FTP服务器二,项目设计与准备项目需求准备两台安装了RHEL8地计算机,连网方式都设为hostonly(VM1),一台作为服务器,一台作为客户端使用。
Linux搭建FTP服务器(虚拟用户配置文件)
先行关闭防火墙,或者打开端口
1、建立虚拟用户口令库文件
口令库文件中奇数行设置用户名,偶数行设置口令
# vi /etc/vsftpd/logins.tx t
zhangwenbo -用户名
123 --密码
test --用户名
123 --密码
ftp
123
2、生成vsftpd的认证文件
# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
注:如果没有db_load命令,请安装db4*相关rpm包。
# chmod 600 /etc/vsftpd/vsftpd_login.db --设置认证文件只对用户可读可写
3、建立虚拟用户所需的PAM配置文件
# vi /etc/pam.d/vsftpd 添加一下内容
auth required /lib(32位的)/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib(32位的)/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注意:以上2行中最后的2个文件名vsftpd_login和第2个步骤中的数据库名字必须一致!
4、建立虚拟用户所要访问的目录并设置相应权限
# mkdir /var/ftp/pub/FTP--创建FTP工作目录
# useradd -d /var/ftp/pub/FTP -s /sbin/nolog virtual (用户名) --用于映射到本地的用户
# chown virtual:virtual/var/ftp/pub/FTP --FTP文件夹所属virtual用户
# chmod 700 /var/ftp/pub/FTP --权限可读可写
5、设置vi /etc/vsftpd/vsftpd.conf 配置文件
首先关闭匿名用户anonymous_enable=YE改为NO 或者在前边加#,在末尾添加:
guest_enable=YES --开启虚拟用户
guest_username=virtual --本地虚拟用户名(映射到本地的用户名)
user_config_dir=/etc/vsftpd_user_conf --用户配置文件目录设置
# systemctl restart vsftpd --重启服务
6、建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf--使用mkdir命令建立用户配置文件目录
为虚拟用户建立单独的配置文件,用户配置文件名称与用户名相同(我自己新建了三个用户)
当然你也可以建N个虚拟用户
为每个FTP虚拟用户都可以独立设置其权限(例如zhangwenbo用户) 添加以下配置文件,当然,其他的虚拟用户配置文件可以模仿一下的自行配置
#vi /etc/vsftpd_user_conf/zhangwenbo--虚拟用户zhangwenbo
local_root=/home/ftp (当然,你高兴也可以设置成其它,但要注意virtual用户对此目录的权限)
anon_world_readable_only=NO (使download用户的能下载,也只能下载;写成YES,将不能列出文件和目录)
#vi /etc/vsftpd_user_conf/test --虚拟用户test
local_root=/home/ftp
anon_world_readable_only=NO --可读可下载
write_enable=YES (写权限)
anon_mkdir_write_enable=YES --可创建和删除文件夹
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)
#vi /etc/vsftpd_user_conf/ftp--虚拟用户ftp
local_root=/var/ftp/pub/FTP --自己的目录名FTP
anon_world_readable_only=NO
anon_umask=022 (由于web页面的特殊性,故单独设置上传文件权限为755,此掩码值可根据具体情况更改)
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)
然后重启服务
#systemctl stop vsftpd
#systemctl start vsftpd
---------测试成功----------
7、乱码补丁:
其它发行版本则要手动安装:
下载源码-解压-把补丁复制到源码目录
命令:
#patch -p0 < vsftpd-2.0.5-encoding.patch
#patch -p0 < chinese_log.patch
#.configure
#make
#make install
方法二( 帐号写入MySQL数据库):
8、安装Mysql:
#apt-get install mysql-server mysql-client
为了安全,请给Mysql设置密码:
#mysqladmin password ***** (****就是你新设的Mysql的密码)
9、将虚拟用户帐号和密码保存在Mysql数据库中:
我们建立数据库vsftpdvu,表users,字段name和passwd用于保存虚拟用户的用户名和口令,同时增加三个虚拟用户download、admin 、web。
#mysql –p
mysql>create database vsftpd;
mysql>use vsftpd;
mysql>create table users(name char(16) binary,passwd char(16) binary);
mysql>insert into users (name,passwd) values ("zhangwenbo",password("123"));
mysql>insert into users (name,passwd) values ("test",password("123"));
mysql>insert into users (name,passwd) values ("ftp",password("123"));
mysql>quit
10、授权virtual可以读vsftpdvu数据库的users表。
#mysql -u root mysql -p
mysql>grant select on ers to virtual@localhost identified by "*****"; ((****并非步骤8中的密码)
mysql>quit
如果要验证刚才的操作是否成功可以执行下面命令:
#mysql -u virtual –p**** vsftpdvu (****是步骤10中设的密码)
mysql>select * from users;
如果成功,将会列出download、web、apollo和加密后的密码。
11、安装MySQL的PAM验证
#apt-get install libpam-mysql
12、我们要设置vsftpd的PAM验证文件。
新建开/etc/pam.d/ftp.vu文件,加入以下内容:
auth required pam_mysql.so user=virtual passwd=**** host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2
(****是步骤10中设的密码)
account required pam_mysql.so user=virtual passwd=**** host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2
(****是步骤10中设的密码)
crypt表示口令字段中口令的加密方式:
crypt=0,口令以明文方式(不加密)保存在数据库中;
crypt=1,口令使用UNIX系统的DES加密方式加密后保存在数据库中;
crypt=2,口令经过MySQL的password()函数加密后保存。
最后,重新启动VSFTPD。