Centos6.5 编译安装部署ProFtpd 1.8.3rc3
一、背景描述
项目上的老项目,线上用的proftpd1.3.6的版本,客户漏扫报高危漏洞,于是乎需要将其版本升级至少 1.3.7c版本!
我们这里不采用升级的方式,也没有看到有可以升级的文章,索性就直接编译安装一个1.3.8rc3的版本,然后做一个平滑切换就好(项目上没有用虚拟用户登录ftp,用的是系统账户,所以判断没有什么数据)。
二、准备编译安装proftpd 1.8.3rc3环境
①、下载proftpd1.3.8rc3
官网下载:http://www.proftpd.org/
wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.8rc3.tar.gz
②、yum安装依赖
2.1、由于Centos6.5版本较老了,可能需要配置yum源
2.2、备份原有的源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
2.3、清空原来的源,配置阿里云yum源
echo " " > /etc/yum.repos.d/CentOS-Base.repo
vim /etc/yum.repos.d/CentOS-Base.repo
将以下内容填入yum源文件
[base]
name=CentOS-6
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/os/x86_64/
gpgcheck=0
或者也可以直接下载yum文件
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo
或者wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo
2.4、生成缓存
yum clean all#清除全部
yum makecache#生成缓存
2.5、安装编译需要的依赖
yum -y install gcc gcc-c++ autoconf automake gettext-devel
三、编译安装Proftpd1.8.3 rc
①、编译
[root@localhost proftpd-1.3.8rc3]# pwd
/usr/local/src/proftpd-1.3.8rc3
[root@localhost proftpd-1.3.8rc3]# ./configure --enable-nls --prefix=/usr/local/proftpd
②、安装
make && make install
看到如下信息没什么报错那就安装成功了
if [ ! -f "./zh_CN.po" ]; then \
msginit --no-translator -i ./proftpd.pot -o "./zh_CN.po" -l zh_CN; \
fi
if [ -f "./zh_CN.po" -a ! -f zh_CN.mo ]; then \
msgfmt -o zh_CN.mo "./zh_CN.po"; \
fi
if [ ! -f "./zh_TW.po" ]; then \
msginit --no-translator -i ./proftpd.pot -o "./zh_TW.po" -l zh_TW; \
fi
if [ -f "./zh_TW.po" -a ! -f zh_TW.mo ]; then \
msgfmt -o zh_TW.mo "./zh_TW.po"; \
fi
for lang in bg_BG en_US es_ES fr_FR it_IT ja_JP ko_KR ru_RU zh_CN zh_TW ; do \
if [ -f ../locale/$lang.mo ]; then \
if [ ! -d /usr/local/proftpd/share/locale/$lang/LC_MESSAGES ]; then \
mkdir -p /usr/local/proftpd/share/locale/$lang/LC_MESSAGES; \
chown root:root /usr/local/proftpd/share/locale/$lang/LC_MESSAGES; \
chmod 0755 /usr/local/proftpd/share/locale/$lang/LC_MESSAGES; \
fi; \
/usr/bin/install -c -o root -g root -m 0644 $lang.mo /usr/local/proftpd/share/locale/$lang/LC_MESSAGES/proftpd.mo; \
fi; \
done
make[1]: Leaving directory `/usr/local/src/proftpd-1.3.8rc3/locale'
[root@localhost proftpd-1.3.8rc3]#
[root@localhost proftpd-1.3.8rc3]# ls -l
四、配置开机启动
①、拷贝服务文件
[root@localhost proftpd-1.3.8rc3]# pwd
/usr/local/src/proftpd-1.3.8rc3
[root@localhost proftpd-1.3.8rc3]# cp contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd
拷贝 proftpd.init.d 到 /etc/rc.d/init.d 文件夹中,重命名为proftpd
②、修改服务文件
将"[ -x /usr/sbin/proftpd ] || exit 5"改为
[ -x /usr/local/proftpd/sbin/proftpd ] || exit 5
将start部分中的daemon proftpd改为
daemon /usr/local/proftpd/sbin/proftpd
增加/etc/rc.d/init.d/proftpd执行权限
chmod +x /etc/rc.d/init.d/proftpd
centos注册proftpd服务
chkconfig --add proftpd
设置开机启动
chkconfig --level 35 proftpd on
接下来就可以用ftp尝试登录测试了
五、测试FTP功能是否正常
①、创建系统用户
[root@localhost proftpd]# useradd -d /opt/data/ -s /sbin/nologin ftpuser
指定ftpuser家目录为/opt/data ,并授权
[root@localhost opt]# chown ftpuser:ftpuser /opt/data/
②、设置密码
[root@localhost opt]# echo "**********" |passwd ftpuser --stdin
测试文件上传
检查服务器ftpuser 家目录
[root@localhost opt]# ls -l /opt/data/
total 4
drwxr-xr-x. 2 ftpuser ftpuser 4096 May 26 06:16 西安VPN客户端
[root@localhost opt]# ls -l /opt/data/西安VPN客户端/
total 96028
-rw-r--r--. 1 ftpuser ftpuser 96490360 Oct 19 2021 FortiClientSetup_6.0.4.0182_x64.exe
-rw-r--r--. 1 ftpuser ftpuser 1562016 Jun 20 2021 sslvpnclient_win_4.4.2333.exe
-rw-r--r--. 1 ftpuser ftpuser 271158 Nov 21 2021 西安数据中心VPN操作手册.docx
[root@localhost opt]#
注:防火墙需要放行21端口,或者关闭防火墙 service iptables stop
参考:https://blog.51cto.com/soarwilldo/1339565
参考:https://blog.youkuaiyun.com/qq_42646907/article/details/123277422