搜档网
当前位置:搜档网 › OpenBSD 下架设vsftpd

OpenBSD 下架设vsftpd

OpenBSD 下架设vsftpd
OpenBSD 下架设vsftpd

OpenBSD 下架设vsftpd

最近玩OpenBSD,由于自己机器不在,只好在别人的机器上用虚拟机来过过瘾了。

相比之前的NetBSD,OpenBSD给我的最大感受就是简单,配置Web服务,ftp服务等原来觉得高深莫测的东西在OpenBSD下都觉得不过如此,简单至极:就是配置就是看看配置文件,运行和停止服务是敲个命令就搞定的事(也可能是内功在不知不觉中提高了,以前觉得不可理解的东西现在都慢慢习惯了)。

废话少说,开始正题。

环境:

系统环境:xp+vmware+OpenBSD

网络环境:虚拟机vmware通过桥接方式连接路由器,路由器使用使用网通动态ip连接外网。目的:由于外网无法直接访问内网ip,因此需要进行端口映射,让外网可以直接访问虚拟机;又由于外网使用的是动态ip,每次重启后的ip地址都不一样,因此需要使用动态dns解析来解决这个问题。最后希望达到在外网通过域名即可访问内网的虚拟机里的OpenBSD上的ftp服务。

1。安装vsftpd

OpenBSD的网络配置在安装时已经搞定,设为192.168.1.103,通过putty来连接操作机器。

关于vsftpd就不做介绍了,百度一下就知道了。我是通过package的形式安装的,步骤略述如下:

(1)设置PKG_PATH

#export PKG_PATH=ftp://https://www.sodocs.net/doc/6117798418.html,/pub/OpenBSD/4.4/packages/i386/

或者把该环境变量写到用户shell的配置文件中,这样以后启动shell时就会自动设置该环境变量,否则每次使用时都需要手动设置:

#vi .profile

在里面添加如下代码:

PKG_PATH=ftp://https://www.sodocs.net/doc/6117798418.html,/pub/OpenBSD/4.4/packages/i386/

export PKG_PATH

保存退出,重启shell。

查看设置是否有效:

#echo $PKG_PATH

如果返回

ftp://https://www.sodocs.net/doc/6117798418.html,/pub/OpenBSD/4.4/packages/i386/

就说明设置成功了。

(2)安装vsftpd

#pkg_add -v vsftpd-2.0.5.tgz

等待安装完成即可。

2。配置vsftpd

配置参照:https://www.sodocs.net/doc/6117798418.html,/viewthread.php?tid=561183&extra=& page=1

vsftpd有两种启动方式,我选择最简单的:安装完成后在shell下运行vsftpd命令就可启动v sftpd服务。

#vsftpd

启动这个服务需要root权限,如果提示权限不够的话:

在启动即可。

vsftp的配置文件是/etc/vsftpd.conf,用vi打开即可查看详细的配置情况,每一项都有具体的说明。保持默认配置不做改动,在浏览器中输入ftp://192.168.1.103即可登入。但奇怪的是默认配置明明允许匿名登陆但实际登陆时却需要用户名和密码,以本地用户(local user,即系统用户)登陆,发现直接打开用户的home目录。

这时服务虽然启动了,但要想做一个真正的ftp服务器还得继续做一些设置。

先说说vsftpd的三种用户:匿名用户(这是我们最常见的anonymous),本地用户(也就是系统用户),虚拟用户(专门为ftp服务添加的用户,不能登陆系统),之所以设置这么多类型主要是考虑系统的安全和用户的权限管理。不同类型的用户配置可能有不同,我这里单说匿名用户。

通常都需要作如下设置:

# 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

我前面说默认配置匿名用户无法登陆,可能是因为没有为匿名用户添加相应目录,在mkdir / var/ftp 后匿名用户也可登陆了。

为了测试,在/var/ftp 下创建一些目录,放置一些文件,用leapftp登陆即可看到,证明配置ok了。

开放匿名用户的上传权限:

因为vsftpd 是为了安全需要,/var/ftp目录不能把所有的权限打开,所以我们这时要建一个目录pub,当然也还是需要继续修改配置文件的。

# mkdir /var/ftp/pub

