一、Shell与脚本环境(Script environment)

网络安全分析师经常需要深入到系统的内部工作,而在命令行(Command-line)上做这件事往往比使用图形化工具要容易得多。Shell环境提供了对这些命令行的直接访问,管理员可以在那里向操作系统输入命令.Shell环境还为管理员提供了创建脚本的能力,这些脚本包含预先写好的代码,用于执行操作系统的命令。这些shell脚本的编程是为了让大量的常规管理工作实现自动化。

Secure Shell或SSH,允许我们通过加密连接访问远程Linux系统。SSH使用TCP 22端口来建立与远程Linux系统的加密连接,用户可以在那里输入shell命令。PowerShell是一种脚本语言,用于向Windows系统提供管理命令。我们还可以使用通用的编程语言,如Python,来实现安全工作的自动化。
Python脚本可以操作日志文件,与系统组件交互,或执行几乎任何其他管理任务。

二、文件操作(File manipulation)

1.cat命令
Linux提供了一系列的文件操作命令,使我们能够更容易地处理文件。其中第一个是cat命令,它显示了文件的内容。在这里,我我们在一个Linux服务器上,使用这些文件操作命令来看看存储在var日志信息中的日志文件。我们可以输入cat命令来显示整个文件,在cat后跟上/var/log/messages,指定具体的文件。当我们这样做时,系统会在屏幕上显示整个日志文件。

2.head和tail命令
我们常常不想简单地把一个文件的所有内容都转到屏幕上,这实在是太难看了。head命令允许我们查看文件的前几行,tail命令允许我们查看最后几行。例如,当我们输入head /var/log/messages后,如下所示的默认情况下,Linux会显示该文件的前10行。
如果我们想看到一个不同的数字,可以直接指定,例如我们想看到前5行,输入head -5 /var/log/messages即可。tail命令也以同样的方式工作,我们可以输入tail /var/log/messages,然后,我现在看到的不是文件的前10行,而是文件的最后10行。

3.grep命令
grep命令允许我们使用文本搜索的方式来搜索文件中的特定行。例如,假设我们想在var日志信息文件中搜索DHCP请求,可以使用grep命令,然后用我们要找的术语DHCPEQUEST,再加上var日志信息文件的名称,也就是grep DHCPREQUEST /var/log/messages。注意grep命令只显示该文件中包含我们所搜索的字符串的行。
4.log命令
对于我们一直在使用Linux系统上的信息日志文件,实际上可以使用logger命令从我们自己的脚本中向这个文件添加消息。

三、Linux的文件权限(Linux file permissions)

Linux文件系统使用一种权限结构,每个文件或文件夹都属于一个个人用户和一个组。有个三命令用来改变文件和文件夹的所有权。

  1. chown "命令是 "改变所有者(change owner)"的简称,它可以改变一个文件或文件夹的用户所有者;
  2. "chgrp "命令是 "改变组(change group)"的简称,用于改变组的所有者。
  3. "chmod"命令,即 "改变模式(change mode)"的简称,来改变授予用户或组的文件权限。

Linux对每个文件使用三种不同的权限。读取权限,用 "r "缩写;写入权限,用 "w "缩写;执行权限,用 "x "缩写。而且,它还对每种类型的所有者使用字母缩写。用户所有者,用 "u "缩写,组所有者,用 "g "缩写,所有其他用户用 "o "缩写。现在有一个快速的考试提示,要注意不要混淆 "用户所有者 "权限和 "其他 "权限,前者使用字母 “u”,后者使用字母 “o”。
当我们想用 "chmod "命令来改变Linux文件的权限时,我们使用所有这些缩写。我们首先使用 "chmod "命令,然后加上我们希望改变权限的所有权类型的字母,如果我们要增加权限,则加上加号(+),如果我们要删除权限,则加上减号(-),接着是我们希望改变的权限字母。最后是我们要修改的文件或目录的名称。
例如,如果我们想给一个名为 "PublicFile"的文件增加所有用户的阅读权限,我们会使用这个命令:chmod o+r PublicFile。"o "代表任何用户,”+“,添加权限,“r”,代表读取权限,然后是文件名,Public File。

现在让我们在一个真正的Linux系统上演示。首先我们使用 "ls-l "命令列出当前目录的内容。可以看到,这里有两个文件,PrivateFile和PublicFile。这两个文件的用户所有者是mchapple,组所有者是mchapple。
首先,让我们使用 "chown "命令来改变其中一个文件的所有权。假设我想把公共文件的所有权给Carol Adams,继续输入 "chown "命令,然后输入她的用户名cadams和文件的名称PublicFile。

现在,当我们使用ls-l时,可以看到公共文件的用户所有者已经从mchapple变为cadams。

接下来,让我们把PrivateFile的组改为一个叫做 "Friends "的组。使用命令chgrp friends PrivateFile。然后当我们使用ls-l时,可以看到:
最后,让我们来做一下权限方面的工作。首先,如果我们看一下ls-l命令的输出,可以看到权限已经设置好了。它们在这里显示为三组三个字母,它们以r、w、x的顺序出现。第一组是用户所有者的权限。第二组是群组所有者的权限,第三组是其他所有人的权限。破折号,表示该权限没有被设置。在这些文件上,我们可以看到用户和组的所有者对文件有读和写的权限,而其他用户没有权限。接下来我们给所有用户阅读PublicFile的权限。可以使用如下命令chmod o+r PublicFile。现在,当我们再次使用ls-l的时候,就可以看到其他用户的读取权限已经被添加到PublicFile中。

