zoukankan      html  css  js  c++  java
  • Linux基本安全防护技术

    Linux基本安全防护技术

    概述

    常用命令

    • whoami

      • 显示与当前的有效用户ID相关联的用户名

      • 简单的说,就是在操作之前确认一下我是谁

    • id

      • 查看用户的id

      • id username 查看username用户的id

    • useradd

      • 添加用户

      • -m : 一起创建用户的家目录,如果没有-m指令不会创建用户的家目录

      • -s: 指定用户的登录shell类型, -s /bin/bash

        -s 可以不用指定

      • 示例: uaseradd -m -s /bin/bash xxx

        adduser命令更好用

        直接 adduser 用户名就好

         

    • userdel

      • 删除已存在用户

      • -r: 用户主目录以及用户主目录下文件一起删除

      • 示例: userdel -r newuser

    • passwd

      • 修改用户口令

      • 两种典型用法:

        • 修改当前用户口令passwd

        • 修改指定用户口令passwd username

    常用术语

    • 访问、主体、客体

      • 访问: 两个实体间的信息流动

      • 主体: 发起访问的实体,主动的, 通常为代表某个用户的进程

      • 客体: 响应访问的实体,被动的, 通常为文件

    • 访问类型

    访问就是信息的流动,可以分为读、写、执行三种类型

    * 读(Read/r):
      * 信息由客体流向主体
    * 写(Write/w):
      * 信息由主体流向客体
    * 执行(Execute/x):
      * 将客体的内容引入内存并作为代码执行

    补充说明 在有些文档中,目录文件的执行,称之为搜索(Search)对目录的内容进行搜索(查找)。

    cat file 为例解读上述基本概念

    访问权限(许可位)

    文件权限

    我们探讨文件权限, 准确的描述是“用户A对文件B的访问权限” , 判断用户A是否被允许访问文件B。 可以分两步:

    • 先判断用户A的类别(所谓A的类别,就是A是属主? 属组? 还是其他?)

    • 在根据用户的类别,查看相应的许可位

    属主、属组、“其他”的概念

    在探讨一个文件是否被允许访问,首先需要明确访问者的“身份类别",因为文件的访问许可就是以文件的属主、属组、其他来组织的。

    以一下内容,参考自《Linux私房菜-基础篇》, 举例比较清晰

    关于者和属组的关系, 我们可以使用目前“家庭”的观念来来进行解说。假讴有一家人,家里只有三兄弟,分别是王大毛、王二毛、王三毛三个人, 而这个家庭是登记在王大毛的名下的!所以,“王大毛家有三个人,分别是王大毛、王二毛,王三毛”, 而且这三个人都有自己的房间,并且共同拥有一个客厅喔!

    • 属主的概念: 由于王家三人各自拥有自己的房间, 所以, 王二毛虽然可以进入王三毛的房间,但是二毛不能翻三毛的抽屉喔!那样会被三毛K的! 因为抽屉里面可能有三毛自己私人的东西,例如情书啦,日记啦等等的,这是“私人的空间”,所以当然不能让二毛拿啦。

    • 属组的概念: 由于共同拥有客厅,所以王家三兄弟可以在客厅打开电规机啦、 翻阅报纸啦、坐在沙发上面发呆啦等等的! 反正,只要是在客厅的玩意儿,三兄弟都可以使用喔! 因为大家都是一家人嘛!

      这样说来应该有点晓得了喔! 那个“王大毛家”就是所谓的“属组”, 至于三兄弟就是分别为三个“属主”,而这三个属主是在同一个属组里面的喔! 而三个属主虽然在同一属组内,但是我们可以设定“权限” 好让某些用户个人的信息不被属组的属主查询,以保有个人“私人的空间”啦! 而设定属组共享,则可让大家共同分享喔!

    • “其他”的概念: 那么今天又有个人,叫做张小猪,他是张小猪家的人,与王家没有关系啦! 这个时候,除非王家认识张小猪,然后开门让张小猪进来王家,否则张小猪永进没有办法进入王家, 更不要说迚到王三毛的房间啦!不过,如果张小猪透过关系认识了三毛,并且跟王三毛成为好朊友,那么张小猪就可以透过三毛进入王家啦!呵呵!没错!那个张小猪就是所谓的“其他人,Others”啰!

      因此, 简单的说,在 Linux 里面,任何一个文件都具有"User, Group 及 Others”三种身份的个别权限, 我们可以将上面的说明以底下的图来解释:

    一般来说, 我们通常用简写字母来表示属主、属组、其他:

    • u: 属主

    • g: 属组

    • o: 其他

    从ls命令输出,进行逐列介绍

    Panda.Guo@2018-04-03 14:32:43 $ ls -l
    drwxr-xr-x 2 panda panda 4096 6月   3 14:32 dir
    -rwxr--r-- 1 panda panda   0 6月   3 13:43 file1

    权限(访问许可位)

    许可位,共计4组组成, 每组3位,

    • S/Owner/Group/Other

    • S组

      • b3 → SUID;b2 → SGID;b1 -> Sticky

    • Owner组

      • b3 → Read;b2 → Write; b1 -> Execute

    • Group组

      • b3 → Read;b2 → Write; b1 -> Execute

    • Other组

      • b3 → Read;b2 → Write; b1 -> Execute;

    • 可以采用chmod来修改权限、

    • 普通文件权限控制:

      • r 可读文件

      • w 可写文件

      • x 可执行文件

    • 目录文件

      r:读取目录下的目录项

      w:在目录下创建、移动重命名和删除文件

      x: 进入到目录的权限,如CD

  • 相关阅读:
    安装python官方的mysql库“mysql-connector-python”
    ubuntu(Mint-17)修改dns
    Updating Protobuf and GRPC in Golang
    git切换到远程分支
    ubuntu下取代ping的好工具tcpping
    为什么利率上升,债券价格下降?
    关于债券之我的疑惑
    GitHub超详细图文攻略
    git——从远程库克隆
    git——添加远程库
  • 原文地址:https://www.cnblogs.com/beautiful7/p/14205941.html
Copyright © 2011-2022 走看看