搜档网
当前位置:搜档网 › RHEL6.5下部署vsftpd实战全集

RHEL6.5下部署vsftpd实战全集

RHEL6.5下部署vsftpd实战全集
RHEL6.5下部署vsftpd实战全集

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.2

3.实验步骤:

基本安装操作

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.rpm

B.查看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=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

实现匿名用户访问,验证仅可以访问和下载,不可以上传

根据vsftpd配置文件的默认配置,当vsftpd搭建好之后什么都不做就可以被匿名用户和本地用户访问了

A.效果验证:

[root@localhost~]# service vsftpd start #启动服务

为vsftpd 启动vsftpd:[确定]

测试之前,必须把防火墙和selinux关掉

[root@localhost ~]# service iptables stop

iptables:将链设置为政策ACCEPT:filter [确定]

iptables:清除防火墙规则: [确定]

iptables:正在卸载模块: [确定]

[root@localhost ~]# setenforce 0

我们在客户机上用文件夹的方式访问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文件用于上传测试(避免重名)

上传时被拒绝,所以我们知道匿名用户是只可以下载不能够上传的。

那如果是系统本地账号的话可不可以上传呢?

[root@localhostftp]# useradd tom #新建一个tom的账户

[root@localhostftp]# passwd tom #设置tom的密码

回到客户机的cmd控制台,用tom登陆并上传tes.txt文件,上传成功。

[root@localhostftp]# ls -l /home/tom #查看上传的文件的权限为644(因为配置文件中local_umask=022)

注意:如果selunux没有关掉,用本地账户也是不可以登陆的,会报以下错误

实现匿名用户可上传、下载、修改等完全权限

我们要让匿名用户可以上传文件夹,需要修改配置文件:

anon_mkdir_write_enable=YES

注意:当我们不知道如何去配置要添加哪些或要修改哪些选项时,我们可以借助man手册来寻求帮助:

[root@localhost vsftpd]# manvsftpd.conf

在手册里面查找跟anon相关的内容,我们看到有一项是other write,他的默认值是No,如果设为yes就可以允许用户上传、创建目录并且删除、重命名等操作

接着我们到vsftpd.conf脚本中插入一行内容:anon_other_write_enable=YES 修改完毕之后匿名用户就获得了最高权限(可读写,删除,重命名)

A.修改后的脚本

B.效果验证

[root@localhostvsftpd]# service vsftpd reload #重新加载配置

关闭vsftpd: [确定]

为vsftpd 启动vsftpd:[确定]

回到客户端的cmd控制台,以ftp匿名账号登陆,并删除文件,提示失败。

回到服务器查看ftp这个目录的权限,是没有写权限的,所以也就无法删除

[root@localhostvsftpd]# chmod 777 /var/ftp #将ftp权限设为最大

回到客户机,用ftp登陆,发现直接登陆就报错了,因为我们把var/ftp这个目录权限改到最大了,这样匿名用户就可以为所欲为了,为了安全,vsftpd设置了直接就不允许登陆了。

那么如果我们想让匿名用户有最大权限应该怎么做呢?这时我们应该对ftp目录下的子目录进行操作

[root@localhostvsftpd]# chmod 755 /var/ftp #把ftp的权限改为默认的755

[root@localhostvsftpd]# cd /var/ftp

[root@localhostftp]# mkdir anon #在ftp目录下新建一个anon目录[root@localhostftp]# chmod 777 anon #修改目录权限为最大

[root@localhostftp]# cp test.txt anon #将test文件拷贝到anon目录下,用于后面的删除测试

[root@localhostanon]# ls -l #查看test文件权限为不可写就不可以删除

[root@localhostanon]# chmod 666 test.txt #将文件权限改为可写

这样,test.txt就可以被匿名用户删除了。

回到客户机的cmd控制台,用ftp登陆,切换到anon目录,删除test.txt文件,删除成功。当然匿名用户也是可以进行其他操作了这里就不一一测试了。

实现把登陆的用户禁锢在自己的家目录中

现在我们用本地账号tom登陆,默认的当前工作目录是tom自己的家目录,我们可以将他任意切换到服务器的任何目录下:

这样是非常不安全的,所以我们要让用户登陆之后仅仅只能在他的家目录这个范围活动不允许他任意切换到其他目录,我们需要修改配置文件使这行配置生效:chroot_local_user=YES

A.修改后的脚本

B.效果验证

[root@localhostanon]# service vsftpd reload #重新加载配置

关闭vsftpd:[确定]

为vsftpd 启动vsftpd:[确定]

回到客户机的cmd控制台,用tom登陆,切换到根,发现这时候的根是他自己的家目录,并不是服务器上的根目录下了,他已经被禁锢在自己的家目录中了。

实现限制某些用户的访问

我们查看vsftpd目录下的内容,发现有一个user_list文件

查看user_list文件内容,发现这个里面都是被拒绝登陆的用户,所以我们要让谁不可以登陆就把账号写进这个文件里面就可以了,这里我们测试不让tom登陆

