⑴ 怎么用linux搭建ftp服务
一般来讲,人们将电脑联网的首要需求就是获取资料,而文件传输是其中非常重要的方式之一,21世纪的互联网是由几千万台个人电脑、工作站、小型机、大型机等等不同型号、架构的物理设备共同组成的,即便是个人电脑上也可能会装有诸如Linux、Windows、UNIX、DOS等等不同的操作系统,所以为了能够在如此复杂多样的操作设备之间解决文件传输问题,于是便有了统一的FTP文件传输协议(File Transfer Protocol),这是一种能够让使用者在互联网中上传、下载文件的传输协议。很多同学在大学期间只知道FTP协议使用了21端口号,但实际上FTP文件传输协议默认占用了20、21两个端口号,20端口号用于进行数据传输,21端口号用于接受客户端执行的相关FTP命令与参数,FTP服务端普遍更多的应用于内网中,具有易于搭建、方便管理的特点,并且可以借助FTP客户端工具还可以轻松实现文件的多点下载和断点续传技术
FTP服务器就是支持FTP传输协议的主机,与大多数服务程序一样,要想完成文件传输则需要FTP服务端和客户端的配合才行,用户可以通过客户端向FTP服务端发送指令参数,FTP服务端从而会依据接受到的命令作出相应动作,比如显示执行结果或把文件传输到客户端主机上,FTP协议的传输有两种不同的模式,主动模式是让FTP服务端主动向客户端发起链接请求,而被动模式则是让FTP服务端等待客户端的链接请求,默认情况下被动模式,因为咱们在第八章的防火墙课程中学习过,防火墙一般更多的是过滤从外网到内网的流量数据,因此有些时候必须改成主动模式才可以传输。
Vsftpd是一款运行在Linux操作系统上面的FTP服务端程序,Very SecureFTPDaemon顾名思义就是非常安全的FTP传输程序,vsftpd服务程序不仅完全开源且免费,而且具有很高的安全性、传输速率、支持虚拟用户验证功能等等其他FTP服务端程序所不具备的特点。配置妥当yum软件仓库后就可以来安装vsftpd服务程序了:
#www.linuxprobe.com
[root@linuxprobe~]#yuminstallvsftpd-y
Loadedplugins:langpacks,proct-id,subscription-manager
………………省略部分输出信息………………
================================================================================
================================================================================
Installing:
vsftpdx86_643.0.2-9.el7rhel166k
TransactionSummary
================================================================================
Install1Package
Totaldownloadsize:166k
Installedsize:343k
Isthisok[y/d/N]:y
Downloadingpackages:
Runningtransactioncheck
Runningtransactiontest
Transactiontestsucceeded
Runningtransaction
Installing:vsftpd-3.0.2-9.el7.x86_641/1
Verifying:vsftpd-3.0.2-9.el7.x86_641/1
Installed:
vsftpd.x86_640:3.0.2-9.el7
Complete!
iptables防火墙管理工具中默认禁止了ftp传输协议的端口号,因此咱们在正式配置vsftpd服务程序前还需要清空一下iptables防火墙的默认策略,并将当前已经被清理的防火墙策略状态保存下来:
[root@linuxprobe~]#iptables-F
[root@linuxprobe~]#serviceiptablessave
iptables:Savingfirewallrulesto/etc/sysconfig/iptables:[OK]
vsftpd服务程序的主配置文件(/etc/vsftpd/vsftpd.conf)中参数总共有123行左右,但大多数都是以#(井号)开头的注释信息,咱们可以用grep命令的-v参数来过滤并反选出没有包含#(井号)的参数行,也就是把所有的注释信息都过滤掉,这样再通过输出重定向符写会到原始的主配置文件名称中即可:
[root@linuxprobe~]#mv/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf_bak
[root@linuxprobe~]#grep-v"#"/etc/vsftpd/vsftpd.conf_bak>/etc/vsftpd/vsftpd.conf
[root@linuxprobe~]#cat/etc/vsftpd/vsftpd.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
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
刘遄老师给同学们整理出了vsftpd服务程序的主配置文件中常用的参数及作用介绍,您现在只要简单的浏览一下,接下来的实验中如果不明白再过来查阅就可以。
⑵ 如何在linux系统下搭建ftp服务器
在linux中一般使用vsftp这个软件搭建FTP服务器。
首先要看你的是什么linux系统,对于ubuntu、debian可通过apt-get install vsftpd命令安装,对于centos、redhat等系统可通过yum install vsftpd命令安装。
安装成功后,需要修改/etc/vsftpd.conf配置文件。这个配置文件包含登录ftp的用户、密码、访问目录的设置。
修改了配置文件后,执行/etc/init.d/vsftpd restart命令重启ftp服务器。那么ftp服务器就搭建完成了。
⑶ linux怎么搭建ftp服务器
在Linux中ftp服务器的全名叫 vsftpd,我们需要利用相关命令来开启安装ftp服务器,然后再在vsftpd.conf中进行相关配置,下面我来介绍在Ubuntu中vsftpd安装与配置增加用户的方法。
(1)、首先用命令检查是否安装了vsftpd
vsftpd -version
如果未安装用一下命令安装
sudo apt-get install vsftpd
安装完成后,再次输入vsftpd -version命令查看是否安装成功
(2)、新建一个文件夹用于FTP的工作目录
mkdir /home/ftp
(3)、新建FTP用户并设置密码以及工作目录
ftpname为你为该ftp创建的用户名
sudo useradd -d /home/ftp -s /bin/bash ftpname
为新建的用户设置密码
passwd ftpname
【注释:用cat etc/passwd可以查看当前系统用户】
(4)、修改vsftpd配置文件 caojing@idcs.cn
用命令打开vsftpd.conf
vi vsftpd.conf
设置属性值
anonymous_enable=NO #禁止匿名访问
local_enable=YES
write_enable =YES
保存返回
(5)、启动vsftpd服务
service vsftpd start
(6)、在资源管理器,或者浏览器中ftp服务器
输入账号,密码登录即可
⑷ 怎样在linux中搭建FTP服务器
在创建FTP服务器之有先命令: ps -ef |grep vsftpd
查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装。
然后再执行:yum install vsftpd -y
进行在线安装vsftpd这个服务。
安装成功以后需要把匿名登陆的这个功能关闭了。
使用命令: vim /etc/vsftpd/vsftpd.conf
然后在里成找到:
anonymous_enable=NO
然后再查看一下vsftpd这个服务有没有启动。
使用命令: chkconfig --list
如果你如下图所示一样没有启动。
没有启动使用启动:chkconfig --level 35 vsftpd on
再接下来就是创建用户名。
创建用户名:useradd jingyan
再然后就是创建密码。
命令:passwd jingyan
再输入两次密码就可以了。
最后重启一下服务:service vsftpd start
如果出现启动失败则可以使用:/etc/rc.d/init.d/vsftpd restart
成功链接FTP服务器上。
⑸ 如何在linux上搭建ftp服务器
1、检查安装vsftpd软件
使用如下命令#rpm -qa |grep vsftpd可以检测出是否安装了vsftpd软件,
如果没有安装,使用YUM命令进行安装。
2、启动服务
使用vsftpd软件,主要包括如下几个命令:
启动ftp命令#service vsftpd start
停止ftp命令#service vsftpd stop
重启ftp命令#service vsftpd restart
3、vsftpd的配置
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
ftpusers 该文件用来指定那些用户不能访问ftp服务器。
user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp
vsftpd.conf vsftpd的主配置文件
4、以匿名用户为例,我们去掉配置文件vsftpd.conf 里面以下
anon_upload_enable=YES
anon_mkdir_write_enable=YES
两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。
步骤阅读
5、非匿名账户的创建与使用
vsftpd服务与系统用户是相互关联的,例如我们创建一个名为test 的系统用户,那么此用户在默认配置的情况下就可以实现登录,如图
登录后在页面创建名为“aa”的文件夹,同样我们在服务器test用户 的home目录里也可以看到相同的文件。
⑹ 怎么在linux 下搭建ftp服务器
vsftpd的服务软件包位于RHED4的第1张光盘。包名是vsftpd-2.0.1-5.i386.rpm,插入光盘。
#mount -t iso9660 /dev/cdrom /media/cdrom //挂载光盘
mount: block device /dev/cdrom is write-protected, mounting read-only
#cd /media/cdrom/RedHat/RPMS
#ls vsftpd* //查找软件包
vsftpd-2.0.1-5.i386.rpm
#rpm -ivh vsftpd-2.0.1-5.i386.rpm //安装软件包
Preparing... ########################################### [100%]
package vsftpd-2.0.1-5 is already installed
#rpm -ql vsftpd | grep /etc //查看etc目录下的vsftpd相关文件
/etc/logrotate.d/vsftpd.log
/etc/pam.d/vsftpd
/etc/rc.d/init.d/vsftpd //vsftpd的启动脚本文件
/etc/vsftpd
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list
/etc/vsftpd/vsftpd.conf //配置文件
#grep -v '#' /etc/vsftpd/vsftpd.conf //查看ftp默认的配置
anonymous_enable=YES //允许匿名登录
local_enable=YES //允许本地用户登录
write_enable=YES //对本地用户有写入的权限
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES //ftp服务器启用ftp端口连接请求
xferlog_std_format=YES
pam_service_name=vsftpd //PAM认证服务的配置文件名称,该文件保存在/etc/pam.d/目录下
userlist_enable=YES //检查user_list文件指定的用户是不可以访问vsftpd, /etc/vsftpd/user_list
listen=YES //Ftp服务器处于独立启动模式
tcp_wrappers=YES
userlist_enable =YES //设置使用vsftp.user_list文件
userlist_deny =YES //设置使用vsftp.user_list文件用户设置禁用帐号
#head -5 /etc/vsftpd/ftpusers //此文件保存不允许进行登录的本地用户
Users that are not allowed to login via ftp
root
bin //这些用户不时普通的用户,都是系统中具有较高权限的帐号
daemon
adm
#grep -v '#' /etc/vsftpd/user_list //查看vsftpd/user_list文件中不可访问ftp服务的用户
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
#ls -l /etc/init.d/vsftpd* //查看vsftpd的启动文件
-rwxr-xr-x 1 root root 1880 2004-10-04 /etc/init.d/vsftpd
#chkconfig --list vsftpd //查看vsftpd的运行级别
vsftpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
#chkconfig --level 35 vsftpd on //设置vsftpd的启动运行级别3和5中自动启动
#chkconfig --list vsftpd
vsftpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
#service vsftpd status //查看vsftpd的运行状态
vsftpd 已停
#service vsftpd start //开启vsftpd服务器
为 vsftpd 启动 vsftpd: [ 确定 ]
#service vsftpd restart //重新启动vsftpd服务器
关闭 vsftpd: [ 确定 ]
为 vsftpd 启动 vsftpd: [ 确定 ]
#service vsftpd stop //停止vsftpd服务器
关闭 vsftpd: [ 确定 ]
#service vsftpd start //启动vsftpd服务器
为 vsftpd 启动 vsftpd: [ 确定 ]
#ftp 192.168.80.202 //测试vsftpd服务器
Connected to 192.168.80.202.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.80.202:root):ftp(或anonymous) //匿名用户登录可使用ftp或anonymous 也可用本地用户
331 Please specify the password.
Password:fay361@126.com //使用邮箱作为密码:fay361@126.com
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>ls //ls查看当前的目录 测试成功
227 Entering Passive Mode (192,168,80,202,224,106)
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 4096 Oct 04 2004 pub
226 Directory send OK.
ftp>bye //bye退出ftp服务器
221 Goodbye.
linux下添加ftp用户和创建ftp虚拟用户
#useradd -g ftp -s /bin/nolongin test //创建test用户,不让用户登录系统 test属于ftp组
# passwd test //给test用户创建密码
Changing password for user test.
New UNIX password:1234567 //输入密码:1234567
Retype new UNIX password:1234567 //确认输入密码:1234567
passwd: all authentication tokens updated successfully.
vsftpd虚拟用户帐号的设置过程:
#vi login.txt //创建虚拟用户口令文件,文件内容如下
mike
1234567
john
1234567
#db_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db //用db_load命令生成认证文件,-f虚拟用户口令文件,即login.txt,生成的认证文件名vsftpd_login.db,该文件存放在/etc/vsftpd/目录中
linux下FTP服务(vsftp)的搭建与配置祥解
如果报上图的错误,则是系统未安装下面的几个RPM包,或者其中几个RPM包,如下图:
linux下FTP服务(vsftp)的搭建与配置祥解
#file /etc/vsftpd/vsftpd_login.db //查看vsftpd_login.db的文件类型
/etc/vsftpd/vsftpd_login.db: Berkeley DB (Hash, version 8, native byte-order)
#chmod 600 /etc/vsftpd/vsftpd_login.db //设置文件vsftpd_login.db权限,对root用户可读可写
#ls -l /etc/vsftpd/vsftpd_login.db
-rw------- 1 root root 12288 1月 21 22:24 /etc/vsftpd/vsftpd_login.db
#vi /etc/pam.d/vsftpd.vu //创建虚拟用户认证所需的PAM文件vsftpd.vu,如下内容
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
# cat /etc/pam.d/vsftpd.vu //查看vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
# useradd -d /home/ftptest ftpuser //建立虚拟的系统用户帐号 帐号名 ftpuser 宿主录/home/ftptest
# chmod 700 /home/ftptest/ //设置目录权限700
让后设置vsftpd.conf配置文件,在修改配置文件前对其进行备份
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak //备份vsftpd.conf
#vi /etc/vsftpd/vsftpd.conf //在vsftpd.conf配置文件中添加虚拟用户配置项 内容如下:
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd.vu
#service vsftpd restart //重新启动vsftpdfuwuqi
#ftp 192.168.80.202 //登录ftp服务器
Connected to 192.168.80.202.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.80.202:root): mike //用mike用户进行登录
331 Please specify the password.
Password:1234567 //密码:1234567
230 Login successful. //230显示登录成功
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye //bye退出ftp服务器
注意:报错解读:
linux下FTP服务(vsftp)的搭建与配置祥解
linux下FTP服务(vsftp)的搭建与配置祥解
上面两个报错的原因可以看出是配置文件错误,所以细心很重要;
linux下FTP服务(vsftp)的搭建与配置祥解
这个报错到底是什么原因呢?让我们看看下图的解答吧:
linux下FTP服务(vsftp)的搭建与配置祥解
二、对vsftpd虚拟用户设置不同的权限
#vi /etc/vsftpd/vsftpd.conf //编辑vsftpd.conf文件 添加如下内容:
user_config_dir=/etc/vsftpd_user_conf //设置用户配置文件的保存目录
#mkdir /etc/vsftpd_user_conf //创建虚拟用户配置文件的保存目录
#vi /etc/vsftpd_user_conf/mike //创建mike用户配置文件,添加以下内容:
anon_world_readable_only=NO //mike表示用户可以浏览Ftp目录和下载文件
anon_upload_enable=YES //mike用户可以上传文件
anon_mkdir_write_enable=YES //mike用户具有建立和删除目录的权限
anon_other_write_enable=YES //mike用户具有文件改名和删除文件的权限
⑺ 如何在linux搭建ftp服务器
详解Linux中搭建一个ftp服务器。
ftp工作是会启动两个通道:
控制通道 , 数据通道
在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)
PORT模式:
在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21) 发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来传送数据。
PASV模式:
传送数据时,ftp_client--PASV命令-->ftp_server(21) 发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。
安装ftp
#rpm -qa vsftpd 查看是否已经安装
#yum install -y vsftpd
#rpm -ql vsftpd
/etc/logrotate.d/vsftpd. vsftpd的日志文件
/etc/pam.d/vsftpd PAM认证文件
/etc/rc.d/init.d/vsftpd 启动脚本
/etc/vsftpd vsftpd的配置文件存放的目录
/etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表文件
/etc/vsftpd/user_list 禁止或允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd操作的一些变量和设置
/usr/sbin/vsftpd vsftpd的主程序
其他一些说明文档和手册文件略!
/var/ftp 用户主目录
/var/ftp/pub 用户的目录
#service vsftpd start
#chkconfig --level vsftpd
#chkconfig --level 2345 vsftpd on
2 用户的登录名:ftp(anonymous) 密码空 ,登录的目录为/var/ftp
用用户登录的时候默认是只有的权限,没有上传,创建和删除的权限:
#vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES 上传
anon_mkdir_write_enable=YES 创建
anon_other_write_enable=YES 删除
#service vsftpd restart
为了安全应该禁止用户的登录:
#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#anon_upload_enable=YES 上传
#anon_mkdir_write_enable=YES 创建
#anon_other_write_enable=YES 删除
#service vsftpd restart
3 创建一个直接登录系统用户来登录ftp:
#useradd -s /sbin/nologin viong
#passwd viong
⑻ 怎么用linux搭建ftp服务器
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的ftp软件
方法/步骤
1、用在线安装
yum install vsftpd pam* db4*-y
使用命令将vsftp配置为系统服务
chkconfig --level 35 vsftpd on
2、配置vsftpd服务的宿主
useradd vsftpdadmin -s /sbin/nologin -M
这个vsftpdadmin只是用来替换root的,并不需要登录
3、建立ftp虚拟宿主帐户
useradd vsftpuser -s /sbin/nologin -M
这ftpuser只个虚拟帐户的宿主,本身是不用登录的
4、配置vsftpd.conf 配置之前要先备份一下原来的
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES --> anonymous_enable=NO //不允许匿名用户访问,默认是允许。
chroot_list_enable=YES --> chroot_list_enable=YES //不允许FTP用户离开自己主目录
增加
#设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。
user_config_dir=/etc/vsftpd/vconf/userlocal
#这一步非常重要,要记住这一步。一会要根据这个配置新建文件夹
#修改端口号
ftp_data_port=4040
reverse_lookup_enable=NO
pasv_enable=yes
pasv_min_port=48790
pasv_max_port=48800
listen_port=48796 #端口可以根据你自己实际情况配置,也可以用默认端口。但是为了安全考虑根据自己实际情况配置
5、建立虚拟用户文件
mkdir /etc/vsftpd/vconf
touch /etc/vsftpd/vonf/vir_user
6、建立虚拟用户
vi /etc/vsftpd/vonf/vir_user
virtualuser //用户名
12345678 //密码
7、生成数据库
db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db
8、设置数据库文件访问权限
chmod 600 /etc/vsftpd/vconf/vir_user
chmod 600 /etc/vsftpd/vconf/vir_user.db
9、修改/etc/pam.d/vsftpd
auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
(要想同时使用系统用户和虚拟用户,就需要把required改成sufficient)
10
根据第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal
新建userlocal文件夹
mkdir /etc/vsftpd/vconf/userlocal
11、根据第六步建立的用户名建立一个文件
例如第六步建立的帐号是virtualuser,则新建一个virtualuser文件
touch /etc/vsftpd/conf/userlocal/virtualuser
12、编辑该用户访问的文件路径
vi /etc/vsftpd/conf/userlocal/virtualuser
输入如下
local_root= //需要指定的网站根目录,例如www..com所在文件夹为/www/
anonymous_enable=NO #禁止匿名用户访问
write_enable=YES #开启写权限
local_umask=022 #上传后文件的权限掩码
anon_upload_enable=NO #关闭匿名下载
anon_mkdir_write_enable=NO #关闭匿名创建文件夹
idle_session_timeout=60 #会话自动关闭时间 60是因分钟
data_connection_timeout=120 #数据延迟时间
max_clients=10 #最大连接数
max_per_ip=5 #同一个ip同时允许5个IP联机
local_max_rate=1048576 #实体用户传输速度限制,单位B/s。0代表不限制
13、配置就此完成,重启vsftpd服务:service vsftpd restart。
查看系统端口状态:netstas -tulnp。如果能看到48796端口正在被vsftpd调用说明启动成功。
⑼ 如何在Linux上搭建FTP服务器
Linux上搭建FTP服务器,可以用云帮手啊。
1.搭建数据库、ftp功能;
2.有远程登录桌面功能;
3.文件传输功能;
云帮手不仅仅可以远程登录,还有很多管理云主机的功能。
1.像主机系统漏洞检测修复;
2.实时查看主机资源使用状态监控啊;
3.批量集中管理主机等等。
⑽ 如何在linux下搭建ftp服务器
在LINXU平台上使用的FTP软件有Wu-ftpd、Proftpd和vsftpd等。Wu-ftpd的历史悠久,是最流行的FTP服务器程序,稳定、出色,但发布较早,安全不及Proftpd及vsftpd。Proftpd在Wu-ftpd之后开发,安全性及稳定性有所提高。而vsftpd则是在Proftpd之后开发的,意为Very Sucure,吸取了Wu-ftpd和Proftpd的优点,安全性、速度、稳定性都有很大提高。
RHEL4(AS)中vsftpd的RPM软件包在第1张光盘中,名为vsftpd-2.0.1-5.i386.rpm。默认情况下没有安装。Vsftpd的主配置文件是/etc/vsftpd.conf。未修改的主配置文件去掉注释后如下(“;”后为解释):
anonymous_enable=YES ;是否允许匿名访问
local_enable=YES ;是否允许本地用户登录
write_enable=YES ;是否允许本地用户写入
local_umask=022 ;生向掩码(文件生成掩码),跟权限有关,我记不住了,有兴趣的朋友可以去查查,知道的朋友也请告诉我一下
dirmessage_enable=YES ;切换到FTP中的某目录时,是否显示该目录下的隐含文件“.message”
xferlog_enable=YES ;是否启用启用上传和下载日志
connect_from_port_20=YES ;是否启用FTP数据端口的连接请求
xferlog_std_format=YES ;是否让FTP使用ftpd xferlog日志格式
pam_service_name=vsftpd ;设置PAM认证服务的配置文件,位于/etc/pam.d目录下
userlist_enable=YES ;需与userlist_file配合使用,稍后介绍
listen=YES ;是否处于独立启动模式
tcp_wrappers=YES ;为YES时,以tcp_wrappers作为主机访问控制方式
(去掉后,vsftpd的配置文件就这么一点^_^。)
/etc/vsftpd.ftpusers保存着不允许进行FTP登录的用户帐户,通常是权限很高的用户,以提高FTP的安全。
至于/etc/vsftpd.user_list文件,里面有说明:
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
…………(后略)
前面说的userlist_enalbe就跟这有关(重点是第二、三行)
另外,/vsr/ftp是匿名用户的宿主目录.
配置vsftpd的虚拟用户:
1. 建立虚拟用户口令库文件(奇数行为用户名,偶数行为密码):
[root@localhost.localdomain]cat vsftpd
abc
abc12321cba
efg
vsftpd.conf
2. 生成认证文件(db_load生成认证文件,“-f”用于指明虚拟用户的口令库文件,即:vsftpd.操作中,口令库文件名可随便取.“-t hash”指加密方式)
db_load -T -t hash -f vsftpd /etc/vsftpd/vsftpd_login.db
3.设置权限,以提高安全:
chmod 600 /etc/vsftpd/vsftpd_login.db
4. 建立虚拟用户的PAM文件:
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5.建立虚拟用户的目录,并设置相应权限:
useradd -d /home/vsftpd virtual
chmod 700 /home/vsftpd/
6. 编辑vsftpd的配置文件:
vi /etc/vsftpd/vsftpd.conf
guest_enable=yes
guest_username=virtual
pam_service_name=vsftpd.vu
7. 对虚拟用户设置不同权限:
vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd_user_conf ;设置主配置文件
(:wq #保存退出)
mkdri /etc/vsftpd_user_conf
vi /etc/vsftpd_user_conf/abc ;为虚拟用户配置权限
anon_world_readable_only=no ;用户可以浏览目录并下载文件
anon_upload_enable=yes ;用户可以上传文件
anon_mkdir_write_enable=yes ;用户可以添加和删除目录
anon_other_write_enable=yes ;用户可以进行其它操作,如改名、删除文件等。
(:wq)
service vsftpd restart
如果只想让用户下载的话,则配置为:
anon_world_readable_only=no
好了,自个儿看效果吧!!!
常见问题:
1.无法匿名访问?
可能是vsftpd.conf中的anonyoums_enable出的错,或者是你根本就没连接到服务器,也有可能是服务器的iptables出的问题(过滤掉了),这种情况下一般与selinux无关。还有就是服务未运行。
2.创建的虚拟用户无法访问vsftpd?
原因或许是在创建虚拟用户的时候出的错,如果无法使用虚拟用户访问vsftpd的时候,建议先检查在创建虚拟用户时,打错什么字没有,如果还是没有检查出什么问题来的话,建议你直接推倒重做。还是一点差点忘记说了,就是在创建虚拟用户的时候,尽量将虚拟用户的密码设长一点、复杂一点,我在测试的时候,就是因为密码太短而几次没有成功。
3.在cmd下用虚拟用户登录vsftpd时,出现“200 PORT command successful. Consider using PASV.”的字样是怎么回事啊?
你所访问的电脑上的防火墙在做怪!!!我就上过这个当!!!
4.其它问题?
一般情况下,vsftpd出现问题大多数都是因为配置文件出错的,如果想要测试的话,建议在命令行了进行测试,当vsftpd出现问题时,它会在访问端的界面上显示原因。另外不成功的原因是因为服务器上的防火墙没有配置好。