RedHat 配置与安装vsftp服务
- 格式:docx
- 大小:103.46 KB
- 文档页数:5
Redhat 安装及网络配置一、Redhat安装1.第一次安装选择2、介质检查用来判断安装介质是否有错误。
一般不需要,选择skip就可以。
3、欢迎界面直接下一步。
4、选择安装过程使用的语言,一般默认就可以。
也可以选择中文,根据个人喜好吧!5、选择键盘布局,不需要修改。
6、选择存储类型这次安装使用本地盘,因此选择第一项。
选择“Yes,discard any data”,丢弃磁盘上现有数据。
7、设置本机机器名和网络(也可直接点下一步,安装完成后再进行网络配置)选择”Configure Network”,在这里可以配置网络.。
也可在安装后手工修改。
选择网卡,点edit根据协议选择选项卡。
这里设置IPV4。
手工分配地址“manual“,点add输入地址、掩码、默认网关。
然后apply应用配置点close回到安装界面。
8、选择时区,Linux现在没有北京时区,选择上海时区。
9、设置root密码。
如果密码比较简单,会弹出下面对话框,选择cancel 重新设置密码。
User anyway强制使用简单密码。
10、存储空间划分(也可不进行划分)。
这里的存储可能是划分换得存储lun、也可能是物理磁盘、设置是一个文件。
一般服务器安装会使用user all space.当然自动存储空间划分有一些我问题。
因此记得勾选”Review and modify partitioning layout”,,然后点下一步。
出现存储编辑界面。
点击create 弹出“create storage”窗口。
可以创建分区、软raid、卷组LVM、等。
本例中选择vg_fdl3165pc ,点击edit按钮,进入卷组vg_fdl3165pc的编辑过程。
通过add、edit、delete编辑逻辑卷,并分配mount点。
本例点击add按钮。
弹出“make Logical Volume”界面。
编辑后的汇总界面如下图,点击下一步这是一个确认界面,如果认为磁盘数据重要,此时cancel还来得及。
vsftpd FTP服务器架设在windows上完了完server-u,很简单,一个小时就能完成ftp服务器的假设,在liunx下要架设一个ftp就没那么容易了,在网上找了找资料在windows上架设 FTP 首选 Server-u,看看资料,点点下一步,基本上10分钟就能架设一个ftp服务器了,在linux下面架设ftp服务器,确实费了我一番功夫,现在想起来,需要总结的就是看资料的时候一定要全面,并且做好一个资料要看完。
最终我选择了 vsFTPd是一款在Linux发行版中最受推崇的FTP服务器程序。
特点是小巧轻快,安全易用。
vsftpd (号称最安全的ftp 服务器)下面讲下linux 下使用vsftpd 的步骤:1.首先下载需要的软件,双机直接安装:a.vsftpd-2.0.1-5.EL4.5.i386.rpm (在liunx4 的第一张光盘)b.db4-utils-4.2.52-7.1.i386.rpm (在liunx4 的第三张光盘) ,用来加密虚拟用户密码等文件的工具2.启动vsftpd服务在控制台执行 service vsftpd start ,如果没有什么问题,你可以看到服务启动的进程号,如果出现了问题,你可以试着将 gssftp 这个服务停掉,执行service vsftpd stop 因为这个服务或许会造成冲突查看vsftpd服务器启动情况 service vsftpd status3.用客户端工具连接ftp服务器在window操作系统下,打开命令提示符,输入 ftp 133.64.81.164 回车然后使用默认的用户名(ftp)和密码(ftp) ,就可以登录ftp服务器了,或者你也可以使用系统用户的用户名和口令登录ftp服务器。
经过以上3个步骤我们就完成了ftp服务器的假设,但是这里有许多问题a.安全性,匿名用户也可以登录,进行操作b.用户登录以后并没有锁定目录c.用户的权限配置没有体现还有其他的问题,基于这些问题,需要我们了解下 vsftpd的工作原理,上面的操作都是基于一下的3个配置文件的vsftp相关配置文件说明/etc/vsftpd/vsftpd.conf/etc/vsftpd.ftpusers/etc/er_list其中,/etc/vsftpd/vsftpd.conf 是主配置文件。
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。
redhatyum源的搭建和使有SDON一、yumftp源的搭建1.安装createrepo和vsftpd并配置FTP服务器1、安装rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm #createrepo.noarch --- 用于生成repodata 数据库,生成依赖性关系rpm -ivh vsftpd-2.0.5-16.el5_4.1.i386.rpm # 上面的软件包在光盘或者是网上都有,可以直接下载使用。
2、ftp配置(1)vsftp的匿名用户为linux系统的ftp用户,可以修改/etc/passwd,将ftp用户的home目录从/var/ftp 更改为你的目标路径。
这里改为/hbbackup/yum/启动vsftp:servicevsftpdstart;chkconfigvsftp on注意:注意修改/hbbackup/yum/目前权限。
(2)配置匿名用户vi /etc/vsftpd/vsftpd.conf# Allow anonymous FTP? (Beware - allowed by default if you comment this out).anonymous_enable=YES2.生成yum源。
挂载镜像文件:mount -o loop rhel-server-6.8-x86_64-dvd.iso /cdrom复制镜像文件:cp -r /cdrom /* /hbbackup/yum/rhel-server-6.8-x86_64-dvd生成repodata:#cd /hbbackup/yum/rhel-server-6.8-x86_64-dvd#createrepo .默认就会在/hbbackup/yum/rhel-server-6.8-x86_64-dvd,下面有filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml四个文件。
fe dora 服务器之FTP 配置VSFTPD是一款小巧易用FTP服务器程序,vsftpd 在安全性、高性能及稳定性三个方面有上佳的表现。
它提供的主要功能包括虚拟IP设置、虚拟用户、Standalone、inetd操作模式、强大的单用户设置能力及带宽限流等。
在安全方面,它从原理上修补了大多数Wu-FTP、ProFTP,乃至BSD-FTP的安装缺陷,使用安全编码技术解决了缓冲溢出问题,并能有效避免―globbing‖类型的拒绝服务攻击。
目前正在使用vsftpd的官方网站有Red Hat、SuSE、Debian、GNU、GNOME、KDE、Gimp和OpenBSD等。
它支持很多其他的FTP 服务器不支持的特征。
比如:非常高的安全性需求带宽限制良好的可伸缩性创建虚拟用户的可能性IPv6支持中等偏上的性能分配虚拟IP 的可能性高速目录一.ftp原理与vsftpd安装二.设置匿名用户也支持下载和上传,创建目录三.基于系统用户支持ftp上传和访问四.搭建支持SSL加密传输的vftpd五.vsftpd.conf配置详解六.建立多个虚拟用户支持ftp不同访问权限七.利用quota对Vsftpd做磁盘配额(一)ftp原理与vsftp安装1.ftp原理FTP Transfer Protocol 件传输协议的缩写,在RFC 959中具体说明。
FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。
控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的,PI称为控制连接数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。
FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式,DTP称为数据连接PORT模式(主动方式)FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。
VSFTPD配置方法1.安装VSFTPD软件首先,使用以下命令在Linux系统上安装VSFTPD软件:```sudo apt-get install vsftpd```2.配置VSFTPD打开VSFTPD的配置文件,通常位于/etc/vsftpd.conf,使用以下命令:```sudo nano /etc/vsftpd.conf```-设置FTP根目录:``````-允许匿名访问(可选):```anonymous_enable=YES```-关闭匿名上传(可选):```anon_upload_enable=NO```-允许本地用户登录:```local_enable=YES```-限制用户仅访问其主目录:```chroot_local_user=YES```将用户限制在其主目录下,防止访问系统其他部分。
-设置FTP用户的权限:```file_open_mode=0777local_umask=022```file_open_mode设置为0777将文件权限设置为可读写执行,local_umask设置为022保证新创建的文件和文件夹的权限正确。
``````3.重启VSFTPD服务使用以下命令重启VSFTPD服务,使配置生效:```sudo systemctl restart vsftpd```4.配置防火墙如果系统上使用了防火墙,需要修改防火墙规则以允许FTP流量通过。
根据所使用的防火墙软件和具体配置方法来进行相应的设置。
5.创建FTP用户使用以下命令创建一个FTP用户:```sudo adduser ftpuser```将ftpuser替换为你希望创建的FTP用户名。
6.设置FTP用户密码使用以下命令设置FTP用户的密码:```sudo passwd ftpuser```7.连接FTP服务器使用FTP客户端软件连接到配置好的VSFTPD服务器,使用FTP用户的用户名和密码登录即可。
以上就是VSFTPD配置的一般方法。
Centos 6.5 安装配置ftp服务1. 实验需求:1) 使用RPM包安装vsftpd服务2) 实现匿名用户访问,验证仅可以访问和下载,不可以上传3) 实现匿名用户可上传、下载、修改等完全权限(现实环境中这样的需求可能性很小)4) 实现把登陆的用户禁锢在自己的家目录中5) 实现限制某些用户的访问6) 实现虚拟用户的访问7) 实现针对不同的虚拟用户拥有不同的权限2.实验环境:Linux服务器系统版本:Red Hat Enterprise Linux 6.5 IP:192.168.20.3 Windows客户机系统版本:Windows 7 Ultimate x64 IP:192.168.20.2 vsftpd软件版本:vsftpd-2.2.23.实验步骤:基本安装操作A.挂载系统光盘并安装vsftpd这里我们使用rpm安装包安装vsftpd,安装包放在系统光盘中的Packages目录中,我们首先挂载系统光盘到系统的mnt目录下[root@localhost~]# mount /dev/sr0 /mnt到Packages目录下找到vsftpd服务的软件包并安装,安装完成。
[root@localhost~]# rpm -ivh/mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpmB.查看vsftpd配置文件[root@localhost ~]# grep -v "#"/etc/vsftpd/vsftpd.conf #过滤掉配置文件中#号的注释anonymous_enable=YES #已开启匿名用户的访问local_enable=YES #已开启本地账号的访问write_enable=YES #已开启写入的权限local_umask=022 #本地用户上传文件的权限是644,文件夹是755---------------------以下配置为服务默认,此实验中无需关dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YES实现匿名用户访问,验证仅可以访问和下载,不可以上传根据vsftpd配置文件的默认配置,当vsftpd搭建好之后什么都不做就可以被匿名用户和本地用户访问了A.效果验证:[root@localhost~]# service vsftpd start #启动服务为vsftpd 启动vsftpd:[确定]测试之前,必须把防火墙和selinux关掉[root@localhost ~]# serviceiptablesstop我们在客户机上用文件夹的方式访问ftp://192.168.20.3现在来测试一下匿名用户的上传和下载权限注意:我们用匿名账号ftp登陆(无密码),查看现在所在的工作目录为/,这个/并不是服务器的根目录,而是匿名用户自己的家目录,ls查看发现里面有一个pub的文件夹家目录就是服务器上/var/ftp这个目录:我们验证匿名用户可不可以下载首先要在ftp这个目录下新建一个可供下载的文件[root@localhost ~]# cd/var/ftp #切换到ftp目录下[root@localhostftp]# echo "this is test ftp" > test.txt #新建一个test.txt 文件,内容为this is test ftp回到客户机上的cmd控制台C:\Users\Administrator>f:\ //切换到f盘,我们下载的文件就会下载到f盘用匿名账号ftp登陆,下载test.txt文件,打开f盘,看到已经下载的文件现在来验证匿名用户是否可以上传文件,我们把刚才下载都客户机上的test.txt 文件改名为tes.txt文件用于上传测试(避免重名)上传时被拒绝,所以我们知道匿名用户是只可以下载不能够上传的。
1.查看有没有安装vsftpd:rpm -qa | grep vsftpd2.yum安装vsftpd:yum install vsftpd3.rpm安装vsftpd:可以从下面两个地方获得最新的vsftpd的RPM包https:///或者/安装命令:rpm -Uvh vsftpd-1.1.3-8.i386.rpm4.设置每次开机时自动运行及手工启动它:chkconfig vsftpd onservice vsftpd startnetstat -tl 可以查看ftp端口是否在侦听了!5.为vsftpd添加ftp账号用useradd建立的用户,如果后面不加参数,建立的用户为普通用户,有系统登陆权限,所以要在useradd命令后面加上参数,为虚拟主机添加不可以登录系统的ftp专用账号,命令如下:# useradd –s /sbin/nologin –d /var/www -g ftp ftpadmin如果显示如下信息:Creating mailbox file: File existsuseradd: warning: the home directory already exists.Not copying any file from skel directory into it.表示用户家目录已经存在(/var/www),不可再新建此目录,并非添加用户失败,接下来给用户设置密码,否则此账号不能使用,命令如下:# passwd ftpadmin这样就为linux系统添加用户ftpadmin,用户目录指定为/var/www,属于ftp 用户组,且此用户不能登陆系统。
注:-s /sbin/nologin是让其不能登陆系统-d 是指定用户目录为/var/www-g ftp 把用户加入到ftp组中修改/var/www目录属性:$ chmod -R 777 /var/www递归地给此目录下所有文件和子目录的读、写、执行权限$ chgrp -R ftp /var/www 递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组6.配置etc/vsftpd/vsftpd.conf文件:nano -w /etc/vsftpd/vsftpd.conf注:用nano编辑配置文件要加参数“-w”,用于取消自动换行,否则有可能会出错。
用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来登录,就已经没有上传的权限了。
先说明,在网上找的一个 "我见过的最好的vsftpd"的配置,按照他的步骤安装,基本正确,唯一是在64位机器中的一个pam验证的路径问题导致登录不上。
具体安装步骤:一.安装:1.安装Vsftpd服务相关部件:[root@KcentOS5 ~]# yum -y install vsftpd*2.确认安装PAM服务相关部件:[root@KcentOS5 ~]# yum -y install pam*开发包,其实不装也没有关系,主要的目的是确认PAM。
3.安装DB4部件包:这里要特别安装一个db4的包,用来支持文件数据库。
[root@KcentOS5 ~]# yum -y install db4*二.系统帐户1.建立Vsftpd服务的宿主用户:[root@KcentOS5 ~]# useradd vsftpd -s /sbin/nologin默认的Vsftpd的服务宿主用户是root,但是这不符合安全性的需要。
这里建立名字为vsftpd的用户,用他来作为支持Vsftpd的服务宿主用户。
由于该用户仅用来支持Vsftpd 服务用,因此没有许可他登陆系统的必要,并设定他为不能登陆系统的用户。
2.建立Vsftpd虚拟宿主用户:[root@KcentOS5 nowhere]# useradd overlord -s /sbin/nologin本篇主要是介绍Vsftp的虚拟用户,虚拟用户并不是系统用户,也就是说这些FTP的用户在系统中是不存在的。
他们的总体权限其实是集中寄托在一个在系统中的某一个用户身上的,所谓Vsftpd的虚拟宿主用户,就是这样一个支持着所有虚拟用户的宿主用户。
由于他支撑了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,当然也还是需要继续修改配置文件的。
linux(redhat)开启telnet,ftp服务Redhat 开启telnet和ftp服务查看linux版本uname –a 看内核cat /proc/version 看内核cat /etc/issue 直接看版本lsb_release –a直接看版本cat /etc/redhat-release直接看版本修改字符集编辑文件/etc/sysconfig/i18n 修改LANG="zh_CN.GB18030"使用SSH登录到远程主机可用的工具有SSH secure shell运行rpm -qa xinetd 查看xinetd是否安装运行rpm -qa telnet-server 查看telnet服务端是否安装运行rpm -qa vsftpd 查看ftp是否安装如果没有安装,从https:/// 找到相关的rpm包,下载先安装xinetd,再安装另外两个。
安装命令用rpm -ivh +文件名。
安装完毕之后,1、开启ftp服务。
cd /etc/xinetd.d ,编辑ftp服务的配置文件gssftp的设置:开启ftp服务设置.vi gssftp ,将修改两项内容:(1)server_args = -l –a 去掉-a 改为server_args = -l(2)disable=yes改为disable=no(3)保存退出。
2、开启telnet服务cd /etc/xinetd.d ,察看telnet服务的配置文件krb5-telnet的设置:开启telnet服务设置vi krb5-telnet ,(1)将disable=yes,改为disable=no,保存退出。
3、激活服务:telnet /ftp 是挂在xinetd 底下的,所以自然只要重新激活xinetd 就能够将xinetd 里头的设定重新读进来,所以刚刚设定的telnet /ftp自然也就可以被激活。
激活目录和命令:cd /etc/rc.d/init.d/service xinetd start有时会提示命令不存在,需要加上命令的路径[root@localhost init.d]# service xinetd start bash: service: command not found[root@localhost init.d]# /sbin/service xinetd start系统默认root不能telnet登录,需要新建用户groupadd tom catuseradd -m -g tom cat -G tom cat tom cat --创建用户名为tom cat属于tom cat组的用户id tom cat --如果出现结果,表明用户创建成功passwd tom cat --修改密码遇到问题,创建用户后登录FTP提示找不到home目录解决办法,让vsftpd 脱离xinetd独立启动执行命令setsebool ftpd_disable_trans 1,并重启vsftpd。
安装vsftpd1.下载源代码--vsftpd-2.3.4.tar.gz2.编译源代码#tar xvzf vsftpd-2.3.4.tar.gz //解压缩包#cd vsftpd-2.3.4 //进入解包后的vsftpd-2.2.0目录#make //编译生成二进制数据#make install //进行安装3.复制配置文件#cd vsftpd-2.3.4#cp vsftpd.conf /etc/ //vsftpd.conf是配置文件#cp RedHat/vsftpd.pam /etc/pam.d/ftp注:*.pam文件是客户认证模块,对用户进行身份识别,ftp是vsftp下默认的,不能改为其它文件名4、创建ftp文件夹#mkdir /var/ftp //建立ftp服务器的home目录5.编辑配置文件/etc/vsftpd.conf#vi /etc/vsftpd.conf在vsftpd.conf文件中修改或追加listen=YES //让服务器自己监听,保存退出。
6.启动服务器#/usr/local/sbin/vsftpd & //手动启动服务器,并让其工作在后台7.测试服务器的运行#netstat –tnl //检查一下,看机器有没有开端口是21的服务器,结果如下tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN[root@rac1 var]# ftp localhostTrying ::1...ftp: connect to address ::1Connection refusedTrying 127.0.0.1...Connected to localhost (127.0.0.1).220 (vsFTPd 2.3.4)Name (localhost:root): anonymous //用户名为anonymous331 Please specify the password.Password: //密码为空230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.8.修改服务器自动运行脚本[root@rac1 ~]# vi /etc/rc.local //让电脑开机自动启动vsftp服务器进入rc.local 脚本文件#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.touch /var/lock/subsys/local/usr/local/sbin/vsftpd & //该行是我们自己追加的9、查看vsftpd进程是否存在#pgrep vsftpd10、查看vsftpd的版本#vsftpd -v。
RedHat 配置与安装vsftp服务
(综合他人和自己实践所得,若有冲突还请见谅)
1. vsftp要求功能:
a) 不允许匿名登录,只允许特定用户登录
b) 文件上传到指定目录,不允许进入其它目录
2. 在RedHat下安装ftp
rpm -qavsftpd #查询是否已安装vsftpd服务,若没有则安装
方式一:找到rpm包安装:rpm -ivhvsftpd.*****.rpm
方式二:搭建yum本地光盘源安装:yum install vsftp
3. 手动配置ftp 的配置文件:/etc/vsftpd/vsftpd.conf
vsftp的/etc/vsftp/vsftp.conf相关默认设置
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
自己设置(和默认的差不多,有的默认的没打开则打开,已经打开的按需求修改属性)
anonymous_enable=NO #禁止匿名用户登录
local_enable=YES#允许本地实体用户登录
write_enable=YES #允许用户上传数据
local_umask=022 #建立新目录(755)与文件(644)的权限
dirmessage_enable=YES#若登录目录下有.message则会显示该文件内容可以自己在登录目录下创建.message文
件并写入信息
xferlog_enable=YES #启动日志文件记录,记录于/var/log/xferlog
connect_from_port_20=YES#支持主动式连接功能
xferlog_std_format=YES#支持WuFTP的日志文件格式
ascii_upload_enable=YES#允许上传ascii文件
ascii_download_enable=YES #允许下载ascii文件
#local_root=/home/xx/ftp #限制登录用户只能在/home/xx/ftp目录下操作,不设置
chroot_local_user=YES #限制登录用户在主目录内local_root定义目录①
chroot_list_enable=YES #与chroot_list_file配合,允许某些用户不被限制②
chroot_list_file=/etc/vsftpd/chroot_list #不被限制的用户写入这个文件这项需要手动建立文件chroot_list
注:chroot_list文件中格式为一行一个用户。
当①和②为YES时,该文件中的用户可以随意切换目录;
当①为YES②为NO时,该文件中的用户根目录被锁定;其他情况待定
listen=YES #使用stand alone方式启动vsftpd
pam_service_name=vsftpd #支持PAM模块的管理
userlist_enable=YES#支持/etc/vsftpd/user_list文件内的账号登录控制
userlist_deny=NO#当该值为NO时,在user_list中且不再ftpusers中的用户可以登陆该ftp服务器;当为YES时该文件中的用户均不能登陆ftp服务器
tcp_wrappers=YES#支持TCP Wrappers的防火墙机制
4. 启动服务
方式一:servicevsftpd start/service vsftpd restart
方式二:/etc/init.d/vsftpd start/restart
5. 设置开机启动
root用户编辑/etc/rc.d/rc.local 添加第四步服务启动的任意一种即可
6. 终端输入sestatus -b | grep ftp
allow_ftpd_anon_write off
allow_ftpd_full_access off
allow_ftpd_use_cifs off
allow_ftpd_use_nfs off
ftp_home_dir on
ftpd_connect_db off
ftpd_use_passive_mode off
httpd_enable_ftp_server off
tftp_anon_write off
如果ftp_home_dir选项为off,则执行如下操作终端输入setsebool -P ftp_home_dir on(加-P则不用每次重启之后再执行此操作),需要等待一段时间完成后执行:service vsftpd restart重启服务
7. vsftp添加用户并指定用户目录
a) 添加用户
useradd -g ftp -d /home/ftp/ -s /sbin/nologin ftpuser1
useradd -g ftp -d /home/ftp/ -s /sbin/nologin ftpuser2
........
注:-g 添加到ftp组,用户家目录是/home/ftp/ -s /sbin/nologin 不允许以此用户登录系统,用户名ftp
passwd ftpuser1 修改用户ftp登陆密码
b)在/etc/vsftp/vsftp.conf中添加user_config_dir=/etc/vsftpd/userconf#添加读取用户配置目录
注:本行配置默认没有需要手动输入
手动创建mkdir/etc/vsftpd/userconf
建立各用户的登陆目录
mkdir /root/ftpfolder1
mkdir /root/ftpfolder2
......
在/etc/vsftpd/userconf目录下添加用户配置文件(有很多用户时,需要建每个用户相对应的文件)
touch/etc/vsftpd/userconf/ftpuser1
touch/etc/vsftpd/userconf/ftpuser2
......
echolocal_root=/root/ftpfolder1>/etc/vsftpd/userconf/ftpuser1
echolocal_root=/root/ftpfolder2>/etc/vsftpd/userconf/ftpuser2
...........
c) 重启服务
注意:
当从另外一台linux通过ftp方式连到Linux ftp服务器上ftp 192.168.80.128,输入用户名密码,一切正常,而在进入ftp命令行的ls的时候,就报错了:
227 Entering Passive Mode (192,168,80,128,25,126).
ftp: connect: No route to host,见下图:
又从Windows PC机上试一下,非常正常,见下图:
在网上搜了下,发现原来是Linux ftp服务器上的nf_nat_ftpnf_conntrack_ftp两大内核模块没加载,故修改,/etc/sysconfig/iptables-config,加上
IPTABLES_MODULES="nf_nat_ftpnf_conntrack_ftp",重启iptables就OK。
在其他内核版本上可能不一样,具体可以modprobe -l | grep ftp看下具体用的模块名是什么。
具体为什么,跟ftp协议有关系,这次做下简单记录,后面查明后再写上。