A.修改后的脚本

B.效果验证

回到客户机的cmd控制台,用tom登陆,登陆失败。

注意:这里tom登陆失败的原因是因为我们把tom写进了user_list这个文件当中,另外也是因为配置文件中userlist_enable=YES这行设置,如果配置成userlist_deny=YES那么就是只允许user_list中的用户登陆

实现虚拟用户的访问

如果我们只是想要新建vsftpd账号而不让他作为一个系统账号的话就可以用到虚拟账号功能了

[root@localhost vsftpd]# vim vuser #新建一个叫做vuser的文件

在这个文件中基数行为用户名,偶数行为密码,我们新建两个用户lisa和jack

[root@localhost vsftpd]# db_load -T -t hash -f vuser vuser.db #将vuser 转换成数据库文件db_load是命令-T指定转换-t 指定转换类型为hash -f指定要转换的文件vuser.db为转换后的文件名

[root@localhost vsftpd]# file vuser.db #查看文件类型,可以看到vuser已经被转换成一个vsftpd能识别的hash数据库文件

[root@localhost vsftpd]# chmod 600vuser #为了安全,不想让其他用户可以看到这个文件里有哪些东西,修改权限为600

[root@localhost vsftpd]# chmod 600vuser.db

虚拟用户创建之后,要给虚拟用户映射到一个系统账号

[root@localhost vsftpd]# useradd -d/opt/vuser -s /sbin/nologin vuser #新建一个虚拟用户的映射账号vuser,指定宿主目录为opt/vuser,并指定不允许登陆系统

[root@localhost vsftpd]# vim/etc/pam.d/vsftpd.vu #为虚拟用户创建pam 认证模块命名为vsftpd.vu

在认证文件中加入以下两行认证信息:

auth required pam_userdb.so db=/etc/vsftpd/vuser

account required pam_userdb.so db=/etc/vsftpd/vuser

#这里的vuser其实是vuser.db,这里省略了db,否则会报错

之后到vsftpd.conf配置文件中插入以下三行内容:

guest_enable=YES #开启虚拟用户访问

guest_username=vuser #映射到系统账号vuser

pam_service_name=vsftpd.vu #指定pam认证模块

注意:vsftpd有一个默认的pam认证模块,需要注释掉

A.修改后的脚本

B.效果验证

[root@localhostvsftpd]# service vsftpd restart #重启服务关闭vsftpd:[确定]

为vsftpd 启动vsftpd:[确定]

回到客户机的cmd控制台,用lisa登陆并上传文件成功

[root@localhostvsftpd]# ls -l /opt/vuser #查看上传的文件的属主是vuser,说明lisa是映射到vuser这个系统账号了

接着我们把tes.txt文件改名为te.txt防止重名,以jack登陆并上传te.txt

查看jack上传的文件的属主依然是vuser

注意:如果虚拟用户都可以登陆成功但是上传时提示权限被拒绝的话,需要去vsftpd.conf文件中使这行生效anon_upload_enable=YES

实现针对不同的虚拟用户拥有不同的权限

以上实验中lisa和jack的权限是一样的,现在我们让lisa上传的文件权限为600而jack上传的文件权限为644,我们需要开启这个单独配置文件功能

打开vsftpd.conf配置文件,加入以下一行配置告诉他去vu_dir目录下找他们的单独配置文件:

user_config_dir=/etc/vsftpd/vu_dir

[root@localhost vsftpd]# mkdir vu_dir #在vsftpd目录下新建vu_dir目录[root@localhost vsftpd]# cd vu_dir

[root@localhost vu_dir]# vi jack #在vu_dir目录下为jack新建一个单独的配置文件(暂时不写任何内容保存退出)

我们用man手册查看一下anon_umask(匿名上传)这个选项,发现默认权限是600,所以前面我们看到lisa和jack上传的文件权限是600

Linux1 FTP服务器 主配置文件vsftpd.conf

Linux1 FTP服务器主配置文件vsftpd.conf vsftpd.conf可以用于控制vsftpd,以实现各种各样的功能。vsftpd缺省到/etc/vsftpd.conf处查找此文件。当然,管理员也可以通过命令行参数进行指定。对于想使用高级inetd管理的用户,例如,xinetd,则这个功能非常有用。可以使用不同的配置文件来启动基于主机、实体用户、匿名用户登录及系统安全方面的每个服务。 vsftpd.conf的格式非常简单,每行要么是注释,要么是指令。注释行以#开始,将被忽略。指令行格式如下: 选项=值 应当注意的一点是,如果在“选项”、“=”、“值”三者之间存在空格,将会报错。且针对于每项设定都有默认值(YES/NO),这可以通过配置文件来修改。1.与计算机相关的设置值 ●connect_from_port_20 用于控制在服务器端,是否使用端口20(ftp-data)进行数据连接。基于安全的考虑,有些客户端需要这样做。相反,禁用该选项可以使vsftpd以较少特权运行。默认:NO。 ●listen_port vsFTP使用的命令通道端口号,如果想要使用费默认的端口号,可在这个设置项中修改。不过,需要知道这个设置值仅适合以stand alone(独立模式)的方式启动。默认:21。 ●dirmessage_enable 如果启用,当用户首次进入一个新目录时,FTP服务器将会显示欢迎信息。默认情况下,是通过扫描目录下的message文件获取的,当然也可以通过message_file 选项设定。默认:NO。 ●message_file 当dirmessage_enable=YES时,可设置这个项目来让vsFTPd寻找该文件,从而显示信息。默认:YES。 ●listen 若设置为YES,表示vsFTPd是以stand alone(独立模式)的方式启动。默认:YES。 ●pasv_enable 如果数据传输时,不允许使用PASV模式,则将此选项设为NO。默认:YES。 ●use_localtime 是否使用本地时间?vsFTPd默认使用GMI时间(格林威治)。默认:YES。 ●write_enable

Linux系统vsftpd安装及设置步骤

1.安装 1. 在要创建FTP的服务器上输入命令: ps -ef |grep vsftpd 查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明已经安装,否则没有。 2. 然后再执行:yum install vsftpd -y 进行在线安装vsftpd 服务。 如上图看到Complete! ,表示安装完成。 3. 安装成功以后需要把匿名登陆的这个功能关闭了。 使用命令:vim /etc/vsftpd/vsftpd.conf 然后在里面找到: anonymous_enable=YES,改成anonymous_enable=NO 4. 然后再查看一下vsftpd这个服务有没有启动。 使用命令:chkconfig --list 如果如下图所示表示没有启动。

使用以下命令启动:chkconfig --level 35 vsftpd on 5. 用客户端连接ftp后提示500 OOPS:cannot change directory: /home/xxx 问题很奇怪,百度了一下,发现可能是由于启用了SELinux引起的问题 输入命令:vi /etc/sysconfig/selinux 将SELINUX=enforcing 修改为SELINUX=disabled,关闭SELINUX后, 重新启动机器,问题解决。 6. 再接下来就是创建用户名。创建用户名:useradd jiuyang123 useradd -d /home/... -s /sbin/nologin myusername# /home/... 替换为你想让该用户访问到的路径# myusername 替换为你自己取的用户名 #/sbin/nologin意思是用户不允许登录(通过ftp可以连接) 7. 再然后就是创建密码。命令:passwd jiuyang123 再输入两次密码就可以了。 8.更改目录的所有者 chmod -R 755 /home/... 1.登录FTP 1. 关闭防火墙:/etc/init.d/iptables stop 1.重启服务:setsebool ftpd_disable_trans 1 # setsebool -P ftpd_disable_trans 1 #关闭SELINUX对ftpd的保护 /sbin/service vsftpd restart 注意上一阶段第5步,将SELINUX中关于ftp服务传输控制的默认设置修改后再将vsftp服务重新启动一下

vsftpd服务器设置

1.vsftpd服务软件包 vsftpd-2.0.5-10.el5.i386.rpm:vsftpd主程序包 2.vsftpd相关文档 /etc/vsftpd/vsftpd.conf:vsftpd的核心配置文件 /etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP服务器 /etc/vsftpd/user_list:指定允许使用vsftpd的用户列表文件 /etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd操作的一些变量和设置脚本/var/ftp/:默认情况下匿名用户的根目录 FTP常规配置应用案例1: 需求: 公司技术部准备搭建一台功能简单的FTP服务器,允许所有员工上传和下载文件,并允许创建用户自己的目录。 分析: 允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能开启,最后anon_mkdir_write_enable字段可以控制是否允许匿名用户创建目录。 解决方案: (1)配置vsftpd.conf主配置文件(服务器配置支持上传) 允许匿名用户访问 anonymous_enable=YES

允许匿名用户上传文件并可以创建目录anon_upload_enable=YES anon_mkdir_write_enable=YES

保存退出 (2)上传目录ftp用户的写入权限 大家注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!切记!! 下面我们来一步一步的实现,先修改目录权限,创建一个公司上传用的目录,叫companydata,分配ftp用户所有,目录权限是755 OK了 (3)修改selinux(selinux支持上传)这个也是很多教程没有的一步 使用getsebool -a | grep ftp命令可以找到ftp的bool值,然后我们来改getsebool -a 是显示所有的selinux的布尔值,通过管道,查找与ftp相关的

RHEL6.5下部署vsftpd实战全集

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.2 3.实验步骤: 基本安装操作 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.rpm B.查看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=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES

第6季 Vsftpd服务全攻略之高级配置

