Howie's Notes

Machine Learning and Cyber Security

terminal,常被翻译为终端,一般指黑色的窗口,终端可以设置字体、大小、布局和颜色等。Windows 中常见的第三方终端有 ConEmuCmder 等。

shell,有时也被翻译为外壳或壳层,通常指操作系统中位于用户与内核之间的一层,主要用于和用户交互,因此,shell 分为两类:命令行界面(CLI)和图形用户界面(GUI)。现在所指的 shell 通常指命令行 shell,Linux 中常见的命令行 shell 有 BashZsh 等。

通俗点说,terminal 属于外层,shell 属于内层,terminal 包裹着 shell,输入进 terminal 的命令要由 shell 去解释执行。

Read more »

本文翻译自 https://medium.freecodecamp.org/so-you-want-to-work-in-security-bc6c10157d23 ,正文如下:

每隔一段时间,我就会收到一封来自陌生人的电子邮件,询问有关如何从事安全行业(计算机,信息,网络等等)的建议。这很棒!我们需要更多充满激情,富有创造力和勤奋工作的人,他们希望努力使技术更安全。它也是一种非常经济稳定的谋生方式。关于这个确切的话题还有很多其他帖子,但我会根据自己的经验提出一些高层次的想法。
不像电影

Read more »

Android的内核是Linux,所以Android的root和Linux的root有些许关系,不妨先回顾一下Linux中是如何获取root的。

Linux相关

在Linux中获得root权限有2个命令,susudosudo只是为了短暂的获得root权限以执行某些操作(superuser do),而su其实是为了切换用户(switch user),但当其不带参数直接执行时,默认为切换到root用户。使用sudo执行某些需要root权限的操作时,需要输入当前用户的密码;而直接使用su切换到root用户时,需要输入root用户的密码。
在Linux中,文件的权限有rwx三种,即可读(read)、可写(write)、可执行(execute),其中r又等于4,w等于2,x等于1。所以,如果一个文件同时具有rwx权限,那么它的权限位就等于7。

Read more »

tmux 是一款优秀的终端复用会话管理工具,在 Ubuntu 下,使用 sudo apt install tmux 即可安装,输入 tmux 即可开始使用。与 tmux 相似的软件还有 Screen 等。

名词解释

Session(会话)

当输入 tmux 后,实际上创建了一个 Session,你可以在这个 Session 里创建多个 Window,在 Window 里创建多个 Pane。

Window(窗口)

Window 是显示给你的一整片窗口,你可以创建多个 Window,在一个 Window 里面你又可以创建多个 Pane,以此来执行多个任务。

Pane(窗格/面板)

Pane 是 tmux 中的最小单位,每个 Pane 相当于一个终端。

Read more »

在几乎所有的Linux发行版中,都会自带vi文本编辑器,而Vim(Vi IMproved)则是vi的一个增强版,大多数Linux中也都预装了Vim,若没有安装,可使用相应的包管理工具进行安装,具体而言,在Ubuntu中,使用sudo apt install vim即可安装。输入vim --version可以查看所使用的Vim版本,当前最新版本为Vim 8.x。值得注意的是,在有的系统中,vi命令实际是指向vim命令的一个链接,使用which vi即可证实。

在2015年,开源组织发布了Neovim项目,它是Vim的重构版本,需自行安装。另外,GVim是Vim的一个图形客户端。

Read more »

众所周知,Bash 几乎是所有 Linux 发行版预装的 Shell,但 Zsh 却能带给你更强大的功能。

安装

首先,执行 echo $SHELL 可以查看你当前所使用的 Shell,如果不是 Zsh,则可以接着执行 cat /etc/shells 查看你当前系统所支持的 Shell,如果里面没有 Zsh(在 macOS 中是自带 Zsh 的),则你需要下载安装 Zsh,在 Ubuntu 中,只需要 sudo apt install zsh 一条命令即可,启用也很简单,chsh -s $(which zsh) 即可(执行完此命令后通常需要重启一下才能生效),但它的配置却相当复杂,由此诞生了 Oh My Zsh 项目,该项目的主要目的是简化 Zsh 的配置。

Oh My Zsh 的官网给出了利用 curlwget 安装的详细命令,具体如下:

1
2
3
4
5
# 安装 Oh My Zsh 前需要安装 git(`sudo apt install git`)
# 通过 curl 安装
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
# 通过 wget 安装
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

安装完成后,会在当前用户的家目录下生成多个隐藏文件:
其中 .zshrc 类似于 .bashrc,存放 zsh 的配置信息;
.zsh_history 类似于 .bash_history,存放 zsh 的命令历史记录;
.oh-my-zsh 的文件夹则是 Oh My Zsh 项目 GitHub 仓库的克隆版,其中的 themes 文件夹下主要存放自带的主题,plugins 文件夹下主要存放自带的插件,custom 文件夹下主要存放用户自己下载的主题和插件。

Read more »

reStructuredText 是一种类似于 Markdown 的轻量标记语言,其含义为“重新构建的文本”,也被简称为 reST,文件后缀名为 .rst,是 Python 的 Docutils 项目的一部分,目前 reST 被广泛应用于编写 Python 文档。

基本语法

标题

1
2
3
4
5
6
7
8
这是一级标题
============

这是二级标题
------------

这是三级标题
************

reST 使用这种不同的下标表示标题的大小,你可以按照自己的喜好使用不同的下标表示不同的标题,总之,一片文档中从上往下依次出现的第一种下标就表示一级标题,第二种不同于之前出现过的下标就表示二级标题,依次类推,个人喜欢用上面这种形式。

Read more »

Let's Encrypt是一个免费、自动化和开放的证书颁发机构,它提供了一个工具:Certbot,可以用来获取SSL证书。
进入Certbot的官网,根据自己的环境选择Web服务器和操作系统,即可得到详细的操作步骤,下面以Nginx Web服务器和CentOS 6操作系统为例,给出相关步骤:

Read more »
0%