# chmod -R 777 /var/ftp/pub

现在上传即ok。

但是下载刚上传的文件却出了问题:550 Failed to open file.

记得咱们设置了anon_umask=077了吗?所以你下载不了,如果你到服务器上touch 一个文件(644),测试一下,是可以被下载下来的,好了,匿名服务器就说到这里了。

还是权限问题:

#cd /var/ftp/pub

#chmod 644 *

即把该目录下所有文件的权限都开放了,于是即可顺利下载了。

(这里还有个问题:每当有新文件上传时,都得来手动修改文件的属性,否则就无法下载上传的文件。个人觉得应该有办法,但不知道具体该怎么做,希望有高人能指点)。

现在应该可以在同一个路由下用内网ip来访问OpenBSD的ftp了:

3.端口映射

现在内网可以访问,但外网还是不行,这得通过端口映射来解决。

在路由器->转发规则->虚拟服务器里进行设置,将相应服务的端口地址改为虚拟机的地址,这样外网来的数据就会转发到虚拟机上,就相当于虚拟机的相应端口取代了路由器的相应端口。

此处进行ftp服务,需要将20和21端口映射到虚拟机上,如下图:

如此一来,通过路由器的ip即可访问虚拟机的ftp服务:

4 。动态dns

现在虽然通过外网ip可以直接访问虚拟机,但是由于使用的是动态ip,重启后地址就会发

生变化,因此需要使用动态dns来进行动态域名解析。

提供这类服务的有很多,我这里使用的是希网(https://www.sodocs.net/doc/6117798418.html,)提供的免费动态dns解析。

首先注册用户,申请域名,然后进行动态ip绑定。

申请域名后,一般要下载客户端,运行后就可将当前ip(外网地址)绑定到该域名。希网提

供windows和UNIX的客户端下载,有FreeBSD的,但不确定能否在OpenBSD下使用。这

里我使用更简单的办法,不需要下载客户端,执行一行命令即可:

于是我在shell里运行如下命令(需要安装lynx):

# lynx –mime_header –auth=chutianyao:**** “https://www.sodocs.net/doc/6117798418.html,/dyndns/update?system=dyndns&hostname=https://www.sodocs.net/doc/6117798418.html,”

其中:chutianyao是我在希网的注册用户名

**** 是密码。这是用来进行用户认证的。

(注意用户名和密码间有冒号,不要有空格,否则无法通过认证。如果认证失败的话可能是上述命令没有输对,多试几次可以了)

https://www.sodocs.net/doc/6117798418.html,是我在希网注册的域名,我希望将它绑定到虚拟机当前的地址上(其实地址是路由器通过dns从网通的isp服务商那里得到的动态ip,每次都会发生变化)。

关于更多的说明参看希网的域名更新协议:https://www.sodocs.net/doc/6117798418.html,/dyndnspage/protocol.html

可以将上述命令写成一个简单的脚本,然后添加到配置文件里让系统启动时自动运行它,

这样就不必每次都来敲这一长串命令了。

# vi updateSite

输入:

#/bin/sh

lynx –mime_header –auth=chutianyao:**** “https://www.sodocs.net/doc/6117798418.html,/dyndns/update?system=dyndns&hostname=https://www.sodocs.net/doc/6117798418.html,”

退出保存,改变属性:

#chmod +x updateSite

执行该脚本,如下图即说明绑定成功:

让系统启动时执行该脚本:

#vi ~/.profile

添加:

Sh ~/chubins/.profile

Sh vsftpd

退出保存。

这样系统启动时就会执行脚本,将路由器当前的ip绑定到注册的域名上,在外网通过域名访问即可访问内网的虚拟机。

Ok,大功告成!

饶正锋

2008-12-2

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相关的

第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)为可插拔认证模块,不必重新

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

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服务器,默认

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下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安全上下文。

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配置笔记!!!

这些咚咚只是我在看书时记录下来的一些简单的配置命令和说明,有些地方也许写的不是很详细,大家可以在参考其他资料来学习! 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:禁止匿名用户登录

实验五vsFTPd服务的配置