第6季 Vsftpd服务全攻略之高级配置 企业环境 公司为了宣传最新的产品信息,计划搭建FTP服务器,为客户提供相关文档的下载。对所有权互联网开放共享目录,允许下载产品信息,禁止上传。公司的合作单位能够使用FTP服务器进行上传和下载,但不可以删除数据。并且保证服务器的稳定性,进行适当优化设置哈~ 需求分析 根据企业的需求,对于不同用户进行不同的权限限制,FTP服务器需要实现用户的审核。需考虑到服务器的安全性,所以关闭实体用户登录,使用虚拟帐号验证机制,并对不同虚拟帐号设置不同的权限。为了保证服务器的性能,还需要根据用户的等级,限制客户端的连接数及下载速度。 解决方案 1、创建用户数据库 (1)创建用户文本文件 先建立用户文本文件vsftpd_virtualuser.txt,添加两个虚拟帐号,公共帐号ftp及客户帐号vip touch /etc/vsftpd/vsftpd_virtualuser.txt vim /etc/vsftpd/vsftpd_virtualuser.txt 格式: 虚拟帐号1 密码 虚拟帐号2 密码 保存退出哈~ (2)生成数据库

保存虚拟帐号和密码的文本文件无法被系统帐号直接调用哈~我们需要使用 db_load命令生成db数据库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_virtualuser.txt /etc/vsftpd/vsftpd_virtualuser.db 注意: rhel5默认只安装db4-4.3.29-9.fc6.i386.rpm和 db4-devel-4.3.29-9.fc6.i386.rpm, 要使用db_load需要将db4-utils-4.3.29-9.fc6.i386.rpm包安装上哈~否则会出现下图的错误:找不到db_load命令。 (3)修改数据库文件访问权限 数据库文件中保存着虚拟帐号的密码信息,为了防止非法用户盗取哈,我们可以修改该文件的访问权限。生成的认证文件的权限应设置为只对root用户可读可写,即600 chmod 600 /etc/vsftpd/vsftpd_virtualuser 2、配置PAM文件 为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块.PAM(Plugable Authentication Module)为可插拔认证模块,不必重新

Ubuntu下vsftpd的配置与使用

Ubuntu下安装FTP服务(以VSFTPD为例)(一)安装与配置 (1)安装vsftpd $sudo apt-get install vsftpd 这里会提示无法创建/home/ftp目录,手动创建一个 $sudo mkdir /home/ftp 如果提示已创建目录就不用理它了 (2)编辑配置文件/etc/vsftpd.conf $sudo gedit /etc/vsftpd.conf 也可以使用vi 主要配置: 将local_enable=YES前的#去掉,使其可用,表示允许本地用户登录; 将anonymous_enable=NO,即不允许匿名登录ftp; (3)启动vsftpd $sudo /etc/init.d/vsftpd start (4)添加用户lzftp $sudo useradd -m -d /home/lzftp -G root lzftp 编辑lzftp的密码: $sudo passwd lzftp 重启vsftpd服务 $sudo /etc/init.d/vsftpd restart (二)使用ftp服务 (1)ftp的文件存放 在/home/lzftp下放入文件Hello.txt以供下载 (2)ftp服务的使用 $ ftp $ ftp> open 192.168.48.10 提示输入用户名和密码,我这里用户名就是lzftp (3)使用ftp查看文件 (Linux下)$ ftp> ls –l (Windows下)$ftp> dir 注意:可以使用help命令查看命令,删除前一个字符使用delete键

(4)使用ftp服务下载文件 $ ftp> get Hello.txt /home/stander/Hello.txt 注意:stander为当前的用户 (三)具体配置参数详解 vsftpd 作为一个主打安全的FTP服务器,有很多的选项设置。下面介绍了vsftpd的配置文件列表,而所有的配置都是基于vsftpd.conf这个配置文件的。本文将提供完整的vsftpd.conf 的中文说明。学习本文的内容将有助于你初步了解vsftpd的配置文件,但针对具体情况还需要制定具体的配置方法。 Vsftpd的配置文件: /etc/vsftpd/vsftpd.conf主配置文件 /usr/sbin/vsftpd Vsftpd的主程序 /etc/rc.d/init.d/vsftpd启动脚本 /etc/pam.d/vsftpd PAM认证文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止访问的用户来自/etc/vsftpd/ftpusers文件中的用户) /etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表文件。记录不允许访问FTP服务器的用户名单,管理员可以把一些对系统安全有威胁的用户账号记录在此文件中,以免用户从FTP登录后获得大于上传下载操作的权利,而对系统造成损坏。(注意:linux-4 中此文件在/etc/ 目录下) /etc/vsftpd/user_list 禁止或允许使用vsftpd的用户列表文件。这个文件中指定的用户缺省情况(即在/etc/vsftpd/vsftpd.conf中设置userlist_deny=YES)下也不能访问FTP服务器,在设置了userlist_deny=NO时,仅允许user_list中指定的用户访问FTP服务器。(注意:linux-4 中此文件在/etc/ 目录下) /var/ftp 匿名用户主目录;本地用户主目录为:/home/用户主目录,即登录后进入自己家目录 /var/ftp/pub 匿名用户的下载目录,此目录需赋权根chmod 1777 pub(1为特殊权限,使上载后无法删除) /etc/logrotate.d/vsftpd.log Vsftpd的日志文件 vsftpd的主配置文件/etc/vsftpd/vsftpd.conf说明(修改前先备份): # Example config file /etc/vsftpd/vsftpd.conf # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES(是否允许匿名登录FTP服务器,默认设置为YES允许,即用户可使用用户名ftp或anonymous进行ftp登录,口令为用户的E-mail地址。如不允许匿名访问去掉前面#并设置为NO ) # Uncomment this to allow local users to log in. local_enable=YES(是否允许本地用户 ( 即 linux 系统中的用户帐号) 登录FTP服务器,默认

