CentOS 安装配置vsftpd服务器

作者:简简单单 2013-11-05

方法一,CentOS5.9 vsftpd配置

1、将以下代码输入到: install_vsftpd.sh 里。

 代码如下 复制代码

echo "============================install vsftpd=================================="
yum -y remove vsftpd
yum -y install vsftpd

rm -f /etc/vsftpd/vsftpd.conf
cat >>/etc/vsftpd/vsftpd.conf< # Example config file /etc/vsftpd/vsftpd.conf
#anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
ftpd_banner=Welcome to FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
use_localtime=YES
chroot_local_user=YES
EOF

#权限设置
setsebool -P ftpd_disable_trans 1

#初次启动无需重启服务,后面会重启服务器
cat >>/etc/rc.local< service vsftpd restart
EOF

#创建ftp账号
echo "============================ ftp username and password ========================="
mkdir -p /web/http
useradd -d /web/http bibinet
setfacl -R -m u:bibinet:rwx /web/http/
passwd bibinet
#查看账号
#finger bibinet

2、修改权限

 代码如下 复制代码

chmod 777 install_vsftpd.sh

 

3、执行

 代码如下 复制代码

sh install_vsftpd.sh

 
ok,搭建完成。


方法二,CentOS6.3安装配置vsftpd


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

响应: 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认证配置

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

 代码如下 复制代码

service vsftpd start

登录vsftpd服务器测试

相关文章

精彩推荐