tar包安装vsftpd

1、首先停止正在启动的vsftpd服务,并卸载软件

service vsftpd stop
#查看已安装的版本

rpm -qa |grep vsftpd
#删除已安装的版本

rpm –e vsftpd-2.2.2-24.el6.x86_64


可以看到已经查询不到安装的vsftpd软件了,并将vsftpd.conf进行了备份。

2、先将下载的vsftpd-3.0.2.tar.gz包上传至服务器然后解压缩至目标目录

/etc/

tar -zxvf vsftpd-3.0.2.tar.gz


然后进入目录vsftpd-3.0.2:cd vsftpd-3.0.2

3、进行编译安装前的准备工作

1)添加nobody用户

useradd nobody
一般情况下是已经存在了,可以通过vim /etc/pass文件确认

2)创建/usr/share/empty目录

mkdir /usr/share/empty
如果存在了就不需要创建

3)创建匿名用户登录的目录

mkdir /home/sftpuser
如果已存在就不需要创建

4)创建ftp用户并指定家目录为/var/ftp

useradd –d 家目录 用户名:

useradd -d /home/sftpuser sftpuser
如果已存在就不需要创建:

cat /etc/pass|grep ftp
5) 修改builddefs.h 文件,添加需要的功能

在vsftpd-3.0.2目录下vim builddefs.h

如果需要某个功能就将undef修改为define

比如其中的undef VSF_BUILD_TCPWRAPPERS,如果在vsftpd.conf中增加tcp_wrappers=YES的配置就需要将这项改为define VSF_BUILD_TCPWRAPPERS

可以看到已经开启的有ftp登录验证方式pam,建议将SSL验证方式也加上

4、开始编译安装

1)编译:

64位系统,因此需要更改vsf_findlibs.sh文件库中lib 路径:

sed -i 's/lib\//lib64\//g' vsf_findlibs.sh

make
编译完成

2)安装:

make install


完成后将vsftpd.conf文件复制到/etc目录下,否则在启动vsftpd服务时需要指定启动服务使用的配置文件:

2.1)cp vsftpd.conf /etc
2.2)cp RedHat/vsftpd.pam /etc/pam.d/vsftpd   //PAM验证文件
2.3)修改/etcvsftpd.conf配置文件,将
local_enable=YES
write_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
解除注释

如果不使用默认端口20需要将connect_from_port_20=YES注释掉,并添加下面的配置:

listen_port=14888//使用的连接端口
pasv_min_port=14100//主动模式的端口范围
pasv_max_port=14200
在配置文件中添加:

pam_service_name=vsftpd
userlist_enable=YES
#tcp_wrappers=YES
其中pam_service_name是指定pam验证的文件是/etc/pam.d/vsftpd

userlist_enable=YES是限制其中的用户不能ftp登录,这是为了防止权限过高的用户登录进行非法操作。

2.4)下面的文件根据情况进行复制,可以先不复制

cp vsftpd /usr/local/sbin/vsftpd
cp vsftpd.conf.5 /usr/local/man/man5
cp vsftpd.8 /usr/local/man/man8
3)启动vsftpd服务

/usr/local/sbin/vsftpd &
需要加&进行后台启动

3.1)连接ftp

ftp 127.0.0.1 14888
报错如下:

说明文件不存在,可以自己手动创建,然后将需要禁止的用户加入其中

touch /etc/vsftpd.user_list
如果也报vsftpd.ftpusers文件不存在,同样的也创建vsftpd.ftpusers文件。

继续登录系统报如下错误:

530一般有这几种情况

1、vsftpd.conf中是否添加了如下配置:

local_enable=YES  
pam_service_name=vsftpd
userlist_enable=YES
2、修改/etc/vsftpd/ftpusers

编辑vim /etc/pam.d/vsftpd

其中ftpusers是ftp拒绝的系统用户,如果需要登录的用户在其中,将其去掉。

另外,不要把/etc/pam.d/vsftpd里面的deny改成allow,不然你自己建立的用户就会报530 Login incorrect。

3、注释掉

#auth    required pam_shells.so
4、还有一种情况是我遇到到,比较特殊,是/etc/pam.d/vsftpd中配置的文件目录是/lib下,而实际上需要修改为lib64下的文件,如果找不到报530的原因可以尝试这种方法。

4)500 OOPS: vsftpd: refusing to run with writable anonymous root解决方法

当使用匿名用户登录时有可能报这种错,因为vsftpd出于安全考虑对 /home/ftp是不允许没有限制的,所以需要手动修改权限:

chown root:root /home/ftp
chmod 755 /home/ftp
chown root:root /var/ftp
chmod 755 /var/ftp
4)这样自己创建的用户就可以通过ftp登录了,别忘记修改防火墙配置。

useradd –d /home/ftpuser fuser
5)关闭服务

使用ps –rf|grep vsftpd查看vsftpd服务进程

然后通过kill -9 PID删除进程

设置开机自启动 :用vim打开etc/rc.local在里面加入/usr/local/sbin/vsftpd & 即可。

查看vsftpd版本:vsftpd –version

 

500 OOPS: priv_sock_get_cmd       /etc/vsftpd.conf   添加  seccomp_sandbox=NO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值