linux ftp 服务器配置

Linux ftp 服务器配置 vsftpd是UNIX类操作系统上运行的服务器名称,它的名字代表“very secure FTP daemon”,安全性是其设计与开发的一个重要目标。它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征: ? 非常高的安全性需求 ? 带宽限制 ? 良好的可伸缩性 ? 创建虚拟用户的可能性 ? 分配虚拟IP地址的可能性 一、vsftpd的启动 #service vsftpd start 如果允许用户匿名访问,需创建用户ftp和目录/var/ftp # mkdir /var/ftp # useradd –d /var/ftp ftp 二、vsftpd的配置 Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我们可根据实际数要对如下信息进行配置: 1. 连接选项 ☆监听地址和控制端口 (1) listen_address=ip address 定义主机在哪个IP 地址上监听FTP请求。即在哪个IP地址上提供FTP服务。 (2) listen_port=port_value 指定FTP服务器监听的端口号。默认值为21。 2. 性能与负载控制 ☆超时选项 (1) idle_session_timeout= 空闲用户会话的超时时间,若是超过这段时间没有数据的传送或是指令的输入,则会被迫断线。默认值是300s (2) accept_timeout=numerical value 接受建立联机的超时设定。默认值为60s ☆负载选项

(1) max_clients= numerical value 定义FTP服务器最大的兵法连接数。当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。 (2) max_per_ip= numerical value 定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将会影响到网际快车、迅雷之类的多线程下载软件。默认值为0,表示不限制。 (3) anon_max_rate=value 设定匿名用户的最大数据传输速度,以B/s为单位。默认无。 (4) local_max_rate=value 设定用户的最大数据传输速度。以B/s为单位。默认无。此选项对所有的用户都生效。 3. 用户选项 vsftpd的用户分为3类:匿名用户、本地用户(local user)及虚拟用户(guest) ☆匿名用户 (1) anonymous_enable=YES|NO 控制是否允许匿名用户登录 (2) ftp_username= 匿名用户使用的系统用户名。默认情况下,值为ftp (3) no_anon_password= YES|NO 控制匿名用户登录时是否需要密码。 (4) anon_root= 设定匿名用户的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/ (5) anon_world_readable_only= YES|NO 控制是否只允许匿名用户下载可阅读的文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。 (6) anon_upload_enable= YES|NO 控制是否允许匿名用户上传文件。除了这个参数外,匿名用户要能上传文件,还需要两个条件,write_enable参数为YES;在文件系统上,FTP匿名用户对某个目录有写权限。 (7) anon_mkdir_wirte_enable= YES|NO 控制是否允许匿名用户创建新目录。在文件系统上,FTP匿名用户必须对新目录的上层目录拥有写权限。

vsftpd配置文件详解

vsftpd配置文件详解 1.默认配置: 1>允许匿名用户和本地用户登陆。 anonymous_enable=YES local_enable=YES 2>匿名用户使用的登陆名为ftp或anonymous,口令为空;匿名用户不能离开匿名用户家目录/var/ftp,且只能下载不能上传。 3>本地用户的登录名为本地用户名,口令为此本地用户的口令;本地用户可以在自己家目录中进行读写操作;本地用户可以离开自家目录切换至有权限访问的其他目录,并在权限允许的情况下进行上传/下载。 write_enable=YES 4>写在文件/etc/ers中的本地用户禁止登陆。 2.配置文件格式: 的内容非常单纯,每一行即为一项设定。若是空白行或是开头为#的一行,将会被忽略。内容的格式只有一种,如下所示: option=value 要注意的是,等号两边不能加空白。 3.匿名用户(anonymous)设置 anonymous_enable=YES/NO(YES) 控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。write_enable=YES/NO(YES) 是否允许登陆用户有写权限。属于全局设置,默认值为YES。 no_anon_password=YES/NO(NO) 若是启动这项功能,则使用匿名登入时,不会询问密码。默认值为NO。 ftp_username=ftp 定义匿名登入的使用者名称。默认值为ftp。 anon_root=/var/ftp 使用匿名登入时,所登入的目录。默认值为/var/ftp。注意ftp目录不能是777的权限属性,即匿名用户的家目录不能有777的权限。 anon_upload_enable=YES/NO(NO)

VSFTP搭建 配置文件详解 实例

