Linux CentOS6.3安装配置vsftpd服务器详解

Linux下的vsftpd服务软件是一个非常实用强大的开源ftp服务器软件。不多做解释了,有兴趣可以查Wiki。下面就来介绍下Centos6.3下安装和配置vsftpd服务。长话短说了,这里直接调用配置文件再做说明。有些人配置出现错误提示:500 OOPS: bad bool value in config file for 。这个需要注意的是配置参数的=号左右两边都不要出现空格。

配置真实用户登录出现的错误提示

响应: 331 Please specify the password.
命令: PASS ***
响应: 530 Login incorrect.
错误: 严重错误
错误: 无法连接到服务器

解决办法:查看vsftpd.conf文件中的chroot_list_file指向的文件在相应目录创建相应的配置文档,文档时空的也行。这个文档时存放真实vsftpd用户的。

1.安装vsftpd软件—- yum install -y vsftpd pam db4 (pam和db4组件是做vsftp访问控制用的)

[root@localhost ~]# rpm -q vsftpd && rpm -q db4 && rpm -q pam

2.配置/etc/vsftpd/vsftpd.conf文件

[root@localhost ~]# cat /etc/vsftpd/vsftpd.conf | grep -v ^# |grep -v ^$
anonymous_enable=NO   /*不允许匿名用户登录,允许匿名用户登录时会默认在/var/ftp/pub目录下。
local_enable=YES  /*允许本地用户登录vsftpd服务器
write_enable=YES   /*登录用户有写入的权限
local_umask=022  /*登录用户创建目录的默认权限(反向掩码—777-022=755的目录权限,文件为666-022=644权限)
dirmessage_enable=YES  /*用户进入各vsftpd服务器上目录是的反馈消息
xferlog_enable=YES  /*启用用户登录记录日志
connect_from_port_20=YES  /*默认的连接端口号
xferlog_std_format=YES  /*支持 WuFTP 的登录档格式(来自鸟哥的说法)
idle_session_timeout=600  /*会话超时 单位:s 秒
async_abor_enable=YES  /*支持异步传输
ascii_upload_enable=YES  /*支持ASCII码上传 带有默认传输性质
ascii_download_enable=YES  /*支持ASCII码下载带有默认传输性质
chroot_local_user=YES  /*限制登录用户在自己的家目录下,与下面两个参数有关
chroot_list_enable=YES  /*启用 chroot 写入列表的功能
chroot_list_file=/etc/vsftpd/chroot_list  /*chroot_list配置文件的位置,chroot_list配置文档中存在的用户允许chroot–可进入非家目录
listen=YES  /*默认YES,这个参数和vsftpd启动的两个模式super daemon/stand alone有关。super daemon模式启动应该修改为NO
listen_ipv6=NO  /*是否侦听ipv6
pam_service_name=vsftpd  /*pam认证模块名称,指向—/etc/pam.d/vsftpd文档
userlist_enable=YES  /*与userlist_deny及userlist_file配合使用
tcp_wrappers=YES  /*支持 TCP Wrappers 的防火墙机制
guest_enable=YES  /*启用虚拟用户登录
guest_username=vsftpd  /*虚拟用户的宿主用户—-在系统真实存在并本事不能登录vsftpd服务器
virtual_use_local_privs=YES  /*该参数详解
user_config_dir=/etc/vsftpd/virconf  /*虚拟帐号的主目录为
[root@localhost ~]#

3.创建虚拟用户宿主用户 useradd -s /sbin/nologin vsftpd

4.创建虚拟用户数据库:

vim /etc/vsftpd/virftpuser.list

[root@localhost vsftpd]# more virftpuser.list
virtest  /*奇数行为用户名
123456  /*偶数行为用户密码 以此类推
test
321123

利用db4生成用户数据

db_load -T -t hash -f /etc/vsftpd/virftpuser.list /etc/vsftpd/virftpuser.list.db

配置PAM认证匹配文件

vim /etc/pam.d/vsftpd  注释掉原有的认证方式添加下面最后两行配置,具体配置如下:

#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/virftpuser.list /*这里我的系统是64位的,我指定了绝对路径
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/virftpuser.list

vsftpd虚拟用户pam认证配置
vsftpd虚拟用户pam认证配置

5.启动vsftpd服务器进行测试:

service vsftpd start

登录vsftpd服务器测试
登录vsftpd服务器测试

到处完毕…..温习加分享正在进行….欢迎转载,转载请注明出处

VPS Linux主机安装配置VSFTP服务器

1. 先用rpm -qa| grep vsftpd命令检查是否已经安装,如果ftp没有安装,使用yum -y install vsftpd 安装
2. service vsftpd start
启动要让FTP每次开机自动启动,运行命令: chkconfig –level 35 vsftpd on
3. 设置ftp权限
vi /etc/vsftpd/vsftpd.conf
将anonymous_enable=YES 改为 anonymous_enable=NO
取消如下配置前的注释符号:
local_enable=YES
write_enable=YES
chroot_local_user=YES
保存并推出
4. 添加ftp帐号和目录
先检查一下nologion的位置,通常在/usr/sbin/nologion或者/sbin/nologion下。
useradd -d /www/wwwroot -s /sbin/nologin testftp
passwd testftp
chmod -R 755 /www/wwwroot
chown -R testftp /www/wwwroot
/etc/rc.d/init.d/vsftpd restart
5.修改shell配置
vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologion或者/sbin/nologion(具体看当前系统配置)则追加进去
然后用帐号testftp测试下是否可以登陆ftp。目录是/www/wwwroot

CentOS下安装和配置FTP服务器

vsftp是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。下面介绍CentOS下安装和简单配置 vsftp 这个服务软件。

在Linux下可以搭建本地YUM库来进行系统软件的安装和管理。这里不多作解释,请看Linux系统下搭建本地YUM库一文。

1、安装vsftp:

以管理员(root)身份执行以下命令:

yum install vsftpd

2、配置vsftpd服务器:

默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。

vi /etc/vsftpd/vsftpd.conf

3、添加ftp用户:

下面是添加ftptest用户,设置根目录为/home/wwwroot/ftptest,禁止此用户登录SSH的权限,并限制其访问其它目录。

①、修改/etc/vsftpd/vsftpd.conf

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

②、增加用户ftptest,指向目录/home/wwwroot/ftptest,禁止登录SSH权限。

useradd -d /home/wwwroot/ftptest -g ftp -s /sbin/nologin ftptest

③、设置用户口令

passwd ftpuser

④、编辑文件chroot_list

vi /etc/vsftpd/chroot_list

内容为ftp用户名,每个用户占一行,如:

Wenvki

⑤、启动vsftp服务

service vsftpd start

4、配置防火墙

打开/etc/sysconfig/iptables文件

vi /etc/sysconfig/iptables

在REJECT行之前添加如下代码:

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT

保存和关闭文件,重启防火墙

service iptables restart

5、管理vsftpd服务的相关命令:

停止vsftpd服务: service vsftpd stop

重启vsftpd服务: service vsftpd restart

设置开机启动vsftpd服务:chkconfig –level 2345 vsftpd on

最后,使用用户ftptest登录VSFTP服务测试的使用出现了个错误提示:

500 OOPS: cannot change directory:/home/wwwroot/ftptest

Google了一下,原来是SELinux对vsftpd服务的限制,所以要关闭SELinux对vsftpd的保护,以root用户在终端输入指令:

setsebool -P ftpd_disable_trans 1

到此,简单的Linux下安装和配置FTP服务器就此结束。

浅淡FTP和TFTP

FTP和TFTP
FTP是大家比较熟悉的一种网络服务,同时也得到相对广泛的应用,但TFTP就不其然了,虽然在很多地方得以应用,但却不如FTP使用得广泛。下面就简单介绍下FTP和TFTP这两种网络服务。
FTP(File Transfer Protocol)在TCP/IP协议族中属于应用层协议,主要向用户提供本地与远程主机之间的文件传输。FTP协议基于相应的文件系统实现。FTP向用户提供本地和远程主机之间的文件传输,尤其在进行版本升级、日志下载、文件传输和配置保存等业务操作中广泛应用。相信很多有过WEB架站经历的人几乎都知道FTP这种网络服务,这里就不多谈了。
系统提供的FTP服务包括:
FTP Server:用户可以运行FTP客户端程序登录到交换机,访问交换机上的文件。
FTP Client:用户在PC上通过终端仿真程序或Telnet程序建立与交换机的连接后,可以输入FTP命令建立与远程FTP Server的连接并访问远程主机上的文件。

TFTP(Trivial File Transfer Protocol)是一种简单文件传输协议。与FTP相比,TFTP不具有复杂的交互存取接口和认证控制,适用于客户机和服务器之间不需要复杂交互的环境。例如,系统启动时使用TFTP获取系统内存映像。TFTP不具有复杂的交互存取接口和认证控制,适用于客户机和服务器之间不需要复杂交互的环境。
TFTP协议在UDP基础上实现。TFTP协议传输由客户端发起。当需要下载文件时,由客户端向TFTP服务器发送读请求包,然后从服务器接收数据包,并向服务器发送确认;当需要上传文件时,由客户端向TFTP服务器发送写请求包,然后向服务器发送数据包,并接收服务器的确认。这种网络服务使用的实例有:通过网络来安装操作系统以及网络设配的一些IOS的升级、备份等等。
TFTP传输文件有两种模式:
二进制模式:用于传输程序文件
ASCII码模式:用于传输文本文件
通过以上的介绍,可以看到FTP是基于TCP/IP协议上的,而TFTP却是基于UDP协议上的。了解TCP/IP和UDP协议的朋友就会知道,一种是叫可靠的一种却是非可靠的传输协议。这两种协议各有好处,TCP/IP名为可靠传输协议,其本身建立网路连接是需要一个非常有名的三次握手才能建立的。相对UDP来说,比较消耗资源,也就是术语上说的开销大,而UDP则相反。所以,这两种协议各有用处。