博文

[随笔] 我一定要吐槽一下

    这一篇博文其实是送个刚参加完高考的同学的。     如果你对计算机仅仅是感兴趣的话,一定不要选计算机系,一定不要选计算机专业!     如果你已经做好全身心的投入计算机领域的话,一定要选计算机专业的话,一定不要选跟Linux有关的专业,比如服务器系统,Linux内核开发,信息安全。因为它的更新速度比小米发布新手机的速度还要快,这意味着你可能还没学完旧的技术,新的技术就已经出来了。     举个很简单的例子:     我最近在学C语言,对指针有点不太理解,然后在网上看了一个视频之后豁然开朗,那个视频的录制时间和发布时间都是12年的,放到现在看都没有任何的过时。然后,我去年在学Python的时候,看的是15年录制的视频,放在18年(应该说Python3)看也没有过时。     但是如果是Linux,举个前年到去年都很火的项目,OpenStack,我当时接触那个项目时是17年国庆,学的是M版,然后学到去年1月份时,就已经发展到O版了,等于说之前学的东西就已经过时了。此类现象更明显的体现在以滚动更新为主的Kali/Arch/openSUSE以及Fedora上,比如著名的MSF框架。     走上这条路意味着你必须一直不断学习,而且学习的速度必须跟得上人家开发新版的速度,可以说是不可能的事情了。     所以大学一定不要选计算机专业!!                                                                                    来自一个学服务器系统的学长的忠告    

CentOS7搭建Nextcloud

图片
前言 前段时间闲着无聊,想搭建一个本地的NAS,于是发现了Nextcloud项目 本教程不适合无任何Linux基础的人进行查阅 环境准备 CentOS 7.5 最小化安装 网络 PS:由于手头暂时没有设备,于是使用VMware Workstation Pro 14模拟安装 开始 绿色字体为可选步骤 蓝字灰底为输出或者注释 # 以井号开始为root用户执行命令 关闭SELINUX # vi /etc/sysconfig/selinux 将SELINUX=enforcing改为SELINUX=disabled 保存退出 # setenforce 0 PS:若不进行此步骤,需要进行以下配置 # yum install policycoreutils-python -y # semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/data(/.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/config(/.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/apps(/.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/assets(/.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/.htaccess' # semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/.user.ini' # ...

各Linux发行版桌面环境与上手舒适度横向评测

图片
    前段时间折腾了一下黑苹果,发现其并没有我想象中的那么简单,于是放弃了,决定从Linux/Unix的众多发行版中来选一款适合取代Windows/OS X的面向桌面的发行版。     评测的指标主要是配置要求、软件数量、驱动适配性、安装难度、适用性、美观性以及镜像源的质量七个指标,所有指标满分都为10分,以Windows 10为标准。 配置要求     此处将官方给出的配置要求作为参考,再结合在自己手头上物理机安装体验作为主要的评分标准。 软件数量     这里主要是以官方镜像源中软件包的数量以及使用体验作为评分标准。 驱动适配性     现在的计算机对驱动的要求已经越来越高了,所以这里以安装驱动的难度以及驱动的适用性作为评分标准。 安装难度     这点主要以安装过程的难易度作为评分标准。 镜像源     镜像源的速度的快慢决定了下载软件和系统更新的耗时的长短,太慢的镜像源严重影响对操作系统的体验。官方镜像源速度的快慢作为评分标准。 适用性     此项是指进入系统后操作的难易度。 美观性     此项则是系统美观的评测。 此次评测的操作系统如下:Antergos 19.1、Debian 9.7、Deepin 15.9、Fedora Workstation 19、Kali 2018.04、Manjora gnome 18.0.2 stable、openSUSE Tumbleweed Snapshot20190121、Parrot home 4.5、Ubuntu 18.04.1 desktop、Elementaryos 5.0 stable.20181016、GhostBSD18.12、Pop-os 18.04。 所有系统都为x64架构,所有系统均从官方源/TUNA/USTC下载和验证。 本次评测的物理机配置如下: CPU:Intel Core i7-6700HQ RAM:DDR4 8Gx2 GPU:Intel HD Graphics 530 + NVIDIA GeForce GTX960M ROM:HGST 1TB H...

使用GPG进行数据加密

图片
    这篇博客因为涉及的信息量太大、知识面太广,于是准备了许久时间。 概念     首先,提出几个概念:      什么是密钥?什么是公钥?          什么是私钥? 什么是数字签名和密钥指纹?     密钥,顾名思义,解密的钥匙。     使用GPG加密的文件(如果你是使用密钥加密的话)必须用密钥才能解密出来,以区别于常规的密码。     既然有了密钥的概念,那么就来讲一下私钥和公钥。 公钥(Public Key)与 私钥 (Private Key)是通过一种算法得到的一个 密钥 对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话 密钥 、验证 数字签名 ,或加密可以用相应的 私钥 解密的数据。通过这种算法得到的 密钥 对能保证在世界范围内是唯一的。使用这个 密钥 对的时候,如果用其中一个 密钥加密 一段数据,必须用另一个密钥解密。比如用 公钥加密 数据就必须用 私钥 解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。 上文引自百度百科      简单来说,公钥是用来加密数据的,被此公钥加密的数据只能用相对应的私钥才能解密。     再来解释一下数字签名。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串(SHA1是可以被伪造的,详见上一篇文章),这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明(因为数字签名是使用数据的发送方的私钥对数据进行校验和其他与数据内容有关的变量进行加密处理)。     而密钥指纹则是用于标识较长公共密钥字节的短序列,旨在标识此密钥,可以方便密钥的管理。但是密钥指纹并不是安全的,详见以下: 公钥指纹主要的安全威胁是 原像攻击 ,攻击者构造一个密钥对,与受害者可生成的指纹相匹配,即可能伪装成受害者;某些系统的第二个威胁是 碰撞攻击 ,这可能允许攻击者否认他所创造的签...

文件完整性校验的必要性

图片
    本来这一篇应该是讲数据加密的,但是后来仔细想了想,文件完整性校验可以为数据加密做铺垫,于是就先写了文件完整性校验了。     文件校验是什么?文件为什么要校验?     先来看一下这张图吧。 图片来自GPG4Win     可能很多人在下载软件时都有注意过这个SHA256(SHA1/MD5),但是却不知道这个东西是干吗用的。     其实早在几年前,迅雷的会员加速和离线加速可以加速任何东西的时候,网上充斥着大量的盗版资源,而最流行的,就是Windows7的系统镜像了。     当时装系统可能是最没有技术含量的东西了。下个镜像,做一个U盘启动,然后用激活软件激活系统,一气呵成。     然后没过多久,就爆发了一种大范围的病毒。     后来经研究发现,有人在官方的系统镜像里植入了后门,也就是说下载的系统本来就不是干净的系统。那怎么在安装系统之前检查自己的系统是不是官方的版本呢。于是CRC(循环冗余校验)出来了。      循环冗余校验 ( 英语: Cyclic redundancy check ,通称“ CRC ”)是一种根据网络数据包或 计算机文件 等数据产生简短固定位数校验码的一种 散列函数 ,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者存储之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。由于本函数易于用二进制的 计算机硬件 使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用。 上文引自维基百科        最开始这个东西是为了验证数据在传输的过程中有没有完整的从一端传输到另一端,由于其特殊的算法,人们发现一个文件只要其中的1B(比特)数据发生改变,那么计算出来的字符串将与原字符串完全不一样,而计算的速度又非常快,所以逐渐应用在文件完整性校验这一块了。     那么SHA1/SHA2/MD5有什么区别? ...