关于VSFTP vsftpd是目前Linux最好的FTP服务器工具之一,其中的vs就是“Very Secure”的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。 它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征: 非常高的安全性需求: 带宽限制 良好的可伸缩性 创建虚拟用户的可能性 分配虚拟IP地址的可能性: 一、安装vsftpd服务 在进行安装该服务之前,必须现将linux的环境装好才行: [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 /]# cd /mnt [root@testtimeslinux /]# mkdir cdrom [root@testtimeslinux /]# mount /dev/cdrom /mnt/cdrom//在根目录下进行挂载 mount: block device dev/cdrom is write-protected, mounting read-only 在Linux系统中,如果要使用硬盘、光盘、软盘或MO盘等存储设备,必须先进行挂装(Mount)。当存储设备挂装完成之后,就可以将其作为一个目录来进行访问了。挂装设备需要使用mount命令。执行这一命令,至少要先确定下列三种信息: 1. 要挂装(Mount)对象的文件系统类型; 2. 要挂装(Mount)对象的设备名称(/dev/...); 3. 要将设备挂装(Mount)到哪一目录。 [root@testtimeslinux /]# cd /mnt/cdrom/package [root@testti meslinux…]# rpm -ivh vsftpd-2.2.2-6.el6_0.1.i686.rpm //进行安装vsftpd-2.2.2-6.el6_0.1.i686.rpm,此操作相当于window下的双击setup文件。信息如下: warning: vsftpd-2.2.2-6.el6_0.1.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:vsftpd ########################################### [100%] [root@testtimeslinux RPMS]# rpm -aq|grep vsftpd //查看是否安装vsftpd vsftpd-2.2.2-6.el6_0.1.i686 [root@testtimeslinux RPMS]# cd / [root@testtimeslinux /]# umount mnt/cdrom//退出挂载 [root@testtimeslinux /]# service vsftpd start//启动vsftpd 服务 为vsftpd 启动vsftpd:[ 确定]

嵌入式FTP服务器(vsftpd)移植手册

嵌入式FTP服务器(vsftpd)移植手册 FTP软件版本: vsftpd-2.1.2 交叉编译器版本: arm-linux-gcc 4.1.2 操作系统平台: Linux -- Red Hat 9.0 开发板平台: Arm -- TX2440A vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。它还可以移植到嵌入式Linux中,我们可以把开发板当作一个FTP服务器。 一> 编译vsftpd程序 1.获得源码包:vsftpd- 2.1.2.tar.gz(位置:光盘资料/源码包/其他软件源码) 2.解压,进入源码目录: #tar xzvf vsftpd-2.1.2.tar.gz #cd vsftpd-2.1.2 3.修改Makefile,指定交叉编译器: CC = arm-linux-gcc 4.#make 编译时会出现错误,跟libcap.so有关 修改vsf_findlibs.sh: 45-53行注释掉: # Look for libcap (capabilities) #if locate_library /lib/libcap.so.1; then # echo "/lib/libcap.so.1"; #elif locate_library /lib/libcap.so.2; then # echo "/lib/libcap.so.2"; #else # locate_library /usr/lib/libcap.so && echo "-lcap"; # locate_library /lib/libcap.so && echo "-lcap";

Linux下vsftp配置笔记!!!

这些咚咚只是我在看书时记录下来的一些简单的配置命令和说明,有些地方也许写的不是很详细,大家可以在参考其他资料来学习! 1.vsftpd 服务软件包 vsftpd-2.0.5-10.el5.i386.rpm:vsftpd 主程序包 2.vsftpd 相关文档 /etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件 /etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP 服务器 /etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件 /etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd 操作的一些变量和设置脚本/var/ftp/:默认情况下匿名用户的根目录 (1)配置vsftpd.conf 主配置文件(服务器配置支持上传) 允许匿名用户访问 anonymous_enable=YES 允许匿名用户上传文件并可以创建目录 anon_upload_enable=YES anon_mkdir_write_enable=YES 大家注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!切记!! 2FTP 常规配置应用案例: 需求: 公司内部现在有一台FTP和WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等等哈~公司现有两个部门负责维护任务,他们分别适用team1和team2帐号进行管理。先要求仅允许team1和team2 帐号登录FTP 服务器,但不能登录本地系统,并将这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。 分析: 将FTP和WEB服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护,为了增强安全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。其次使用chroot 功能将team1和team2 锁定在/var/www/html目录下。如果需要删除文件则还需要注意本地权限~ 解决方案: (1)建立维护网站内容的ftp 帐号team1 和team2 并禁止本地登录,然后设置其密码useradd -s /sbin/nologin 用户名 (2)配置vsftpd.conf 主配置文件并作相应修改 vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO:禁止匿名用户登录

linux下FTP服务器安装配置(VSftp)

环境: RedHat AS4 说明: 如果不做说明,一般安装命令均使用ROOT权限,用 # 表示 特别说明:无 以下文章介绍Liunx 环境下vsftpd的三种实现方法 一、前言 Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的 FTP服务器,目前已经被许多大型站点所采用 Vsftpd的实现有三种方式 1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问 2、本地用户形式:以/etc/passwd中的用户名为认证方式 3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服 务器中。相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器 的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增 强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密 码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。 对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对 下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说, 虚拟用户是一种极好的解决方案。

默认情况下vsftp上传之后文件的权限是600,目录权限是700 想要修改上传之后文件的权限,有两种情况 如果使用vsftp的是本地用户 则要修改配置文件中的 local_umask的值 如果使用vsftp的是虚拟用户 则要修改配置文件中的 anon_umask的值 二、vsftp配置大全-三种方式的实现 1、匿名用户形式: 任务实现匿名用户上传,下载,删除,重命名,新建目录,删除目录,重命名目录; 第一步:在/var/ftp/下,新建一个目录share; chmod –R 777 /var/ftp/share/ chown –R nobody:nobody /var/ftp/share/ 第二步:更改/etc/vsftpd/vsftpd.conf anonymous_enable=YES local_enable=YES

超详细linux vsftpd配置大全文档

FTP服务的配置 ftp服务器的软件——vsftpd,其全称是“Very Secure FTP Daemon”。Vsftpd的配置文件在/etc/vsftpd/目录下 1 ftpusers PAM模块 /etc/pam.d/vsftpd 所指定的那个无法登录的用户配置文件。 2 user_list 默认的情况下,写在这个文件里帐号都不允许登录vsftpd,它能否生效与vsftpd.conf中的参数userlist_enable 、userlist_deny有关。 本地用户管理: 1)selinux布尔值ftp_home_dir 改为on, setsebool -P ftp_home_dir on 2)配置文件vsftpd.conf中的local_enable=YES,即默认设置 此时,这些实体用户能可以离开他们默认的目录即/home/~,如果需要将实体用户限制在他们的默认目录下,不允许他们到其他目录需要进行一下设置: Chroot_local_user=NO,(默认此行被注释,即不启动),修改这行下面的参数 Chroot_list_enable=YES和chroot_list_file=/etc/vsftpd/chroot_list,然后 在/etc/vsftpd/目录下创建chroot_list文件,将需要限制离开默认目录的实体用户的名字写进去。 修改user_list_enable=YES user_deny=YES,则可将不允许登录的用户写入/vsftpd目录下的user_list。 实体用户能上传、下载、删除默认目录下的文件。 修改默认发布目录 1)建立发布目录。mkdir -p /share/doc 2)修改发布目录权限、属主和selinux安全上下文。

Linux下如何安装vsftpd服务器

Linux下如何安装vsftpd服务器 导读:vsftpd服务器最大的特点就是够安全,可在Linux系统上运行,是ftp 服务器软件,下面小编就给大家介绍下如何在Linux下安装vsftpd服务器。 我们所用的ftp服务器程序是vsftpd,算是Linux下最受欢迎的一个开源FTP 服务器了。 安装vsftpd服务器程序 Linux传统安装软件的方法是下载tar.gz安装包,或者RPM安装包,经过解压之后进行编译,或者用RPM -i命令安装。过程比较繁琐,我们用yum命令来在线安装,这样可以自动选择最新的程序版本,非常方便。 输入yum install vsftpd 最后按y确认安装。当出现“Complete!”时意味着安装完成。 接着输入chkconfig vsftpd on service vsftpd start 将vsftpd设置为开机启动,并启动vsftpd服务。 修改vsftpd配置文件 vsftpd的配置文件默认位置在:/etc/vsftpd/vsftpd.conf,通常情况下需要先备份一份原始的配置文件,然后再编辑,具体步骤如下: 输入mv vsftpd.conf vsftpd.conf-old 将vsftpd.conf文件改名为vsftpd.conf-old 备份,输入vi /etc/vsftpd/vsftpd.conf 新建并编辑vsftpd.conf文件。 接上打开新建vsftpd.conf文件,按照如下配置写入: anonymous_enable=NO//禁止匿名用户登录,通常我们web服务器上的ftp 都不允许匿名登录

