Linux操作系统下配置vsftpd的匿名访问
- 格式:pptx
- 大小:810.04 KB
- 文档页数:11
Linux vsftpd匿名用户开放上传,写入,创建,删除权限
安装vsftpd软件包
编辑配置文件,格式要注意,等于号的前后不能有空格。
一行的结尾也不要有空格。
anonymous_enable=YES 表示开启匿名用户访问
anon_umask=022 设置匿名用户所上传文件的默认权限掩码值
anon_root=/var/ftp 设置匿名用户的FTP根目录,也称为宿主目录。
匿名登录
所在的文件目录,注意ftp后面不要有“/”,否则出错。
anon_upload_enable=yes 是否允许匿名用户上传文件
anon_mkdir_write_enable=yes是否允许匿名用户具有创建目录的写入权限
查看目录属性
将目录pub的属性的属主改为ftp(匿名用户映射的用户),千万不要将ftp这个目录属主改为ftp,否则,用户登录时会出错。
这是vaftpd的一个安全机制。
匿名用户的宿主目录不能更改权限,但是宿主下面的子目录可以更改权限。
再次查看,发现文件的属主为ftp,就是为了得到写权限。
当然,这里也可以改其他用户的写权限,不过这样不是很好,建议改属主。
重启服务
打开我的电脑,在地址栏输入ftp://192.168.100.254默认就是匿名登录
往里面上传文件,发现出错。
因为宿主目录没有写权限
打开pub,这是宿主目录的子目录,拥有写权限,因此可以上传文件
也可以创建文件
删除文件时,发现出错
更改配置文件,允许匿名用户有其他写入权限,如改名,覆盖,删除。
覆盖相当于删除同名文件。
重启服务
选择删除
新建文件夹没有了。
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。
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发行版和软件版本略有不同,建议在实际操作过程中参考相关文档和官方说明。
Linux1 FTP服务器实现匿名用户访问虽然你可以同时开启本地用户与匿名用户,不过建议你的计算机还是依据需求,针对单一的身份进行设置。
下面我们将以允许匿名用户访问,且不开放本地用户为目的对vsftpd进行配置(一般来说,这种设置是给类似大专院校的FTP服务器使用的)。
下面列出一些希望实现的功能:●使用本地时间,而非GMT时间。
●提供欢迎信息,说明可提供下载的信息。
●仅开放anonymous登录,且不需要输入密码。
●数据连接过程只要超过60秒没有回应,就强制客户端断线。
●只要anonymous超过10分钟没有操作,则强制断线。
同样要实现上述功能,最主要的操作是修改vsFTPd.conf配置文件。
注意,如果你的vsFTPd.conf没有相关设置值,则需要自行补充,且在进行配置后,必须重新启动服务配置才能生效。
下面开始一步步按顺序进行设置:1.与本地用户相关的设置由于仅开放anonymous登录,所以首先需要在配置文件的第15行将“local_enable=YES”改为“local_enable=NO”将本地用户访问取消,如图8-23所示。
图8-23 取消本地用户访问2.与匿名用户相关的设置若仅开放匿名用户登录,且不需要输入密码即可登录,在出现数据连接过程中超过60秒没有回应及超过10分钟没有操作情况时,又强制其断线这些需求,则需要在配置文件中进行如图8-24所示设置。
图8-24 与匿名用户相关设置3.与计算机相关的设置在配置文件中,配置与计算机相关的设置值,如图8-25所示。
进行以上几步操作后,还需要按【ESC】键退出插入模式,接着按“:”并输入wq”按【回车】键保存配置。
图8-25 与计算机相关的设置4.建立欢迎信息在此需求中,将欢迎信息设置在/etc/vsFTPd/anon_welcome.txt 文件中,只需要在终端下输入“vi /etc/vsftpd/anon_welcome.txt ”命令,编辑这个文件(内容为this is anonymous!)。
Linux的FTP的三种登录方式:我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。
匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
本地用户登录:使用系统用户登录,在/etc/passwd中。
虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。
FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。
本文实验的Linux系统是CentOS 5 update2一、本地数据文件方式1.添加虚拟用户口令文件[root@CentOS5 /]#vi /etc/vsftpd/vftpuser.txt添加虚拟用户名和密码,一行用户名,一行密码,以此类推。
奇数行为用户名,偶数行为密码。
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。
首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。
[root@CentOS5 /]#rpm –qa |grep db4-utils[root@CentOS5 /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm下面使用db_load命令生成虚拟用户口令认证文件。
[root@CentOS5 /]#db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db3.编辑vsftpd的P AM认证文件在/etc/pam.d目录下,[root@CentOS5 /]#vi /etc/pam.d/vsftpd将里面其他的都注释掉,添加下面这两行:auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuseraccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser4.建立本地映射用户并设置宿主目录权限所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
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文件用于上传测试(避免重名)上传时被拒绝,所以我们知道匿名用户是只可以下载不能够上传的。