ubuntu20.04源码安装ftp

一、安装依赖包openssl_1.1.1f-ubuntu2.17_amd64.deb

下载网址http://cz.archive.ubuntu.com/ubuntu/pool/main/o/openssl/,找了半天在该源下只有openssl_1.1.1f-ubuntu2.18_amd64.deb了,下载应该也可。
安装sudo dpkg -i openssl_1.1.1f-ubuntu2.18_amd64.deb

二、ftp安装和配置

2.1安装

下载地址:https://toscode.gitee.com/eaglegai/vsftpd/blob/master/vsftpd-3.0.3.tar.gz
在下载目录,打开终端,执行代码:

sudo cp vsftpd-3.0.3.tar.gz /usr/local/src/
cd /usr/local/src/
sudo tar -zxvf vsftpd-3.0.3.tar.gz
cd vsftpd-3.0.3
sudo chmod +x  vsf_findlibs.sh
sudo make
sudo make install

sudo make install出错,install: 无法创建普通文件’/usr/local/man/man8/vsftpd.8’: 没有那个文件或目录
install: 无法创建普通文件’/usr/local/man/man5/vsftpd.conf.5’: 没有那个文件或目录
修改方法:修改安装目录下的Makefile文件中的文件

if [ -x /usr/local/sbin ]; then \
	install -m 755 vsftpd /usr/local/sbin/vsftpd; \
else \
	install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then \
	install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
	install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
elif [ -x /usr/share/man ]; then \
	install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
	install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
else \
	install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
	install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi

改为:

if [ -x /usr/local/sbin ]; then \
	install -m 755 vsftpd /usr/local/sbin/vsftpd; \
else \
	install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then \
	install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
	install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
elif [ -x /usr/share/man ]; then \
	install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
	install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
else \
	install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
	install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi

之后sudo make install 不报错即成功。
接下来是配置
在 vsftpd-3.0.3目录下,打开终端,执行下述代码:

sudo useradd nobody
sudo mkdir /usr/share/empty/
sudo mkdir /var/ftp
sudo useradd -d /var/ftp ftp
sudo chown root.root /var/ftp
sudo chmod og-w /var/ftp
sudo cp vsftpd /usr/local/sbin/vsftpd
sudo cp vsftpd.conf.5 /usr/local/share/man/man5
sudo cp vsftpd.8 /usr/local/share/man/man8
sudo cp vsftpd.conf /etc/直接输入1次<kbd>

vsftpd.conf配置,先用指令:sudo gedit /etc/vsftpd.conf将vsftpd.conf先进行保存,以免修改出错而找不到原版)sudo gedit /etc/vsftpd.conf,打开vsftpd.conf后,配置如下:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
file_open_mode=0777
#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/vsftpd.log
#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 blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES
ftp_username=nobody

2.2配置开机自启

1.设置启动脚本rc-local.service

cd /lib/systemd/system
sudo vi rc-local.service

在文档末尾添加

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

修改文档权限

sudo chmod 777 /lib/systemd/system/rc-local.service

ubuntu20.04没有配置文件/etc/rc.local,故新建之,rc.local文件的内容为:

#!/bin/sh
/usr/local/sbin/vsftpd & 

ps: #!/bin/sh 一定要加上,否则ubuntu不会视它为可执行文件的!我这个大冤种

给/etc/rc.local文件加权限

sudo chmod 777 /etc/rc.local

创建在/etc/systemd/system/目录下的软连接

ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/

重启,开机后在终端输入

ps -ef | grep vsftpd

如果有vsftpd运行的进程,则说明开机自启设置成功。

三、测试ftp是否配置成功

我的测试方法是用两台电脑,互相 ftp 对方IP,若成功,则成功;不成功则重新配置vsftpd.conf

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值