local_enable=NO//禁止(或允许)本地用户登录 write_enable=YES//赋予可写入权限 chroot_local_user=YES//锁定用户目录,ftp用户登录ftp只能在自己的目录下操作 anon_upload_enable=NO anon_mkdir_write_enable=NO//禁止匿名用户的上传、新建目录权限 dirmessage_enable=YES//允许ftp用户列出文件目录 xferlog_enable=YES//写入日志 connect_from_port_20=YES listen=YES//使用端口20,通常这几项是默认的 pam_service_name=vsftpdpamconf userlist_enable=YES tcp_wrappers=YES//比较重要,指定了pam验证的配置文件 guest_enable=YES//开启虚拟用户 guest_username=apache//指定虚拟用户使用本地用户apache的权限,这项特别重要,web服务器上面的ftp虚拟用户一定要设置成apache权限,否则ftp 上传的文件不能被正常访问,也无法修改网站生成的文件。 user_config_dir=/etc/vsftpd/vuser_conf//虚拟用户的配置文件存放位置 virtual_use_local_privs=YES//虚拟用户使用本地用户权限,这项要有,否则ftp 用户无法更改文件权限 然后保存并退出vi编辑器,执行:service vsftpd restart ,重启vsftpd服务测试配置文件书写是否正确。 添加vsftpd虚拟账户: 我们要进入目录/etc/vsftpd 中建立虚拟用户db库: 输入vi vuservsftpd.txt 新建并编辑文件vuservsftpd.txt,写入你要建立的虚拟用户和密码,单行为用户名双行为密码,注意此不能有空格,如:vuser1 password1 vuser2 password2 建立完成后保存退出,然后通过db命令来生成vsftpd验证需要使用的虚拟用户库文件: db -T -t hash -f vuservsftpd.txt vsftpdpamconf.db//注意db文件名要与vsftpd.conf中设置的pam认证名相同 为了安全可以删掉刚刚新建的vuservsftpd.txt,下次需要添加用户名的时候再新建即可,还可以将vsftpdpamconf.db文件权限设置为644。 添加vsftpd虚拟账户配置文件: 虚拟账户没有对应的配置文件不会生效,1步里面我们在vsftpd.conf文件中确定了虚拟账户的配置文件目录为:/etc/vsftpd/vuser_conf,下面我们进入这个目录工作: 配置文件的命名必须是与虚拟账户名相同,所以我们新建了两个文件:vuser1、vuser2,并根据需要写入如下配置信息: local_root=/var/www/html/demo//设定虚拟用户的更目录,因为我们需要实现每一个网站一个ftp帐号管理,所以他的根目录就是我们需要管理的网站虚拟

suse系统vsftpd虚拟用户配置手册

Suse linux 11建立Vsftpd虚拟用户 我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。 匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。 本地用户登录:使用系统用户登录,在/etc/passwd中。 虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。 FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。 本文实验的Linux系统是SuseLinux 一、本地数据文件方式 1. 添加虚拟用户口令文件 [root@SuseLinux /]#mkdir /etc/vsftpd [root@SuseLinux /]#vi /etc/vsftpd/vftpuser.txt 添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。 ipms IPms!23$ xdrdownload Xdrd!23$

2. 生成虚拟用户口令认证文件 将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。 首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。 [root@SuseLinux /]#rpm –qa |grep db4-utils [root@SuseLinux /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm 下面使用db_load命令生成虚拟用户口令认证文件。 [root@SuseLinux /]#db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db 3. 编辑vsftpd的PAM认证文件 在/etc/pam.d目录下, [root@SuseLinux /]#cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_20160303bak [root@SuseLinux /]#vi /etc/pam.d/vsftpd 将里面其他的都注释掉,添加下面这两行(注意系统是32位还是64位的):auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser 4. 建立本地映射用户并设置宿主目录权限 所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。[root@SuseLinux /]#useradd –d /rawdata –s /sbin/nologin vftpuser [root@SuseLinux /]#chmod 700 /rawdata [root@SuseLinux /]#chown –R vftpuser:users/rawdata [root@SuseLinux /]#mkdir/rawdata/xdr

linux下配置vsftp(初级笔记)

linux下配置vsftp(初级笔记) 因为要往linux上传东西,所以弄了一下vsftp,上网找了很多的教程,但感觉好多地方没有写到。根据我自己的配置经验来写一下。高级的应用因为我不太会用到,暂时我就不写了,等有时间有需要的时候我再补充。 环境是vm5下的redhat linux as3安装的时候我就把vsftp安装好了。 配置文件是/etc/vsftpd/vsftpd.conf按如下编辑此文件,编辑文件当然用vi了 注意以下配置中的Anonymous_enable=yes的第一个字母有的版本里面是小写,就要改正过来 1)实现匿名用户的上传下载文件 程序代码: Anonymous_enable=yes匿名登陆 Connect_form_port_20=yes启用FTP数据端口的数据连接 Pam_service_name=vsftpd验证方式 Listen=yes独立的VSFTPD服务器 这样你就可以实现匿名登陆ftp了,但还不能上传文件 程序代码: Anon_upload_enable=yes开放上传权限 Anon_mkdir_write_enable=yes可创建目录的同时可以在此目录中上传文件 Write_enable=yes开放本地用户写的权限 Anon_other_write_enable=yes匿名帐号可以有删除的权限 加上上面的这段,你就可以实现匿名ftp的上传下载文件了 然后你保存文件,用service vsftpd start来启动vsftp的服务,然后就可以用ftp了 注意:确定你的防火墙iptables上打开21端口,不然在登陆ftp的时候会提示socket错误,拒绝连接。还有就是当你再次编辑vsftp.conf后用service vsftpd restart重起的时候总是提示你不能关闭vsftp服务,这时候你用service vsftpd status察看一下他的状态,如果提示你vsftpd 被locked那可能是因为你的vsftpd.conf中配置的有错误,你要重新编辑他,直到能正常重起他为止,一次配置不对,多配置几次就好了 2)实现本地用户上传下载 程序代码: 新建一个用户 adduser用户名增加一个用户

相关主题