wc命令

    能够把指定的文件中的行数,字节数,单词数统计起来。

    例:输入:wc  文件路径

          输出:行数  单词数   字节数

    注意:wc统计的单词是把所以空格隔开的字符当一个字符来识别,并不是真正识别人类英语中的单词,而是靠空白字符分割的每一个字串当做一个字符。

    选项:

       -l:只显示行数

       -w:只显示单词数

       -c:只显示字节数

cut命令

   该命令可以切割文件,将文件切割成数列,并且以默认空白字符作为分隔符。

   选项:

       -d:指明分隔符,如果不指明,默认空白字符

       -f:你要显示哪些字段

         指明字段:

           格式:#:精确到第#个字段

                    #,#:离散的多个字段

                    #-#:连续的多个字段

    --output-delimiter=STRING:自己指明字段

sort命令

用于排序的命令

   选项:

     -f:忽略字符大小

     -r:逆序排序

    -t:自己指定字段分隔符

   -k#:以指定字段为标准排序

   -n:以数值大小进行排序,不使用-n的话,默认以字符进行排序

   -u:排序后去重

uniq命令

   选项:

      -c:显示每行重复出现的次数

      -d:仅显示重复过的行

      -u:仅显示不曾重复过的行

用户和组管理

  从基本上来讲,用户是一种身份认证机制,授权是它的额外作用,用户和组从本质上来讲,它们只是实现所谓能够让我们期望哪些正常的可以获得正常授权的用户,获取其使用的资源和服务的一种身份标识。

   token机制:这种机制只有密码没有用户名,意味着不需要去区别不同的用户

   identity机制:意味着每一个用户都有一个账号和密码,有秘密和用户名的一般叫做ID的认证机制

用户的主要作用是实现资源分派的一种机制

      资源分派有三个层次:

            Authentication:认证

            Authorization:授权

            Accouting:审计

    这是诸多场景中提到的3A概念

    对于有限区域内有资源的合格使用,为了保证的确是合格使用,要做好:认证,授权,审计这三个层次。

    拿到账号和密码后,输入账号和密码,仅仅是认证的过程,认证完成不代表用户可以为所欲为,这就需要授权,任何一个系统认证完成以后,它的权限有事先一个系统指派好的,对Linux主机来讲,它就是靠每一个文件给他附加一些元数据来实现。

    每一个文件都有其属主和属组,一个用户在登录以后,作为属主的文件,它就具备了属主应该有的访问权限。

    组是能将权限和用户关联起来的一个容器,它能接受授权,同时又能接受用户的家目录,从而将多个用户和权限建立其等同的关联关系,并以此授权这就是组。 

    用户和文件的访问,二者建立起对应的关系,它们结合起来,通常叫做文件的权限。

    Linux用户:

          管理员:root   几乎拥有所以主机管理的权限

          普通用户:所以的普通用户都能使用,他能获得的权限,其权限取决于文件的属主和属组等相关特性,能否运行进程也取决其对应文件是否有相应权限。

      除了root以外的用户都可以称为普通用户。

管理员的id号永远是0,而普通用户的id号是:1-65535

  65535是2的16次方,对红帽系统及企业级系统来讲,它们能识别的id号是32位的。

   65535中又分位两类用户:

          系统用户:id号是1-499或1-999

          登录用户:id号是500+或1000+

       会出现id号的不同,是因为发行版不同,如centos7系统用户是1-999,登录用户是1000+。

Linux组:

  组一样与对应用户分类,又三类

     管理员组:root    id号固定为0

     普通组:

        系统组:id号为1-499或1-999

        普通组:id号为500+或1000+

Liunx的安全上下文:

    一个进程到底能访问哪些资源,取决于这个进程的发起者,进程能访问的所有资源的权限取决于发起者的身份。

Liunx组的类别:

    用户的基本组也是主组:表示用户出去时必须以某个组的身份来进行

    用户的附加组也是额外组:每一次用户出去做任何命令执行时,他自己都应该带着以组的身份,这个组就是用户的主组。但是,一个用户在访问某个文件,判断是否有权限时,不一定非得靠主组来判断,主组的作用是一个用户创建一个文件时,文件默认就有属组和属主,一个用户创建文件属主通常是用户本身,属组是它的主组。

   用户的基本组: 组名同用户名,且仅包含一个用户,这个组叫私有组。

Linux用户和组相关的配置文件

    对Linux主机来讲,我们的账号,组的相关信息等,都行保存在etc目录下的某些配置文件当中的。

   /etc/passwd:

    注意:他里面并不保存密码,这个文件的主要作用在于保存用户及其属性信息。

格式:

  name:password:UID:GID:GECOS:directory:shell

用户名:密码:UID:GID:GECOS:主目录:默认shell

  UID:用户自己的id号

  GID:用户的基本组id号

  GECOS:用户的完整信息

  /etc/group

格式:

  group_name:password:GID:user_list

  祖名:组密码占位符:组自己的id号:以当前组为附加组的用户列表

  /etc/shadow

  真正存放密码的地方,该文件每行包括9个字段使用“:”分隔,顺序如下:

  1:登录名:用户自己的名字

  2:密码:改密码是加密后的密码

  3:最近一次更改密码的日期 

  4:密码的最小使用期限

  5:密码的最大使用期限

  6:密码的警告时间段,不改密码就会禁用密码

  7:密码的禁用期,也叫非活动期,警告时间到了后到密码真正禁用的一段时间,这个时间登录改密码,可以重置密码的使用期限,否则彻底禁用。

  8:账号过期日期

  9:保留字段,该字段没有使用