首页 > 编程知识 正文

ubuntu服务器安装教程,linux文件服务器搭建

时间:2023-05-06 12:11:21 阅读:113288 作者:4128

Ubuntu构建BT服务器FTP服务器以公开种子。 最近,为了实现文件的上传下载,要求乘坐简单的BT服务器。 因为认为公开种子是内部使用,所以想做成FTP,但是中途踩了好几个洞,所以写Blog自己记录具体的过程。

3358 www.Sina.com/http://www.Sina.com /实施版本: Ubuntu 17.04/18.04已全部测试

BT服务器构建工具-BitTorrent可以使用BitTorrent工具轻松创建自己的BT Tracker服务器,但现在很难在网上找到工具的资源,于是可以访问BitTorrent官方网站我自己上传了一个来这里取的。 链接: https://pan.Baidu.com/s/1 gkjgawhvzeslevj5ftv gkg密码: cef5

不管用什么方法,请先放在你的Linux系统下面。 不管位置如何。 此处基于放在/home下(虽然我从未真正尝试将其放在其他位置,但实践证明将其存储在/usr/local/src文件夹下是可行的)。 在进行下一步之前,确保下一个系统中存在Python2,然后直接安装一个就可以了。

Apt安装python。

没有权限的话自己sudo。 不说明。

安装python后,解压缩上传到Linux的tar文件。

tar-xzvf BitTorrent-4.0.3.tar.gz

命令结束后,将在同一目录中得到文件夹BitTorrent-4.0.3。 进入目录后输入ls,会显示一大堆. py文件。 所以我需要Python2。 因为是BT服务器搭建工具-BitTorrent,所以只有Python3还不行。

有很多以bt开头的. py文件,但这里只需要使用几个。 稍后再说。 现在,首先运行setup.py,将运行其他BT源代码所需的库文件添加到Python2中。

python setup.py install

此命令完成后,可以开始运行目录中的. py文件。 首先是构建BT服务器最重要的跟踪器。

pythonbttracker.pyport 6969dfile/home/log

端口指定跟踪器使用的端口号。

dfile :指定服务器运行log的输出文件。

使用此命令可以生成跟踪器,并通过输入http://服务器的ip:端口号进行访问。

因为服务器现在刚刚启动,所以没有可以跟踪的种子。 必须自己手动创建种子。 当然,您可以使用BitTorrent等工具创建种子,但我个人从未尝试过,因此,这里将介绍如何使用BitTorrent源工具创建种子。 直接拿到刚解压还没删除的tar压缩包进行练习比较好。

首先,创建用于存储和管理源文件的新文件夹,然后创建用于存储种子文件的新文件夹。 这里分别命名为data和torrent。 将压缩包放在data文件夹下,然后执行以下操作:

python btmaketorrent.py http://服务器ip:端口号/announce/home/data/BitTorrent-4.0.3.tar.gz

此命令可以在目标文件所在的目录中创建种子文件,并使用指定的跟踪器进行跟踪。 现在, torrent文件应该会出现在data文件夹下。 导航到种子文件夹下。

现在还有种子。 用F5查看服务器的页面吧。 但是追踪器还没有开始追踪。 这是因为实际上种子产生后还没有人开始种子,所以服务器不知道你产生了这样的种子。 然后,通知服务器已创建种子,服务器本身开始创建第一个源,供其他用户下载。 要实现此功能,请运行btlaunchmany.py。

pythonbtlaunchmany.pydata _ dir/home/datatorrent _ dir/home/torrent

这样,我们的种子文件就已经为服务器所知了。

? 但是服务器上显示的是下载,表示正在下载,没有开始制种…

这是因为种子目录中没有所需的文件,btlaunchmany认为这是未能下载的文件,正在申请下载。 在这种情况下,只需将data文件夹下的原始文件硬连接到torrent目录下即可。

ln/home/data/BitTorrent-4.0.3.tar.gz/home/torrent

然后运行btlaunchmany,可以让其他计算机开始下载。

在Ubuntu构建FTP服务器FTP服务器才是真正的一步…基本上,除了第一个sudo apt安装vsftpd以外,你只需要继续踩着洞。 先冷静下来,进入下一步吧。

在Ubuntu搭建FTP服务器

它被认为是Linux上最容易使用的FTP服务器构建工具,但实际使用时

候反而是走一步踩一个坑,网上的教程实在是太杂乱了,所以还是自己总结了一份以便以后万一会用到。

apt install vsftpd

注:vsftpd需要的环境一般在默认的Ubuntu系统中都已经配置好了,所以一般都可以直接上手使用。

