
Stephen William Hawking
扎根基础,精进技术,攻防兼具。做一名捍卫互联网精神的信息安全勇士。

[ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP #将daohanggou.wang重定向到daohanggou.cn RewriteCond Host: ^daohanggou\.wang$ RewriteRule (.*) http\://daohanggou\.cn$1 [I,RP] #将www.daohanggou.wang重定向到daohanggou.cn RewriteCond Host: www\.daohanggou\.wang$ RewriteRule (.*) http\://daohanggou\.cn$1 [I,RP] #将www.daohanggou.cn重定向到daohanggou.cn RewriteCond Host: www\.daohanggou\.cn$ RewriteRule (.*) http\://daohanggou\.cn$1 [I,RP]
注:上述方法不需要虚拟主机支持伪静态。
作者:荒原之梦
xz -d your_file_name.tar.xz
注:运行上述命令后your_file_name.tar.xz会被删除
tar -xvf your_file_name.tar
注:运行上述命令后your_file_name.tar会被删除
注:
1.“.xz”是一种压缩文件格式。Linux系统中常使用的压缩文件格式还有“.gz”,”.bz2″等。关于xz的更多内容,可以使用“man xz”查看。
2.“.tar”是一个文件打包格式。tar命令本身只用于打包或解包,tar本身并没有压缩和解压缩的功能。关于tar的更多内容,可以使用“man tar”查看。
作者:荒原之梦
本文中使用的Debian是安装在VirtualBox中的虚拟机,具体参数如下:
Debian版本:Linux debian 4.9.0-4-amd64
VirtualBox版本:VirtualBox 5.2.6
Debian虚拟机安装VirtualBox增强功能的具体步骤如下:
打开Debian虚拟机并登陆,依次点击VirtualBox的“设备->安装增强功能”。
这时我们可以在Debian的桌面上看到一个光盘图标,例如我的计算机上图标的名称是:
VBox_GAs_5.2.6
在VBox_GAs_5.2.6图标上右键选择“挂载卷”,之后我们就可以在“/media/cdrom0”路径下看到VBox_GAs_5.2.6中的内容了。
切换到/media/cdrom0路径下:
cd /media/cdrom0
注:如果不执行这一步,直接执行下一步(第3步)可能会出现如下报错:
his system is currently not set up to build kernel modules.
Please install the gcc make perl packages from your distribution.
Please install the Linux kernel “header” files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
报错的原因是没有安装内核头文件,因此,我们首先安装内核头文件。
获取系统内核版本信息:
uname -r
例如在我的计算机上上述命令的执行结果是:
4.9.0-4-amd64
下一步命令我们需要使用这个参数。
安装内核头文件,命令:
apt-get install build-essential linux-headers-内核版本号
例如在我的计算机上需要执行的命令就是:
apt-get install build-essential linux-headers-4.9.0-4-amd64
进入/media/cdrom0路径:
cd /media/cdrom0
开始安装:
sh ./VBoxLinuxAdditions.run
reboot
在VirtualBox的“设备”选项下依次将“共享粘贴板”和“拖放”设置成“双向”即可在虚拟机与物理机之间共享粘贴板并实现文件的互相拖放,Debian的显示分辨率也会自动调整。
作者:荒原之梦
当熟悉的场景出现在异乡陌生的梦里
一只小狗的命运主宰了整个剧情的发展
大地长出的浮雕
成了用于交易的创造
在那个光怪陆离的世界
当一条街道成了一个准则
一碗面条也成了一种象征
梦里的人啊
从未意识到自己就是那个世界的主宰
或许主宰从不属于他所主宰的世界
只有从梦中醒来
才会意识到梦的荒诞
一条路
两个方向
看啊
地球是那样优美的圆
上帝早已原谅了那些走错方向的你我
无论走向哪一个方向
都会回到故乡
前言:
最近想给导航狗IT信息导航做一个文件服务器专门存放文件,以提供引用或下载。于是,我在000webhost上申请了一台免费虚拟主机,并给这个虚拟主机空间绑定了一个导航狗的二级域名files.daohanggou.wang .
Park domain – Park domain to 000webhost nameservers. When you want to access your website without www (Recommended)Point domain – Have a domain name, but do not want to change namservers. When you want to have full control of your DNS zone
记录类型:CNAME "将域名指向另外一个域名" 主机纪录:files "这里根据你想设置的二级域名的名字填写" 解析路线:默认 记录值: "填写000webhost提供的免费二级域名" TTL值:10分钟
files.daohanggou.wang
git remote set-url origin <new url>
作者:荒原之梦
最先出现的加密方法是对称加密。在对称加密算法中是不区分公钥和私钥的,加密与解密使用的都是同一个密码。但是很显然,如果需要对信息进行加密与解密的不是同一个人,使用对称加密算法就存在密钥泄露的极大可能。因此,一种非对称加密的想法在1974年最先由Ralph C. Merkle提出。目前主要的非对称加密算法有:RSA、EIGamal、ECC、背包算法和D-H公钥加密算法等。
A使用公钥加密算法创建一个自己的公钥A-1和私钥A-2。私钥A-2由A自己保管,不对外公开。公钥A-1则通过一些可信的渠道公布出去,例如使用了HTTPS的网页(这里之所以强调“HTTPS”是因为HTTPS协议对传输的信息做了加密,如果将公钥放在使用HTTP协议的网页上,由于HTTP是明文传输网页数据的,因此在传输的过程中有可能因为遭遇中间人攻击等而出现公钥被修改的可能。前文提到“可信的渠道”也是出于此原因。)、公钥服务器或者面对面传递公钥。B在拿到A的公钥A-1后,如果B想给A发送加密信息就可以使用公钥A-1进行加密后再发送给A,A收到加密信息后使用自己知道的,与公钥A-1对应的私钥A-2解密B发来的加密信息。
上述信息加密过程的一个应用就是本文接下来要介绍的发送使用公钥加密的电子邮件并用对应的私钥解密该邮件。公钥加密算法还有一个应用就是用于身份认证,即数字签名技术。
传统的签名可以通过签字人笔迹的唯一性确定信息的所有者。在计算机系统中,我们使用公钥加密算法进行数字签名。首先,仍然是生成一对公钥和私钥,公钥公布,私钥私有,但是这一次私钥不是用来解密的,而是用于加密的。由于私钥的与公钥具有数学上的关联性(虽然公钥与私钥具有相关性,但是使用目前主流的非对称加密算法并且在密钥长度足够复杂的情况下还没有找到破解这种关联性的有效的方法。2018年02月10日注),即一个公钥只对应一个私钥,只要一份文件可以通过一个公钥解密,那么在一般情况这份文件就是由这个公钥所对应的私钥的持有者加密的。这样就可以进行身份认证。
信息加密中,公钥加密,私钥解密;
数字签名中,私钥加密,公钥解密;
无论信息加密还是数字签名都是:公钥公开,私钥保密。
Thunderbird下载地址:https://www.mozilla.org/en-US/thunderbird/
1.Thunderbird
这是一个邮件客户端,有很多插件可以使用,支持Windows、Linux和macOS.
2.GPG
GPG即GnuPG,是由自由软件基金会Free Software Foundation 开发的用于替代商业软件PGP的一款免费软件,可以用来加密数据以及进行数字签名。PGP中使用了具有专利的算法,不能免费使用,而GPG中则没有使用具有专利的算法,可以免费使用。
3.Enigmail
Enigmail是Thunderbird的一个插件,可以对将要发送的邮件进行GPG公钥加密或对收到的使用GPG加密的邮件进行解密。
1.下载安装GPG并创建密钥对
GPG官网下载地址:https://www.gnupg.org/download/index.html
或者也可以使用Gpg4win,Gpg4win官网:https://www.gpg4win.org/index.html
本文中使用的是Gpg4win.
Gpg4win安装完成后在默认情况下会打开Kleopatra,点击“创建密钥对”。
输入名字和邮箱,依次点击:下一步–>创建
创建的过程中会要求设置一个密码以保护将要生成的私钥,这样可以防止私钥被越权使用。
稍等一会我们就可以看到“密钥对已成功创建”的窗口提示。在该窗口里我们还可以看到密钥指纹(密钥指纹可以用来验证密钥在传输的过程中是否被修改。指纹的另一个重要用途就是,由于公钥服务器并不会对上传的公钥进行身份验证,因此任何人都可以以你的名义上传公钥,为了防止这种情况发生,你可以在你的个人主页上公布自己的密钥指纹,以提供给下载了你的公钥的人用于验证公钥的真伪。)以及“生成您的密钥对副本”、“通过电子邮件发送公钥”和“将公钥上传到目录服务”(如果将公钥上传到了公钥服务器,不同的公钥服务器之间会相互交换公钥,最终你上传到一台公钥服务器上的公钥会遍布全网所有公钥服务器。之后,任何人都可通过该公钥对应的电子邮件地址或者密钥ID查找对应的公钥,从而向我们发送加密信息)这三个选项。
密钥对创建完成后,我们可以在Kleopatra中看到刚才创建的项目,选中该项目可以导出“.asc”格式的公钥,右键可以进行“更改到期日期”等更多操作。
2.在Thunderbird中搜索安装插件Enigmail并配置密钥文件
关于在Thunderbird中安装插件的步骤,可以参考我的这篇文章Windows上设置Mozilla Thunderbird邮件客户端后台运行。
打开Thunderbird的设置,依次找到Enigmail->Key Management->File->Import Keys from File 可以导入某个邮箱地址的公钥文件或者在搜索框中通过输入邮箱地址或密钥ID在公钥服务器上搜索对应的公钥。如果已使用GPG创建密钥对的电子邮件地址已经登陆了Thunderbird可以直接在Key Management里看到相关信息,不需要进行密钥文件配置。
安装Enigmail后,如果我们的Thunderbird上的一个邮箱账户没有设置GPG公钥,当我们使用该账户发信时就会弹出如下的警报:
The key ID 'XXX@XXX.XXX' configured for the current identity does not yield a usable OpenPGP key. Please ensure that you have a valid, not expired OpenPGP key and that your account settings point to that key. If your key is not expired, then check if you did set Owner trust to full or ultimate
这种情况下,除非对该账号设置GPG公钥或者卸载Enigmail,否则就无法在发送邮件时解除该警报,也无法在Thunderbird上使用该账号发送邮件。
3.发送加密电子邮件
假设我们需要向AAA@AAA.AAA这个电子邮件地址发送GPG加密邮件,首先应该使用第二步介绍的方法导入AAA@AAA.AAA对应的公钥文件(该文件将用于加密邮件),或者通过邮件地址AAA@AAA.AAA或对方的密钥ID在公钥服务器上搜索其公钥,搜索到的公钥需要进行指纹验证以确保该公钥不是伪造的。
当我们第一次使用一个已经设置GPG公钥的电子邮件地址向另外一个具有GPG公钥的电子邮件地址发送邮件时会弹出确认提示:
You did not yet configure Enigmail security for the selected identity. Do you want to do this now?
点击Configure ,选中Enable OpenPGP support (Enigmail) for this identity ,点击OK . 之后会弹出窗口询问我们是想使用GPG进行加密还是进行身份认证以及使用哪种GPG加密方式:
Enigmail Encryption & Signing Settings Encrypt Message Sign Message Use Inline PGP Use PGP/MIME
这里我们选择Encrypt Message 和Use PGP/MIME ,点击OK .
在发送邮件之前,我们可以通过点击工具栏上的小锁在加密与不加密之间切换。
4.解密收到的加密电子邮件
假设我们的一个邮箱地址BBB@BBB.BBB接收到一封GPG加密的电子邮件(该邮件使用的是BBB@BBB.BBB的公钥进行的加密),那么,我们就可以在安装有GPG软件的电脑上(且该电脑上存储有BBB@BBB.BBB的私钥)使用邮件客户端,通过输入BBB@BBB.BBB的私钥加密密码的方式解密该邮件。在网页端登陆邮箱,需要配合插件来解密GPG加密的邮件。
注1:前面设置密钥对时设置的密码并不是私钥,而是加密私钥的密码,仅仅使用该密码是不可以解密邮件的,必须配合私钥文件一起才能解密。
注2:GPG加密的邮件并不会加密邮件地址和标题。
Rename from 'XXXX/.git/refs/remotes/origin/master.lock' to 'XXX/.git/refs/remotes/origin/master' failed. Should I try again? (y/n)
error: Couldn't set refs/remotes/origin/master error: update_ref failed for ref 'refs/remotes/origin/master':
cd .git/refs/remotes/origin
echo ref: refs/remotes/origin >master.lock
前言:“Ping”属于ICMP协议(即“Internet控制报文协议”),而ICMP协议是TCP/IP协议的一个子协议,工作在网际层。ICMP协议主要用于传输网络是否连通、主机是否可达以及路由是否可用等控制信息。Ping可以回显TTL生存时间,网络延迟等信息,而且响应Ping请求也会消耗服务器资源。因此,在服务器上禁用ICMP响应可以尽可能的隐藏服务器在Internet上的踪迹,降低受攻击面。本文介绍三种方法禁用(或启用)ICMP响应,即禁止(或允许)Ping.
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
注0:由于/proc/sys/net/ipv4/icmp_echo_ignore_all 这个文件是只读的,即使我们使用root用户登陆,vim打开/proc/sys/net/ipv4/icmp_echo_ignore_all ,将里面的 0 该为1 之后使用qw! 强制保存也无法完成修改。因此上面这个方法只是临时的,一旦服务器重启就又会回到默认的 0 状态(假设修改前/proc/sys/net/ipv4/icmp_echo_ignore_all 里面的值就是 0 )。如果想永久修改(当然也可以改回来,只是不再受服务器关机或重启的影响)请使用方法二或方法三。
vim /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1
sysctl -p
vim /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_all = 0
net.ipv4.icmp_echo_ignore_all = 0
sysctl -p
注1:如果想启用ICMP响应,不能直接在/etc/sysctl.conf 里删除net.ipv4.icmp_echo_ignore_all = 1 之后sysctl -p . 这样做仍然是禁止Ping的状态,此时使用命令:vim /proc/sys/net/ipv4/icmp_echo_ignore_all 查看发现其值仍然是1 , 即仍处于拒绝ICMP响应的状态。
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
iptables -D INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
-A:添加防火墙规则. INPUT:入站规则. -p icmp:指定包检查的协议为ICMP协议. --icmp-type 8:指定ICMP类型为8(关于ICMP类型与数值的对应关系和功能,见注3). -s:指定IP和掩码,“0/0”表示此规则针对所有IP和掩码. -j:指定目标规则,即包匹配则应到做什么,"DROP"表示丢弃.
注2:由于方法三是对防火墙进行的设置,所以使用方法三禁止Ping后只会阻止来自外网的Ping请求,内网主机的Ping请求仍然会正常响应。使用方法一和方法二禁止Ping后不仅会阻止外网的Ping请求也会阻止内网的Ping请求。
注3:ICMP数值类型与功能表
|
Type
|
Code
|
Description
|
Query
|
Error
|
|
0
|
0
|
Echo Reply
|
x
|
|
|
3
|
0
|
Network Unreachable
|
x
|
|
|
3
|
1
|
Host Unreachable
|
x
|
|
|
3
|
2
|
Protocol Unreachable
|
x
|
|
|
3
|
3
|
Port Unreachable
|
x
|
|
|
3
|
4
|
Fragmentation needed but no frag. bit set
|
x
|
|
|
3
|
5
|
Source routing failed
|
x
|
|
|
3
|
6
|
Destination network unknown
|
x
|
|
|
3
|
7
|
Destination host unknown
|
x
|
|
|
3
|
8
|
Source host isolated (obsolete)
|
x
|
|
|
3
|
9
|
Destination network administratively prohibited
|
x
|
|
|
3
|
10
|
Destination host administratively prohibited
|
x
|
|
|
3
|
11
|
Network unreachable for TOS
|
x
|
|
|
3
|
12
|
Host unreachable for TOS
|
x
|
|
|
3
|
13
|
Communication administratively prohibited by filtering
|
x
|
|
|
3
|
14
|
Host precedence violation
|
x
|
|
|
3
|
15
|
Precedence cutoff in effect
|
x
|
|
|
4
|
0
|
Source quench
|
||
|
5
|
0
|
Redirect for network
|
||
|
5
|
1
|
Redirect for host
|
||
|
5
|
2
|
Redirect for TOS and network
|
||
|
5
|
3
|
Redirect for TOS and host
|
||
|
8
|
0
|
Echo request
|
x
|
|
|
9
|
0
|
Router advertisement
|
||
|
10
|
0
|
Route solicitation
|
||
|
11
|
0
|
TTL equals 0 during transit
|
x
|
|
|
11
|
1
|
TTL equals 0 during reassembly
|
x
|
|
|
12
|
0
|
IP header bad (catchall error)
|
x
|
|
|
12
|
1
|
Required options missing
|
x
|
|
|
13
|
0
|
Timestamp request (obsolete)
|
x
|
|
|
14
|
Timestamp reply (obsolete)
|
x
|
||
|
15
|
0
|
Information request (obsolete)
|
x
|
|
|
16
|
0
|
Information reply (obsolete)
|
x
|
|
|
17
|
0
|
Address mask request
|
x
|
|
|
18
|
0
|
Address mask reply
|
安装完WordPress后,默认的登陆地址就是:http://XXX.XXX/wordpress/wp-admin/(其中”XXX.XXX”表示你的网站域名)由于这个时候网站后台登陆地址相当于是公开的,所以就很容易受到攻击,例如暴力破解。
add_action('login_enqueue_scripts','login_protection');
function login_protection(){
if($_GET['master'] != 'hello')header('Location: https://XXX.XXX');
}
1 其中master(标记信息) 、hello(标记信息) 和XXX.XXX(网址) 都可以自定义。2 URL是区分大小写字母的,所以设置标记信息时大小写字母和数字都可以使用(参见:HTML and URLs )。3 由于URL编码中特殊字符一般都有专用含义,所以如果标记信息中使用了特殊字符需要确认一下是否能正常登陆。
http://www.XXX.XXX/wordpress/wp-login.php?master=hello
http://www.XXX.XXX/wp-login.php?master=hello
http://zhaokaifeng.com/wordpress/wp-admin/
http://zhaokaifeng.com/wordpress/wp-admin/index.php
http://zhaokaifeng.com/wordpress/wp-admin/
作者:荒原之梦
Coding官网:https://coding.net
Coding Pages官网页面:https://coding.net/pages/
可以先使用邮箱注册,之后再绑定手机号(如果不想升级成银牌会员也可以不绑定手机号)。
普通会员没有自定义域名的权限,银牌会员可以绑定自定义域名。

项目名称一栏填写:
username.coding.me
其中username 必须是当前Coding账号的用户名。
项目属性设置为私有 。
勾选启用README.md文件初始化项目 复选框。
点击创建项目 。
点击代码->上传文件 开始上传网页文件。
选中并打开网页文件。
填写提交说明 。
点击提交到master分支 。
提交代码时,不会上传文件夹。因此如果本地中在一个文件夹里面还有其他文件夹,要注意单独上传这些文件夹里面的内容,如果其他文件中引用了该文件夹中的内容要注意修改路径。
Pages服务提供有“静态Pages”和“动态Pages”两种模式,下面的过程使用的是静态Pages.
点击Pages服务 。
在部署来源 中选中master分支点击保存 。
这时我们就可以看到Coding Pages成功运行的提示:

在域名注册商的域名管理页面将自己购买的域名的CNAME 记录到pages.coding.me .


添加解析记录时要添加@ 和www 两个主机纪录,绑定域名时也要绑定XXX.XXX 和WWW.XXX.XXX 两个。这是为了保证无论用户在输入我们的网址时是否输入了www. 都可以打开网站。如果不添加www 主机纪录,输入WWW.XXX.XXX 是打不开我们的网站的。

在Pages服务 页面分别将XXX.XXX 和WWW.XXX.XX 输入自定义域名 框,点击绑定 。

www.daohanggou.wang 是“完全限定域名FQDN”(即“网址”),而dohanggou.wang 是“域名”。
使用HTTPS加密传输网站文件可以在很大程度上防止中间人攻击。为了最大程度的确保全站HTTPS加密,网站中使用的外链也应该是HTTPS加密的URL,例如图片的URL。
Hosted by Coding Pages有文字版和图片版两种,文字版代码如下:
<p>Hosted by <a href="https://pages.coding.me" style="font-weight: bold">Coding Pages</a></p>
如果没有购买Coding会员,可以将上面的代码(或Hosted by Coding Pages图片)添加到网站首页,之后选中已放置 Hosted by Coding Pages 复选框就会自动提交审核,如果审核通过则我们的Coding Pages在被访问时就不会加载Pages跳转页。
作者:荒原之梦
Windows 10
52.6.0(32-bit)
Thunderbird官网页面:https://www.mozilla.org/zh-CN/thunderbird/
目前版本的Thunderbird本身并没有可以使我们在点击了关闭按钮后进入后台运行的选项,一旦我们关闭了Thunderbird可能就无法及时获得新邮件提醒。但是,如同Mozilla的Firefox浏览器一样,Mozilla Thunderbird也有很多插件可以使用,本文就通过安装插件的方法使Thunderbird可以进入后台运行模式。


查找可以使Thunderbird进入后台运行的插件。

这里我们选择搜索结果的第一个插件Minimize To Tray results ,根据介绍它可以Minimize windows into the system tray, 正好符合我们的要求。但是该插件后面并没有显示Add to Thunderbird 按钮,而是显示一个警示信息:
This add-ons is not compatible with your version of Thunderbird.

点击该插件会打开浏览器。

这时我们发现,该插件支持的Thunderbird版本是31.0-50.* ,而我们使用的是52.6.0 版本的Thunderbird. 不过没关系,该插件在52.6.0 版本的Thunderbird上仍然可以使用,只是我们需要手动安装它了。
点击Download for Windows 下载该插件。

重复第二步,在Thunderbird中打开Add-ons Manager 页面,点击Plugins->小齿轮->Install Add-on From File .

之后选中刚才下载的插件,依次点击打开->Install Now , 随后会提示我们重启Thunderbird,点击Restart Now .
重启Thunderbird后我们就可以在Extensions 里找到Minimize To Tray revived(MinTrayR) 这个插件了,点击Options 可以对其进行设置。这里我们选择Minimize to tray的工作模式是Instead of closing, 也就是Minimize to tray instead of closing. 这时我们再点击Thunderbird的关闭按钮时Thunderbird就会进入后台运行,有新邮件时我们就可以及时收到提示。
作者:荒原之梦
下载系统映像:BlackArch Linux官网下载页面
在本文中我使用的是BlackArch Linux的Live ISO,这样可以减少安装时下载系统的时间。BlackArch的Live ISO文件有7.5G,我们可以使用BT种子来下载,这里是BlackArch 2017.12.11 版本的BT种子,同时也是本文中使用的BlackArch版本。
另外,BlackArch Linux官网还提供有BlackArch 2017.06.18 版本的OVA Image下载,该文件下载完成后可以直接使用VirtualBox或VMware打开使用,文件大小为18G,启动系统后默认的用户名和密码为:root:blackarch ,BlackArch OVA Image的BT种子可以在这里下载。
注:较新版本的BlackArch中只提供有64位的版本,BlackArch Linux官网不再提供新版本BlackArch的32位版本。
BlackArch官网:https://blackarch.org/index.html
BlackArch Linux是一个基于Arch Linux的主要用于渗透测试的操作系统,集成超过1900种工具。BlackArch是一个志愿项目,由志愿者维护开发,如图是部分志愿者的信息:


内存:2G
硬盘:64G
点击启动 ,在选择启动盘 对话窗口添加我们已经下载的Live ISO. 之后点击启动 :

这时就进入安装程序了,选中第一项,回车:

之后输入用户名和密码就登陆进系统了:
root:blackarch
由于我们使用的是Live ISO,可以不用联网就完成安装,但是在这里我们还是先连上网再进行安装,联网方法:
右键->network->wicd-gtk

这样就打开了网络连接的图形化界面,点击Connect 就可以自动联网了。

连上之后是这样的:

右键选择terminals ,选择一种颜色的终端输入:
ping www.baidu.com
显示可以Ping 通:

在之前版本的BlackArch中为了检查网络是否已经连接,在脚本中采用的是ping www.google.com 的方式进行判断的,本文中使用的这个版本则将用于判断网络是否正常连接的网址更换成了http://github.com :
输入命令:
vim /bin/blackarch-install

如果你的网络能连接http://github.com 就不需要做任何更改,否则就需要换成一个你的网络状态下可以访问的网址。
输入命令:
blackarch-install
输入2 :

输入1 :

这里让我们选择键盘类型,一般在中国大陆销售和使用的计算机键盘都是美式全键盘,因此这里输入us :

这里让我们设置一个主机名,根据自己的想法设置就可以:

这里设置将BlackArch安装在哪块硬盘上,由于我的虚拟机里只挂载了一块硬盘,这里也就只显示了sda ,输入sda :

输入y 使用cfdisk 创建root 、boot 和swap 三个分区:

安装脚本询问我们是否从内存的第0位分区表开始,输入y :

选择dos 并回车:

下面开始分区了。
选中New 并回车:

输入500M 并回车:

选中primary 并回车:

选中刚才创建的分区并选中Bootable 并回车:


至此,Boot引导分区创建成功。
选中空闲空间之后选中New 并回车:

输入512M 并回车:

选中primary 并回车:

在这个分区里我们需要指定一个不同的分区类型。选中Type 并回车:

选中82对应的Linux swap / Solaris 并回车:

至此,Swap交换分区创建成功。
仍然是选中空闲空间,选中New 并回车:

这一次不需要输入分区大小了,就按默认的,也就是将剩下的全部磁盘空间都划分到Root根分区:

选中primary 并回车:

至此,Root根分区创建成功。
现在,我们需要保存分区表。选中Write 并回车:

输入yes 确认所做的更改:

现在可以退出磁盘分区了,选中Quit 并回车:

接下来安装脚本会询问我们是否加密整个Boot分区,如果没有敏感信息可以选择不加密:

第一个是Boot分区,在/dev/sda1 ,输入:
/dev/sda1
Boot分区的文件系统类型设置为Ext4 ,输入:
ext4
第二个是Root分区,在/dev/sda3 ,输入:
/dev/sda3
Root根分区的文件系统类型设置为Ext4 ,输入:
ext4
第三个是Swap交换分区,在/dev/sda2 ,输入:
/dev/sda2
Swap交换分区不用指定文件系统类型。
这一步询问分区是否正确,输入y :

是否确认格式化分区,输入y :

安装正式开始了,Grab a coffee or make sex:

等待一段时间后就开始设置登陆账户了,首先设置root账户密码:

现在输入y 创建一个普通账户:

设置普通账户的密码:

输入y 选择时区:

输入UTC 选择世界标准时间:

完蛋了,Game Over了……

这只是一个小玩笑,输入reboot 重启后就可以进入安装好的BlackArch Linux系统了:
