文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux中SELinux、Shell简介、touch命令的应用小结

2023-02-03 10:20

关注
目录

Linux中SELinux、Shell简介、touch命令的应用小结

SELinux

  SELinux(Security-Enhanced Linux)是美国国家安全局(NSA)对于强制访问控制的实现,是Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制系统。在这种访问控制体系的限制下,进程只能访问那些在它的任务中所需要的文件。

  SELinux默认安装在Fedora和Red Hat Enterprise Linux上,也可以作为其他发行版上容易安装的包得到。

⛳️ SELinux的规则与概念

  所有的安全机制都是对两样东西做出限制:进程和系统资源(文件、网络套接字、系统调用等),SELinux针对这两种类型定义了两个基本概念:域(Domain)和上下文(Contest)。

⛳️ 查看SELinux

  使用 ps –Z 命令可以查看进程的域,使用ls –Z可以查看文件的上下文。

查看进程域中的SELinux。

Linux中SELinux、Shell简介、touch命令的应用小结

  说明:黑线标注的部分就是SELinux,用三个冒号分隔开,形成了四个部分。

查看文件的上下文。

Linux中SELinux、Shell简介、touch命令的应用小结

  说明:黑线标识的地方也是三个冒号分隔形成的四个部分
  system_u代表的是用户。
  object_r代表的是角色。
  第三段是SELinux中最重要的信息,admin_home表示的是类型。
  最后一段s0是跟MLS、MCS相关的东西。

⛳️ SELinux策略

  SELinux通过定义策略来控制哪些域能访问哪些上下文;SELinux有很多预置策略,通常不需要自定义策略(除非要对自定义服务、程序进行保护);Red Hat Linux使用预置的目标策略。

  目标策略定义只有目标进程受到SELinux的限制,其他进程运行在非限制模式下,目标策略只影响网络应用程序。RHEL受限的网络服务有200个左右,常见的有dhcpd、httpd、mysqld、named、ntpd(时间伺服服务器)、squid(代理服务器)、rpcbind、syslogd等。

⛳️ SELinux模式

  SELinux有如下三种工作模式。

  通常情况下在不怎么了解SELinux时,将模式设置成disabled,这样在访问一些网络应用时就不会出问题。SELinux的主配置文件是 /etc/sysconfig/selinux,其默认设置值为 SELinux=enforcing

getenforce

Setenforce

使用编辑器查看SELinux的主配置文件/etc/sysconfig/selinux得到如下结果

Linux中SELinux、Shell简介、touch命令的应用小结

Linux中SELinux、Shell简介、touch命令的应用小结

  说明:红色方框标识的部分 SELinux=enforcing 代表目前系统执行的是强制策略;SELinuxTYPE=targeted 代表当前系统遵循的是目标策略。

⛳️ SELinux设置

1、 获取当前SELinux运行状态
  getenforce
  可能返回的结果有三种:Enforcing、Permissive和Disabled。Disabled代表SELinux被禁用,Permissive代表仅记录安全警告但不阻止可疑行为, Enforcing代表记录警告且阻止可疑行为

2、 改变SELinux运行状态

Shell简介

Shell:
  n.外壳; 炮弹; (贝、卵、坚果等的) 壳; (人的) 表面性格;
  vt.去壳,脱落; 炮击;
  vi.剥皮; 炮轰;

  Shell在Linux中俗称“壳”,Shell处于Linux Kernel的外围,就像个“壳”一样,如下图所示:

Linux中SELinux、Shell简介、touch命令的应用小结

  Linux Kernel承担的任务是上层的服务、应用以及硬件控制等,但Linux Kernel是无法直接去控制的,也即用户是不允许直接与Linux Kernel进行通信的。这里就需要借助Shell这个“壳”。Shell所起到的是个中间媒介的作用,也就是将用户的需求转换成Linux Kernel能够识别的指令。

  Shell本身只是一个感念,其中的实施是依靠图形或者命令模式去实现。

  Shell是操作系统最外面的一层。Shell管理着用户与操作系统之间的交互:等待输入,向操作系统解释用户的输入,并且处理各种各样的操作系统的输出结果。Shell提供了用户与操作系统之间的通信方式,这种通信方式可以以交互方式(从键盘输入,并且可以立即得到响应),或者以Shell Script(非交互)方式执行。Shell Script是放在文件中的一串Shell和操作命令,他们可以被重复使用。本质上Shell Script是命令行,命令简单地组合到一个文件里面。

  Shell基本上是一个命令解释器,类似于DOS下的command。它接收用户命令(如 ls 等),然后调用相应的应用程序。

⛳️ Shell分类

  (1) 图形界面Shell(Graphical User Interface Shell,GUI Shell),图形界面的最终使用也是转换成命令行模式去执行的。例如GNOME、KDE等。

  (2) 命令行式Shell(Command Line Interface Shell,CLI Shell),z最常用的命令行是GNU Bourne-Again Shell,简称 BASH,也就是Linux中常用的命令行。

⛳️ BASH基础

  BASH是许多Linux平台内定的Shell,它能运行于大多数类Unix操作系统之上,简单的说,就是我们必须通过Shell将输入的命令与内核通信,可以让内核控制硬件准确无误地工作来提高效率。

  BASH本身其实也是一个命令模式下的命令,其代表的就是打开命令模式终端的意思。

1、 提示符
  Linux操作系统下的BASH提示符分为#和$两种。
  #:代表超级账户root,权限比较大
  $:代表普通账户,权限比较小

2、 结构解读

Linux中SELinux、Shell简介、touch命令的应用小结

  root代表目前登录的是root账户,zhangyan代表目前使用的这台计算机的主机名称,@代表使用root账户登录到zhangyan这台主机。

3、 BASH命令的组成
  BASH命令的一般结构:
$ command [ [-]option(s)] [option argument(s)] [command argument(s)]
  1、$:计算机提示符,代表的是使用普通账户登录系统。
  2、command:对shell而言正确的Linux命令,BASH命令均为小写。
  3、[-option(s)]:定制命令动作的一个或多个修饰符号,是BASH的命令选项。
  4、[option argument(s)]:定制命令选项的一个或多个修饰符号,是命令选项修饰。
  5、[command argument(s)]:受命令影响的一个或多个对象,命令对象。

  注意:以上各部分用空格分开。command、option、option argument和command argument,但在option或option argument之间是不需要空格的。多个option或option argument的顺序是不要紧的,也就是和顺序无关。在option和option argument间的空格是可选的。

Linux中SELinux、Shell简介、touch命令的应用小结

  ls为command,-al为-option(s)。

touch命令的应用

  touch的一般用法是用来创建一个新文件。同时,touch还可以用来修改文件的时间戳。

和时间戳有关的三个时间:
  访问时间Access time,简称为 atime:一个文件的数据最后一次被访问的时间。例如,显示一个文件的内容或者运行一个shell脚本会更新文件的atime。可以用 ls –lu 命令查看。

  更改时间status time,简称为 ctime;在UNIX中基本无法知道一个文件的精确创建时间。更改时间是指文件或目录的属性(所有者、权限等)被更改的时间。ctime在文件的内容改变的时候也会改变。如果一个文件需要备份的话,dump命令需要用到ctime。可以用 ls –lc 命令来查看ctime。

  修改时间modification time,简称为 mtime:文件的目前内容最后被修改的时间。这是在一个长目录列表中显示的时间。

总结:
  文件的atime是在读取文件或者执行文件时更改的;
  文件的mtime是在写入文件时随文件内容的更改而更改的;
  文件的ctime是在写入文件,更改所有者、权限或链接设置时随inode的内容更改而更改的。

  名称:touch
  使用权限:所有使用者
  使用方式:touch [option] filename

参数说明
-a仅修改访问时间。
-r修改文件的时间为指定文件的日期时间。
-d指定文件日期时间为yymmdd。
-t指定文件日期时间为yymmddhhmm。
-c:仅改变修改时间,如果文件不存在则创建。
-m仅修改mtime。

  说明:如果不加参数后面直接跟上filename,则判断文件是否存在,如果存在则改变其时间,如果不存在则创建一个0字节的空文件。如果加上相应参数,则为按照参数的设置修改时间戳的作用。

Linux中SELinux、Shell简介、touch命令的应用小结

到此这篇关于Linux中SELinux、Shell简介、touch命令的应用知识总结的文章就介绍到这了,更多相关linux  SELinux、Shell简介 touch命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