配置vsftpd
在安装结束之后,与网上某些版本的介绍不同,3.0.3版本的vsftpd的配置文件是直接放在/etc文件夹下的,可以用vim编辑器直接编辑。以下贴出个人的vsftpd.conf设置,仅供参考对照修改:

listen=NO #默认配置为NO,表示vsftpd是直接在systemctl启动的listen_ipv6=YES #默认配置为YES,表示vsftpd监听ipv6端口anonymous_enable=NO #默认配置为NO,禁止匿名用户访问,这样能够一定程度上提高FTP的安全性。local_enable=YES #配置为YES,表示允许本地用户访问。这是本教程访问FTP服务器的主要方式。write_enable=YES #配置为YES,表示允许用户写入数据。local_umask=022 #默认配置是注释,这里取消表示默认的umask是022(具体介绍可以移步http://blog.sina.com.cn/s/blog_49fd52cf0100nekk.html)dirmessage_enable=YES #配置为YES表示用户进入新目录时返回目录信息。use_localtime=YES #使用服务器时间。xferlog_enable=YES #记录上传/下载日志。connect_from_port_20=YES #从端口20连接,保持默认设置就好。ftpd_banner=Welcome to blah FTP service. #用户登录时返回的问候语。chroot_local_user=YES #设置本地用户登录是否将其限制在其主目录下。chroot_list_enable=YES #设置是否要使预设的限制用户名单生效。chroot_list_file=/etc/vsftpd.chroot_list #使用的限制用户名单路径。以上三条建议启用并配置。secure_chroot_dir=/var/run/vsftpd/empty #建议保持默认配置,是在vsftpd不需要文件系统权限时访问到的空目录。pam_service_name=vsftpd #保持默认配置,表示使用的pam服务名。rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pemrsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.keyssl_enable=NO #不使用SSL所以不要更改#启用允许登录的用户名单,这样的配置表示只允许userlist_file名单里的用户登录。userlist_enable=YESuserlist_deny=NOuserlist_file=/etc/user_list#开始ftp服务器的被动模式pasv_enable=YESpasv_min_port=12800pasv_max_port=12900

配置结束后,使用vim创建两个新的文件,一个命名为user_list,一个命名为vsftpd.chroot_list,在两个文件里都写上准备使用的用户名。个人准备的是两个用户,uploader和test,分别专门用于上传和下载。一个用户名起一行。

配置pam
配置好vsftpd之后下一步就是配置pam使得登录认证能够正确地生效。这里贴出一个参考链接:vsftpd架设(配置pam模块)
本部分的内容主要取自于这个教程。
首先安装db:

apt install db-util

然后去/etc/pam.d文件夹下,新建一个文件logins.txt,写入用户名和密码。注意是一行用户名一行密码。

保存后执行以下命令:

sudo db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
sudo chmod 600 /etc/vsftpd_login.db

以保证该数据库的权限无误。
然后编辑pam.d下的vsftpd文件,注释/删除掉所有原有的内容,添加以下几行:

# /etc/pam.d/vsftpdauth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_loginaccount required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login

然后输入以下命令重启:

invoke-rc.d vsftpd restart

就配置好pam了。

用户设置
配置好pam之后进行用户的设置。首先,在Ubuntu的系统中vsftpd的useradd指令不会再自己添加新的用户默认主文件夹了,所以我们需要手动创建,我将它们创建在home文件夹下,并命名为upload与download。
创建好文件夹之后,我们使用useradd来添加用户:

useradd -s /sbin/nologin -d /home/upload uploader #光使用这一条命令只能创建一个用户而已
passwd uploader #用这条指令来设置密码,个人没有尝试过不过不建议设置为跟pam设置中不同的密码

这样就创建了一个用户。不过只是这样的话还不行,刚刚创建好的uploader实际上还没有获得/home/upload的权限,因此我们需要手动修改它:

chown uploader /home/upload
chmod u+rwx /home/upload

这样就把upload文件夹的权限交给uploader了。用同样的方法设置好test的权限,注意只给予下载用户可读的权限。
准备完成之后就可以重启我们的vsftpd服务:

systemctl restart vsftpd.service

然后去看看我们的服务器了!

附:自动执行种子制作脚本 #!/bin/bashfor file in /home/test/*do if [ -d "$file" ] then echo "$file is a directory." elif [ -f "$file" ] then echo $file a=`basename "$file"` echo $a cp /home/test/$a /home/files python /home/BitTorrent-4.0.3/btmaketorrent.py http://你的服务器IP地址:你设置的tracker端口/announce /home/files/$a b=$a".torrent" echo $b mv /home/files/$b /home/torrent ln /home/files/$a /home/torrent cp /home/torrent/$b /home/download else echo $file fidone

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。