linux下安装vsftpd服务
- 格式:docx
- 大小:43.36 KB
- 文档页数:5
Linux下配置FTP服务器实例详解摘要:本文通过在red hat 9.0中配置匿名用户和虚拟用户访问的ftp服务器,向读者详尽地诠释了linux下ftp服务器配置的全部流程以及配置过程中要注意的一些问题。
关键词:匿名用户虚拟用户权限 vsftpd pam认证1 概述linux下可用的ftp服务器软件比较多,vsftpd安全易用,很多著名的站点都在使用vsftpd作为其ftp服务器。
本文以vsftpd为例,对基于linux的ftp服务器配置问题进行研究。
2 安装vsftpd服务组件vsftpd所需组件包括:vsftpd*、pam*、db4*、db4-utils,可以使用rpm命令查看:【root @dns root】#rpm-qa | grep vsftpdvsftpd-1.1.3-8【root @dns root】#rpm-qa | grep pampam-0.75-48pam_krb5-1.60-1pam-smb-1.1.6-7pam-devel-0.75-48【root @dns root】#rpm-qa | grep db4db4-4.0.14-20db4-utils-4.0.14-20db4-java-4.0.14-20db4-devel-4.0.14-20【root @dns root】#以上便是配置ftp服务器所需所有组件,若发现个别没有装,则要在光盘中查找到装好。
3 创建并设置ftp站点的主目录我们的vsftpd组件安装好后,系统自动会生成一个目录,/var/ftp/pub,这个是linux系统中ftp站点的默认主目录,这里我们不用这个目录,我们自己为匿名用户和虚拟用户分别创建两个主目录如下:【root @dns root】# mkdir /var/ftp/share【root @dns root】#mkdir /var/ftp/soft其中share作为匿名用户的主目录,只能读不能写,此处该目录文件夹我们为其设置权限为755,而soft目录作为虚拟用户访问的主目录,读写删除权限都要,我们为其设置权限777如下:【root @dns root】#chmod 755 /var/ftp/share【root @dns root】#chmod 777 /var/ftp/soft4 创建虚拟用户虚拟用户只能访问为其提供的ftp服务,不能像本地用户那样登录系统而访问系统的其他资源,因此我们一般架设ftp时都会使用虚拟用户而不是本地用户来访问服务器以确保整个服务器系统的安全。
一、创建匿名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是liunx下常⽤的软件之⼀。
1.将⽤户切换到root:su - ;2.检查机器是否已经安装了ftp:rpm -qa|grep vsftpd;如果没有返回任何结果,表⽰没有安装;如果返回⽂件包名,这表⽰已经安装了该服务;3.开始安装:yum install vsftp;(接下来的步骤可能要询问:Is that ok?,直接回应yes就可以了);安装完了会显⽰ Complete!4.再次检查ftp是否安装上了:rpm -qa|grep vsftp;5.检查ftp配置是否开启:chkconfig --list|grep vsftpd;此时返回的选项应该都是off;6.开启ftp配置项:chkconfig vsftpd on;7.再次检查ftpshi是否开启:chkconfig --list|grep vsftp;此时ftp的⼀些选项中应该有on;8.重启ftp:service vsftpd restart;(如果重启失败,有可能是linux防⽕墙没有关闭的问题,关闭防⽕墙:chkconfig iptables off)9.再次重启ftp:service vsftp restart,此时应该是ok的;卸载:卸载ftp:rpm -e vsftpd;再给⼤家分享⼀则⽹友的⼼得:Linux下使⽤VSFTP安装包搭建FTP⽂件传输服务,⽅法如下:1.检查是否安装VSFTP服务rpm -qa|grep vsftpd如果没安装,安装VSFTP服务2.挂载Linux系统的ISO镜像⽂件到/tmpmount -t iso9660 /dev/cdrom /tmp3.⽤rpm命令安装VSFTP服务cd /tmp/rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm#⽤rpm命令安装软件包4.启动VSFTP服务#检查FTP服务状态chkconfig --list|grep vsftpd#启动FTP服务/etc/init.d/vsftpd start。
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配置的一般方法。
实训2使用Linux搭建FTP服务器实训报告1. 实验目的本实训的目的是通过在Linux系统上搭建FTP服务器,了解和掌握FTP协议以及服务器的基本配置和使用方法。
2. 实验环境本次实训使用的实验环境如下:- 操作系统:Linux- 软件:vsftpd3. 实验步骤3.1 安装vsftpd软件在Linux系统上,通过包管理工具安装vsftpd软件。
具体步骤如下:- 打开终端。
- 输入以下命令进行安装:sudo apt-get install vsftpd- 等待安装完成。
3.2 配置vsftpd安装完成后,需要进行一些配置才能正常使用vsftpd。
具体步骤如下:- 进入vsftpd配置文件所在的目录。
一般位于`/etc`目录下。
- 使用文本编辑器打开文件`vsftpd.conf`。
- 根据需求修改配置项,如FTP根目录、允许匿名访问等。
保存修改后关闭文件。
- 重启vsftpd服务,使配置生效。
3.3 创建FTP用户在FTP服务器上创建用户,以便其他用户可以通过FTP协议访问服务器。
具体步骤如下:- 打开终端。
- 输入以下命令创建新用户:sudo adduser ftpuser- 根据提示设置用户密码等信息。
3.4 测试FTP服务器完成以上配置后,可以进行简单的测试,确保FTP服务器可以正常使用。
具体步骤如下:- 打开FTP客户端软件。
- 输入服务器地址、FTP用户和密码进行连接。
4. 实验结果5. 实验总结注意:本文档内容仅供参考,具体配置和操作可能因不同的Linux发行版和软件版本略有不同,建议在实际操作过程中参考相关文档和官方说明。
Linux(Centos)配置vsftp使⽤账号密码(虚拟⽤户)登录ftp进⾏⽂件上传和修改安装vsftpyum install vsftpd -y安装完成之后进⼊vsftp的配置⽂件夹cd /etc/vsftpd/⽂件夹内容如下[root@VM-0-12-centos vsftpd]# lltotal 20-rw------- 1 root root 125 Oct 1400:10 ftpusers-rw------- 1 root root 361 Oct 1400:10 user_list-rw------- 1 root root 5116 Oct 1400:10 vsftpd.conf-rwxr--r-- 1 root root 338 Oct 1400:10 vsftpd_conf_migrate.sh在当前⽬录下创建⼀个⽤户名和密码的⽂件⽂件名名称为 ftp_user.txtvim /etc/vsftpd/ftp_user.txt再ftp_user.txt⽂件⾥配置⽤户和密码yvioo123456kaifa12345678其中yvioo 是ftp登录的⽤户名123456 是ftp中yvioo⽤户登录的密码kaifa 是ftp登录的⽤户名12345678 是ftp中kaifa⽤户登录的密码以此内推,可以添加多个然后保存退出wq!执⾏命令⽣成虚拟数据库db_load -T -t hash -f /etc/vsftpd/ftp_user.txt /etc/vsftpd/ftp_login.db其中/etc/vsftpd/ftp_user.txt 是上⾯存放⽤户名和密码⽂件的绝对路径/etc/vsftpd/ftp_login.db 这个是⽣成的数据库的路径数据库名称为 ftp_login.db设置⽣成的数据库的访问权限chmod 777 /etc/vsftpd/ftp_login.db编辑账号的pam验证⽂件vim /etc/pam.d/vsftpd在最上⽅增加auth sufficient pam_userdb.so db=/etc/vsftpd/ftp_loginaccount sufficient pam_userdb.so db=/etc/vsftpd/ftp_login其中db=/etc/vsftpd/ftp_login 这个就是上⼀步⽣成的虚拟数据库(⽂件名称根据⾃⼰的来),注意:这⾥不⽤加 .db 后缀如下图所⽰创建⼀个⽂件夹mkdir /home/vsftpd新建⼀个系统⽤户vsftpd⽤户登录终端设为/bin/false(即不能登录系统)useradd vsftpd -d /home/vsftpd -s /bin/false其中vsftpd 这个就是创建的⽤户的⽤户名(这个下⾯配置⽂件⾥会使⽤)/home/vsftpd 就是刚才创建的⽂件夹根据需要创建修改/etc/vsftpd/vsftpd.conf,以下设置vim /etc/vsftpd/vsftpd.conf修改配置#禁⽤匿名登⼊anonymous_enable=YES 改为 anonymous_enable=NO#监听为专⽤模式listen=NO 改为 listen=YES#将ipv6监听注释掉listen_ipv6=YES 改为 #listen_ipv6=YES在配置⽂件底部增加#对⽤户访问只限制在主⽬录不能访问其他⽬录(这个已经有了但是默认是注释的可以取消注释或者直接新增)chroot_local_user=YES#启⽤guestguest_enable=YES#使⽤虚拟账号形式(vsftpd 就是我们上⾯创建的⽤户的⽤户名)guest_username=vsftpd#虚拟账号配置⽬录(这个还没创建我们下⾯再进⾏创建,先这样写)user_config_dir=/etc/vsftpd/user_conf#对vsftpd的⽤户使⽤pam认证(这个就是我们上⾯改的pam验证⽂件的⽂件名,这个默认已经有了,所以不⽤添加,没有的话再添加)pam_service_name=vsftpd#允许本地⽤户登录(这个默认的也有了,没有的话添加上)local_enable=YES然后保存退出接着创建虚拟账号配置⽬录mkdir /etc/vsftpd/user_conf进⼊⽂件夹cd /etc/vsftpd/user_conf/创建⽂件vim /etc/vsftpd/user_config/yvioo其中yvioo 就是我们上⾯ftp_user.txt中配置的ftp的账号的⽤户名(这⾥创建的⽂件名要对应上,如果有多个ftp⽤户就创建多个ftp⽂件对应的⽤户名⽂件,然后在⾥⾯设置权限即可)然后添加write_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_root=/data/www说明如下#是否允许登陆⽤户有写权限。
linux(ubuntu)下FTP的使⽤教程1.安装、配置FTP服务组件sudo apt-get updatesudo apt-get install vsftpd修改ftp的配置⽂件 /etc/vsftpd.conflocal_enable=YESwrite_enable=YES重启FTP服务sudo service vsftpd restart2.命令⾏FTP操作在shell命令⾏下输⼊: ftp 192.168.2.10 根据提⽰输⼊正确的⽤户名和密码即可常⽤操作命令(,号不是命令内容)FTP>open [ftpservername],和指定的远程Linux FTP服务器连接FTP>user [username] [password],使⽤指定远程Linux FTP服务器的⽤户登录FTP>pwd,显⽰远程Linux FTP服务器上的当前路径FTP>ls,列出远程Linux FTP服务器上当前路径下的⽬录和⽂件FTP>dir,列出远程Linux FTP服务器上当前路径下的⽬录和⽂件(同上)FTP>mkdir [foldname],在远程Linux FTP服务器上当前路径下建⽴指定⽬录FTP>rmdir [foldname],删除远程Linux FTP服务器上当前路径下的指定⽬录FTP>cd [foldname],更改远程Linux FTP服务器上的⼯作⽬录FTP>delete [filename],删除远程Linux FTP服务器上指定的⽂件FTP>rename [filename] [newfilename],重命名远程Linux FTP服务器上指定的⽂件FTP>close,从远程Linux FTP服务器断开但保留FTP命令参数提⽰FTP>disconnect,从远程Linux FTP服务器断开但保留FTP命令参数提⽰(同上)FTP>bye,结束和远程Linux FTP服务器的连接FTP>quit,结束和远程Linux FTP服务器的连接(同上)FTP>!,直接从远程Linux FTP服务器进⼊到本地shell中FTP>exit,(接上步)从本地shell环境中返回到远程Linux FTP服务器环境下FTP>!ls,列出本地机器上当前路径下的⽬录和⽂件FTP>lcd [foldname],更改本地机器的⼯作⽬录FTP>?,显⽰ftp命令说明FTP>help,显⽰ftp命令说明(同上)PS:最好将要进⾏传输的⽂件或⽂件夹的权限设置成775 或7773.安装linux下开源FTP软件FileZilla如果是在ubuntu 或其他linux桌⾯环境下,可以不⽤FTP命令,直接安装filezilla即可sudo apt-get install filezillasudo apt-get install filezilla-locales安装完成后可在shell 直接执⾏ filezilla即可,或在ubuntu左上⾓的 Dash home 找到应⽤执⾏filezilla⾮常好⽤,输⼊Host地址、Username、Password和Port 端⼝号(⼀般默认为21) 即可连接另外⼀台有FTP服务的机器成功连接后,直接拖动需要复制的⽂件或⽂件夹即可传输⽂件。
linux下安装vsftpd服务vsftpd是目前Linux最好的FTP服务器工具之一,其中的vs就是“Very Secure”的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。
在进行安装该服务之前,必须现将linux的环境装好才行:(相关的安装及配置在我的另一个笔记里面记载,暂时传不上来,抱歉*_*)1、先安装VMware-workstation-5.5.4-44386.exe2、在安装RedHat_Linux_AS3_1.iso、2.iso、3.iso、4.iso3、最后将SecureCRT-v6.1.3,简称CRT。
使用CRT登录:[root@testtimeslinux root]# rpm -qa|grep vsftpd //查看是否已经安装了该软件vsftpd-1.2.0-4[root@testtimeslinux root]# rpm -e vsftpd-1.2.0-4 //下载已经安装的软件warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave[root@testtimeslinux root]#[root@testtimeslinux root]# rpm -qa|grep vsftpd //再次查看是否完全卸载[root@testtimeslinux root]# cd /[root@testtimeslinux /]# lsbin dev home kk lost+found mnt proc sbin test1 usrboot etc initrd lib misc opt root test tmp var[root@testtimeslinux /]# cd mnt //进入mnt/cdrom[root@testtimeslinux mnt]# lscdrom floppy[root@testtimeslinux /]# mount dev/cdrom mnt/cdrom//在根目录下进行挂载。
在Linux系统中,如果要使用硬盘、光盘、软盘或MO盘等存储设备,必须先进行挂装(Mount)。
当存储设备挂装完成之后,就可以将其作为一个目录来进行访问了。
挂装设备需要使用mount命令。
执行这一命令,至少要先确定下列三种信息:1. 要挂装(Mount)对象的文件系统类型;2. 要挂装(Mount)对象的设备名称(/dev/...);3. 要将设备挂装(Mount)到哪一目录。
mount: block device dev/cdrom is write-protected, mounting read-only[root@testtimeslinux /]# cd mnt[root@testtimeslinux mnt]# cd cdrom[root@testtimeslinux cdrom]# lsautorun README-en RedHat RELEASE-NOTES-pt_BR.htmldosutils README-es RELEASE-NOTES-de.html RELEASE-NOTES-zh_CN.htmlEULA README-fr RELEASE-NOTES-en RELEASE-NOTES-zh_TW.htmlGPL README-it RELEASE-NOTES-en.html RPM-GPG-KEYimages README-ja RELEASE-NOTES-es.html SRPMSisolinux README-ko RELEASE-NOTES-fr.html TRANS.TBLREADME README-pt_BR RELEASE-NOTES-it.htmlREADME-Accessibility README-zh_CN RELEASE-NOTES-ja.htmlREADME-de README-zh_TW RELEASE-NOTES-ko.html[root@testtimeslinux cdrom]# cd RedHat[root@testtimeslinux RedHat]# lsbase RPMS TRANS.TBL[root@testtimeslinux RedHat]# cd RPMS //进入RedHat\RPMS,选择vsftpd-1.2.0-4.i386.rpm安装包进行安装。
[root@testtimeslinux RPMS]# lsamanda-server-2.4.4p1-0.3E.i386.rpm openssl-0.9.7a-22.1.i686.rpmanaconda-product-3-1AS.noarch.rpm pxe-0.1-36.i386.rpmarptables_jf-0.0.5-0.3E.i386.rpm quagga-0.96.2-4.3E.i386.rpmbind-9.2.2-21.i386.rpm radvd-0.7.2-4.i386.rpmcaching-nameserver-7.2-7.noarch.rpm rarpd-ss981107-14.i386.rpmcomps-3as-0.20031007.i386.rpm redhat-config-bind-2.0.0-14.noarch.rpmdhcp-3.0pl2-6.14.i386.rpm redhat-config-netboot-0.1.1-19.i386.rpmfreeradius-0.9.0-2.i386.rpm redhat-release-3AS-1.i386.rpminews-2.3.5-5.i386.rpm tftp-server-0.32-4.i386.rpminn-2.3.5-5.i386.rpm TRANS.TBLkrb5-server-1.2.7-19.i386.rpm tux-3.2.14-1.i386.rpmnetdump-server-0.6.10-2.i386.rpm vsftpd-1.2.0-4.i386.rpmopenldap-servers-2.0.27-11.i386.rpm ypserv-2.8-1.i386.rpm[root@testtimeslinux RPMS]#[root@testtimeslinux RPMS]# rpm -ivh vsftpd-1.2.0-4.i386.rpm //进行安装vsftpd-1.2.0-4.i386.rpm,此操作相当于window下的双击setup文件。
warning: vsftpd-1.2.0-4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%]1:vsftpd ########################################### [100%][root@testtimeslinux RPMS]# rpm -aq|grep vsftpd //查看是否安装vsftpdvsftpd-1.2.0-4[root@testtimeslinux RPMS]# cd /[root@testtimeslinux /]# umount mnt/cdrom //退出挂载[root@testtimeslinux /]# service vsftpd start //启动vsftpd 服务为vsftpd 启动vsftpd:[ 确定][root@testtimeslinux /]# lsbin dev home kk lost+found mnt proc sbin test1 usrboot etc initrd lib misc opt root test tmp var[root@testtimeslinux /]# cd var[root@testtimeslinux var]# lsaccount crash empty gdm local log named opt run tmp ypcache db ftp lib lock mail nis preserve spool www[root@testtimeslinux var]# cd ftp[root@testtimeslinux ftp]# lspub[root@testtimeslinux ftp]# cd pub[root@testtimeslinux pub]# cd /[root@testtimeslinux /]# lsbin dev home kk lost+found mnt proc sbin test1 usrboot etc initrd lib misc opt root test tmp var[root@testtimeslinux /]# cd etc[root@testtimeslinux etc]# lsa2ps.cfg grub.conf ers resolv.confa2ps-site.cfg gshadow modules.conf rmtadjtime gshadow- modules.conf~ rndc.conf alchemist gshadow.lock motd rndc.keyaliases gtk mtab rpcaliases.db gtk-2.0 mtools.conf rpmalternatives host.conf Muttrc sambaant.conf hosts f screenrcat.deny hosts.allow named.custom scrollkeeper.conf auto.master hosts.deny nscd.conf securettyauto.misc hotplug nsswitch.conf securitybashrc httpd ntp sensors.confbg5ps.conf im_palette.pal ntp.conf servicesbg5ps.conf.zh_CN im_palette-small.pal odbc.ini sgmlbg5ps.conf.zh_CN.GB2312 im_palette-tiny.pal odbcinst.ini shadowbg5ps.conf.zh_TW imrc openldap shadow-bg5ps.conf.zh_TW.Big5 init.d opt shellsbonobo-activation initlog.conf pam.d skelcdrecord.conf inittab pam_smb.conf smartd.conf chinese inputrc pango smrshcron.d iproute2 passwd snmpcron.daily isdn passwd- soundcron.hourly issue pbm2ppa.conf sshcron.monthly pcmcia stunnelcrontab jwhois.conf pinforc sudoerscron.weekly kde pnm2ppa.conf sysconfigcsh.cshrc kderc ppp sysctl.confcsh.login krb5.conf prelink.conf syslog.confcups krb.conf printcap termcapdefault krb.realms printcap.local updatedb.confDIR_COLORS ksysguarddrc printconf.local updfstab.conf DIR_COLORS.xterm ldap.conf profile updfstab.conf.default dumpdates ld.so.cache profile.d vfontcapenscript.cfg ld.so.conf protocols vimrcesd.conf lftp.conf ptal vsftpdexports libuser.conf pwdb.conf vsftpd.ftpusersfam.conf lilo.conf.anaconda quotagrpadmins er_list fb.modes localtime quotatab warnquota.conffdprm log.d racoon wgetrcfilesystems login.defs rc X11firmware logrotate.conf rc0.d xinetd.conffonts logrotate.d rc1.d xinetd.dfoomatic lsb-release rc2.d xmlfstab ltrace.conf rc3.d yp.confgconf mail rc4.d zlogingnome-vfs-2.0 mailcap rc5.d zlogoutgnome-vfs-mime-magic mail.rc rc6.d zprofilegpm-root.conf makedev.d rc.d zshenvgre.conf man.config rc.local zshrcgroup mdadm.conf rc.sysinitgroup- mgetty+sendfax redhat-lsbgroup.lock mime.types redhat-release[root@testtimeslinux etc]# cd vsftpd[root@testtimeslinux vsftpd]# lsvsftpd.conf[root@testtimeslinux vsftpd]# vi vsftpd.conf //编辑vsftpd.conf配置文件//将文件中#anon_mkdir_write_enable=YES和anon_upload_enable=YES前面的#号去掉。