整理资料来源:
https://www.linkedin.com/learning/paths/become-a-comptia-security-plus-certified-security-professional-sy0-601

Security+ 学习笔记37 脚本和命令行相关推荐

  1. Polyworks脚本开发学习笔记(八)-组合运用命令批量改名

    Polyworks脚本开发学习笔记(八)-组合运用命令批量改名 需求解析 以下是使用包边比较点创建的一组包边点(即Gap点)和曲面点-包边点(即Flush点),这种命名方式不太常规,改为Gap和Flu ...

  2. matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色

    一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~ 参考书籍 <matlab 程 ...

  3. 游戏开发学习笔记——lua脚本语言——安装、汉化与小测试(解决lua运行代码乱码问题)

    游戏开发学习笔记--lua脚本语言--安装.汉化与小测试 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: Lua 是一种轻量小巧的脚本语言,用 ...

  4. Linux学习笔记:Linux常用命令总结

    文章目录 前言 Linux学习笔记:Linux常用命令总结 1. 目录命令 1.1 Linux目录结构 1.2 cd命令 切换工作目录 1.3 ls命令 显示目录下文件 1.4 mkdir命令 创建目 ...

  5. linux系统管理学习笔记之一-------linux解压缩命令

    linux系统管理学习笔记之一-------linux解压缩命令 2009-12-29 11:52:55 标签:linux tar [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接 ...

  6. linux脚本求命令行上整数和,shell脚本--cut命令与awk简单使用

    cut:对内容进行列切割 -d 后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来: -f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔 : -c参数后面跟 ...

  7. 无人驾驶小车调试笔记(五)-- 命令行通信

            简介:在这一章节中,我们需要安装有相关环境(虚拟机方式为例,需要安装有ROS系统,安装过程请参考无人驾驶虚拟仿真教程第2节)的电脑一台,组装好并经过初始化设置的无人驾驶小车一台,路由器 ...

  8. [笔记]快乐的Linux命令行《二》文件系统中跳转

    系列文章目录 [笔记]快乐的Linux命令行<一>LInux系统简介以及什么是shell [笔记]快乐的Linux命令行<二>文件系统中跳转 文章目录 系列文章目录 前言 一. ...

  9. Polyworks脚本开发学习笔记(一)-脚本开发环境

    Polyworks脚本开发学习笔记(一)-脚本开发环境 背景 Polyworks的扫描尺寸测量分析模块是我工作中经常用到的一个模块,我不是做测量的,但是利用Polyworks对扫描获得的点云来进行尺寸 ...

  10. anaconda中安装xgboost_ML学习笔记之Anaconda中命令形式安装XGBoost(pip install)

    0x00 概述 在没有安装XGBoost之前,import xgboot会出错,如下: # ModuleNotFoundError: No module named 'xgboost' 0x01 安装 ...

最新文章

  1. java的集合应用_Java之集合类应用总结
  2. Springboot毕设项目高校食堂饭卡管理824ct(java+VUE+Mybatis+Maven+Mysql)
  3. 学会计需要学计算机应用吗,会计都要学什么
  4. linux一键ghost,linux 下一键 Ghost
  5. 细胞自动机_神经细胞自动机用于艺术娱乐
  6. 用计算机按余弦,知道余弦的值怎么用计算器求度数
  7. 未分配利润与利润表不一致_资产负债表中的未分配利润和利润表中的净利润肯定是一致的吗?...
  8. Tomcat过时了?别多想,很多公司还是在用的。这份Tomcat架构详解,真的颠覆你的认知
  9. excel文件打开密码和工作表保护如何解除
  10. Tomcat优化方案
  11. c语言char a 4,char a:4;是什么意思C++
  12. CRT的快捷键 不会的快....
  13. 收支科目不为零_期间损益结转余额为零能结账吗
  14. javascript数据类型边边角角
  15. 【外汇天眼】MT4 vs MT5:哪个更适合外汇初学者
  16. seo优化的精髓是什么
  17. 软件构造期末复习总结【一】:关于SCM和Git的一些概念整理
  18. 对比JAVA学习PHP系列:数据结构
  19. Elasticsearch:使用 Elasticsearch 在键入时实现类似 Linkedin 的搜索
  20. C++ Json 的几个操作

热门文章

  1. 每日算法系列【LeetCode 123】买卖股票的最佳时机 III
  2. leetcode—14.链表反转类题目python解答
  3. Python—常用正则表达式方法
  4. 4个你未必知道的内存小知识
  5. XML的常用领域及其优势
  6. 3.2 softmax多分类、tensorflow2实现——python实战
  7. 详解tensorflow数据读取-tf.train.string_input_producer和tf.train.start_queue_runners
  8. docker 服务器重启 镜像丢失_将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定...
  9. 大数据标签获取处理步骤_盘点大数据处理引擎
  10. python接口自动化登录后保存个人简介_python接口自动化三(登录及发帖)