vsftp 编译安装与配置 相关问题

编译安装

下载源码 解压,阅读 INSTALL 文件(重要,请一定阅读,内容本身不多)。

make 

make install

正常情况下,就安装完成了。下面说说不正常情况。

1、依赖的库 包含:libcap libcap-devel libpam libpam-devel (pam的两个库在64位机器上最好都安装上32位和64位的库)

2、如果出现 /lib/libpam.so.0: could not read symbols: File in wrong format
修改 vsf_findlibs.sh 文件,修改look for pam 部分中的if 块,将 locate_library /lib/libpam.so.0 && echo "/lib/libpam.so.0";
修改为 locate_library /lib64/libpam.so.0 && echo "/lib64/libpam.so.0";

提示:

make 后,使用vsf_findlibs.sh 可以看到它已经依赖的库

ldd vsftpd |grep libpam.so 可以查看是否已经依赖pam

配置

mkdir /etc/vsftpd/

vi vsftpd.conf

listen_port=21
local_enable=yes
pam_service_name=ftp
anonymous_enable=no
xferlog_enable=yes

cp vsftpd-3.0.3/RedHat/vsftpd.pam /etc/pam.d/ftp

然后启动vsftp   vsftp /etc/vsftpd/vsftpd.conf &

此时,就可以使用系统本身的账号进行登录ftp服务了。

如果无法登陆,请检查日志 /var/log/vsftpd.log   /var/log/secure

提示 

1、如果secure 日志中出现  PAM unable to dlopen(/lib/security/pam_unix.so): /lib/security/pam_unix.so: wrong ELF class: ELFCLASS32

说明库的版本不对,将lib改为lib64

2、出现 

530 Login incorrect.
Login failed

通常都是pam 配置不正确。请结合vsftpd和secure日志仔细检查。

 

下面附一个正确的配置,且使用了重新配置了pam,以达到白名单形式,即 仅允许指定用户登录。

以仅允许weblogic账号登陆为例,相关配置如下


[root@web02 log]# more /etc/pam.d/ftp
#%PAM-1.0
auth       required     /lib64/security/pam_listfile.so item=user sense=allow file=/etc/vsftpd/ftpusers onerr=fail
auth       required     /lib64/security/pam_unix.so shadow nullok
auth       required     /lib64/security/pam_shells.so
account    required     /lib64/security/pam_unix.so
session    required     /lib64/security/pam_unix.so

[root@web02 log]# more /etc/vsftpd/vsftpd.conf
listen_port=21
local_enable=yes
pam_service_name=ftp
anonymous_enable=no
xferlog_enable=yes

[root@web02 log]# more /etc/vsftpd/ftpusers
weblogic

 

配置为系统服务

根据操作系统服务配置要求,编写脚本

下面为旧版(centos7以前)为例

编写脚本 文件名为vsftpd 放入 /etc/init.d/ 目录下

chmod 755 /etc/init.d/vsftpd

service vsftpd status

配置开启启动

chkconfig --add vsftpd

chkconfig --level 2345  vsftpd on

chkconfig --list vsftpd

 

centos7 配置自启动 需要 使用systemctl 请查阅相关资料。

其它

SElinux 干扰

sestatus

setenforce  0

getsebool -a|grep ftp

# 更改设置(-P 是开机自动使用,无需每次开机都输入该命令):
setsebool -P ftp_home_dir 1

 

参考资料:

http://vsftpd.beasts.org/vsftpd_conf.html

http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_SAG.html

http://blog.51yip.com/linux/1672.html

http://blog.sina.com.cn/s/blog_4156950c0102v39i.html

https://serverfault.com/questions/180778/vsftpd-530-login-incorrect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值