实验报告 首都师范大学信息工程学院 课程名称:网络设计与应用管理实践 实验名称:vsFTPd服务的配置 任课教师:刘羽实验时间:2010-04-17 姓名:张蕴喆学号:1081000051 ---专业:计算机科学与技术 一、实验目的及要求 1、熟练掌握Ubuntu下vsftpd的基本配置方法 二、实验环境 (操作系统、软件、硬件等)

三、实验内容、步骤、现象 实验内容: 1、下载、安装vsftpd 2、配置本地用户模式的ftp服务 3、配置虚拟用户模式的ftp服务 实验步骤: 1、下载,安装vspdf

配置ftp服务 编译Vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES 重启vsftpd服务,用户登陆

配置虚拟用户模式的ftp服务 1、首先通过sudo useradd –d /home/work workers命令创建用户workers并且制定用户目录 2、在home目录下建立work目录 3、通过chown命令将目录权限付给workers用户

在etc目录下创建vsftpd目录,并在vsftpd目录下再创建vusers 通过vi编辑器更改vsftpd.conf里面的内容如下

anonymous_enable=NO local_enable=YES pam_service_name=ftp 并在vsftpd.conf文件中添加如下内容 guest_enable=YES guest_username=workers user_config_dir=/etc/vsftpd/vusers 在/etc/pam.d目录下建立ftp文件,并在里面添加如下内容 auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd/ vsftpd_login

vsftpd配置文件的详细说明

vsftpd配置文件的详细说明 /etc/vsftpd/vsftpd.conf 本身就是一个挺详细的配置文件,且使用『man 5 vsftpd.conf 』则可以得到完整的参数说明。 与主机较相关的设定值 connect_from_port_20=YES (NO) ftp-data 的端口; listen_port=21 vsftpd 使用的命令通道之端口号,如果您想要使用非正规的端口,在这个设定项目修改吧!不过你必须要知道,这个设定值仅适合以stand alone 的方式来启动(对于super daemon 无效) dirmessage_enable=YES (NO) 当用户进入某个目录时,会显示该目录需要注意的内容,显示的文件默认是.message ,你可以使用底下的设定项目来修改! message_file=.message 当dirmessage_enable=YES 时,可以设定这个项目来让vsftpd 寻找该文件来显示信息! listen=YES (NO) 若设定为YES 表示vsftpd 是以standalone 的方式来启动的 pasv_enable=YES (NO) 启动被动式联机模式(passive mode),一定要设定为YES 的 use_localtime=YES (NO) 是否使用本地时间?vsftpd 预设使用GMT 时间(格林威治) write_enable=YES (NO) 如果你允许用户上传数据时,就要启动这个设定值; connect_timeout=60 单位是秒,在数据连接的主动式联机模式下,我们发出的连接讯号在60 秒内得不到客户端的响应,则不等待并强制断线。 accept_timeout=60 当用户以被动式PASV 来进行数据传输时,如果主机启用passive port 并等待client 超过60 秒而无回应,那么就给他强制断线!这个设定值与connect_timeout 类似,不过一个是管理主动联机,一个管理被动联机。

vsftpd配置讲解

vsftpd配置文件讲解 vsftpd作为一个主打安全的FTP服务器,有很多的选项设置。下面介绍了vsftpd的配置文件 列表,而所有的配置都是基于vsftpd.conf这个配置文件的。本文将提供完整的vsftpd.conf 的中文说明。 本文根据RedKing的帖子整理节选而来。原文地址在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登录后获得大于上传下载操作的权利,而对系统造成损坏。 /etc/vsftpd/user_list 禁止或允许使用vsftpd的用户列表文件。这个文件中指定的用户缺省情况(即在/etc/vsftpd/vsftpd.conf中设置userlist_deny=YES)下也不能访问FTP 服务器,在设置了userlist_deny=NO时,仅允许user_list中指定的用户访问

vsFtp参数设置大全

vsftpd设置参数详细整理篇(应该比较全了)? -------------------------------------------------------------------------------- 坛子里参数设置的帖子很多,但没有一个全,现在大部分的兄弟熟悉了基本的设置,于是我想把所有的参数都重新整理一下,一来自己回顾一下,二来也可以让新手们有一个参考资料,其中有一些选项自己也不是很理解,错误之处还请各位斑竹和高手指点批改.如果还有遗漏的也请一并补上,谢啦. 也希望把所有vsftpd的设置相关信息贴在下面大家都有一个共同参考的地方. ###############################用户登陆控制########################### #接受匿名用户 anonymous_enable=YES #匿名用户login时不询问口令 no_anon_password=YES #匿名用户主目录 anon_root=(none) #接受本地用户 local_enable=YES #本地用户主目录 local_root=(none) #如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录deny_email_enable=YES #仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录 check_shell=YES #若启用此选项,userlist_deny选项才被启动 userlist_enable=YES #若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录userlist_deny=NO #如果和chroot_local_user一起开启,那么用户锁定的目录来自/etc/passwd每个用户指定的目录(这个不是很清楚,很哪位熟悉的指点一下) passwd_chroot_enable=NO #定义匿名登入的使用者名称。默认值为ftp。 ftp_username=FTP ###############################用户权限控制########################### #可以上传(全局控制).

vsftp安装手册

FTP 配置文档 1.VSFTP 配置说明 1).vsftp 程序安装,将安装程序放至/home目录下 # rpm -qa | grep vsftpd #查看是否安装了vsftp # rpm -e vsftpd #如果安装了,先卸载 # rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm #安装vsftp # rpm -qa | grep vsftpd #查看是否安装成功 如显示如下信息,则说明安装成功。 2)用vsftpd.conf替换/etc/vsftpd目录下的vsftpd.conf文件后,执行service vsftpd restart重启vsftp服务 3)vsftp 用户配置及访问权限设置 # cd /etc/vsftpd # groupadd amstest # 添加FTP用户分组 #home下先创建一个ftp文件夹 #mkdir /home/ftp/ # useradd -g amstest -d /home/ftp -M suma # chmod -R 777 /home/ftp # 添加FTP目录读写权限 # passwd suma # 输入suma1的密码,比如123 C3%eC3%mH8h

d. vsftpd 系统配置及权限设置 # getsebool -a | grep ftp allow_ftpd_anon_write --> off # 要保证黄色项为on 状态 allow_ftpd_full_access --> on 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 # setsebool -P allow_ftpd_full_access on # setsebool -P ftp_home_dir on e. vsftpd 服务重启 # service vsftpd restart 至此VSFTP服务器配置完毕,用户suma可以登陆访问。

阿里云服务器Linux下vsftpd配置详细介绍

Linux下vsftpd配置详细介绍 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/https://www.sodocs.net/doc/6117798418.html,er_list ---- 禁止或允许使用VSFTPD的用户列表文件。 /var/ftp ---- 匿名用户主目录。 /var/ftp/pub---- 匿名用户的下载目录。 此外VSFTPD的日志文件位于/etc/logrotate.d/vsftpd.log。 二:.vsftpd的关闭与启动。 如果你不会配置的话建议关闭吧!虽然我不知道开启会有什么影响,但是我觉得多了一个对外的服务,就多了一份安全隐患,(个人认为哈!) 1. 启动:/etc/rc.d/init.d/vsftpd start 或者service vsftpd start 2. 停止:/etc/rc.d/init.d/vsftpd stop 或者service vsftpd stop 3. 重启:/etc/rc.d/init.d/vsftpd stop 或者service vsftpd restart 分别对应的状态是: root@test ~]# service vsftpd start Starting vsftpd for vsftpd: [ OK ] [root@test ~]# service vsftpd stop Shutting down vsftpd: [ OK ] [root@test ~]# service vsftpd restart Shutting down vsftpd: [FAILED] Starting vsftpd for vsftpd: [ OK ] [root@test ~]# /etc/rc.d/init.d/vsftpd start Starting vsftpd for vsftpd: [ OK ] [root@test ~]# /etc/rc.d/init.d/vsftpd stop Shutting down vsftpd: [ OK ] [root@test ~]# /etc/rc.d/init.d/vsftpd restart Shutting down vsftpd: [FAILED] Starting vsftpd for vsftpd: [ OK ] [root@test ~]# /etc/rc.d/init.d/vsftpd status vsftpd (pid 3931) is running...

相关主题