• linux用户及组管理


    linux用户及组管理

    1、前序

    对有限区域内,有限资源的合规使用的3A标准

      Authentication:认证   

        相当于拿到了一个登录linux的账号,这叫认证了,但是这不表明拿到一个账号你就能为所欲为,还需要进行授权

      Authorization:授权

        任何一个系统,认证完以后都有系统指派的一些权限供这个账号使用。linux怎么完成用户输入账号密码认证成功后怎么能够完成资源获取呢?事实上,linux的哲学思想是一切皆文件,当用户成功登陆linux主机,一切以这个用户为属主的文件,他应该就具备属主访问的权限

      组是能够将用户和权限建立关系的一个容器,他可以接受授权,同时也可以接受用户的加入。从而能够将权限与多个用户建立起相应关系。

      Accounting:审计

        Audition

      linux用户分类:用户具有用户名+UID组成

        管理员:root   UID0

        普通用户:USERNAME  UID范围1-65535

          系统用户:UID范围是1-499

          登录用户:UID安慰是500以上

            这两者的区别:系统用户主要为系统的守护类进程获取系统资源而完成权限分配。登录用户主要是为了交互式登录

      linux的组分类:组由组名+GID组成,组是一个容器,组主要作用:将多个用户与某一类权限建立关系,实现权限指派的另一种方式

        管理员组:组名为root  GID0

        普通组:

          系统组:组GID范围1-499

          普通组:组GID范围500以上

      linux安全上下文

        我们对计算机的操作,其实是运行程序来完成的,我们叫做进程。进程的运行是以发起者的身份运行,一个发起者具有什么权限,那么他执行的命令就具有什么权限,即发起者的权限决定了命令的权限

      linux组的类别:(站在用户所属组的类别来讲)

        用户基本组,也称为主组

          组名通与用户名相同,且仅包含一个用户,成为私有组

        用户的附加组,也称为额外组

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

        /etc/passwd:保存用户及其相关属性信息(名称、UID、基本组ID等等)

        /etc/group:组及其属性信息

        /etc/shadow:用户密码及其相关属性

        /etc/gshadow:组密码及其相关属性 

      /etc/passwd内容解释

        name:password:UID:GID:GECOS:DIRECTORY:shell 这段内容对应为的解释:

        用户名:密码:UID:GID:用户的完整信息(用户电话、地址等信息):主目录:默认shell

      /etc/group内容解释

        group_name:password:GID:User_list这段内容解释:

          组名:组密码:GID:以当前组委附加组的用户列表(每个以逗号分隔)

      /etc/shadow内容解释

        jerry:$6$rVNi9i5.$1yyPBDswYy1vw2eyHOq5wnmQU6wXo56bowYbOgoo/ZReAtuZXnekl4oWE1l3OGnEsBzq.yYfPTU8Ci7QXIuMl1:17959:0:99999:7:::

        用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:密码的最大使用期限:密码的警告时间段:密码宽限期:账号的过期日期

        注意:最近一次更改密码的日期是一个相对时长,是相对于linux诞生到你上一次修改密码的天数

          密码的最小使用期限如果为0,表示你可以改了密码再改密码

          密码的最大使用期限如果99999,表示你的账户永久有效

        加密机制(明文转化为密文)

          单向加密:提取数据指纹(指纹叫做微特征码,只要有一个改变,那么整个加密后的字符串发生重大改变,这个效应也叫雪崩效应。但是这些算法加密不同长度的明文,它的输出结果长度是一样的,这叫定长输出)

        linux上的加密算法

          md5message  digest中文名叫消息摘要,输出结果是128bit

          sha1secure  hash  algorihm 中文叫安全的hash算法,输出结果是160bit

          sha224secure  hash  algorihm 中文叫安全的hash算法,输出结果是224bit

          sha386secure  hash  algorihm 中文叫安全的hash算法,输出结果是386bit

          sha512secure  hash  algorihm 中文叫安全的hash算法,输出结果是512bit

        linux各个算法对应的命令

          md5sum

          ha1sum  

          sha224sum  

          sha256sum  

          sha384sum  

          sha512sum

        加密:明文转化为密文

        解密:密文转化为明文

      关于linux6.7密码内容解释

        $6$0TYPpFIXKw/73xmT$Z3N457EIbNjEl9KbiMLl/xSkYNIQOuqPY22myoeKJyWYAhH/bNGj8uLx9SCnOSSB6gvo7r3mCBiNAzF6GvmaC1

          这个密码分为三个字段内容,每个字段内容用$符号隔开,第一分字段表示使用的加密方式,6表示使用的sha512算法加密,第二个字段表示为密码添加的杂质。为什么要添加杂质呢?为了避免两个用户输入了同一个密码后加密的内容相同,目的是混淆视听。第三个字段才是真正的密码

      密码的复杂性策略

        1、使用数字、大小写字母、及特殊字母至少3

        2、足够长

        3、使用随机密码

        4、定期更换密码,不使用最近曾使用过的密码

    2、useradd命令

    基本介绍

      增加一个用户或者更新一个用户的信息

    基本语法

            useradd [options] LOGIN

            useradd -D

            useradd -D [options]

    常用选项

      -u  UID:手动指定用户的UID。在linux6.xUID最小不低于500,最大不超过60000,在linux7.xUID最小不低于1000,最大不超过60000。而这个最小最大不超过那个值是在/etc/login.defs文件中定义的

      -g  GID|Gname:指明用户所属基本组,-g选项后面可以接组名或者也可以接GID

      -c  str:指明用户的一些基本的描述,str就表示基本的描述

      -d  path:指明用户的家目录,path为家目录路径。可以不指定,不指定则为/home+用户名组成家目录,比如,oldboy用户,不指定家目录,则默认是/home/oldboy

    注意:如果这个路径已经存在,即家目录已经存在,那么创建用户指定这个已经存在的目录为家目录时,不会从/etc/skel拷贝任何文件。不拷贝任何文件意味着,当我们使用su命令切换到这个用户上的时候,不能够正常显示,因为这个/etc/skel文件包含一些环境变量值的定义

      -s  shell:指定用户的默认shell

      -m:创建用户的家目录

      -M:不创建用户的家目录

      -r:创建系统用户

        CentOS6.x的系统用户UID小于500

        CentOS7.x的系统用户UID小于1000

      -p  password:创建用户并且给定密码(不推荐使用,因为在历史记录中间存在这条记录)

      -G  GID|GnameGID|GnameGID|Gname...:指定用户的附加组,可以指定多个,每个用逗号隔开,但是这些组必须事先存在

      -f  num:修改账户彻底禁用的宽限时间

      -e  datetime:修改账户过期时间

      -D:修改创建用户使用的默认值,创建用户使用的默认值定义在/etc/default/useradd文件中,修改也是修改这个文件的值。但是这个选项要结合其它选项一起使用,如下:

      -s  shell:修改默认shell

      -f  num:修改默认账户过期的宽限时间

      -e  num:修改默认账户过期时间

      -b  path:修改默认家目录

      -g  Gname:修改默认用户的基本组

    3、groupadd命令

    基本介绍

      创建一个组

    基本语法

      groupadd  [options]  groupName

    常用选项

      -g  num:手动指定组的GID

      -r:创建一个系统组

        CentOS6.x的系统GID小于500

        CentOS7.x的系统GID小于1000

    4、id命令

    基本介绍

      打印有效用户或者组的id

    基本语法

      id  [OPTION]...  [USERNAME]

    常用选项

      -u:显示用户的UID

      -g:显示用户的基本组

      -G:显示用户所有的组包括基本组和附加组

      -n:显示组或者用户的名字,这个选项要结合-u-g-G选项使用

    5、su命令

    基本介绍

      切换用户或者以其他用户身份执行命令

    基本语法

      su  [OPTION]...  [-]  [USER [ARG]...]

    常用选项

      -c  COMMAND:切换身份执行命令。命令执行结束回到原来的用户下

        案例演示

          su  -c “cat  /etc/fstab”  -  odloy

      -l:切换登录的意思,这个选项与 ---login用法一致

        su   -  oldboy  与  su  -l  oldboy  与  su  --login  oldboy是一样的

      -s  shell:切换到目标用户以后使用指定的shell,而不是使用目标用户的默认shell

      su命令切换用户的方式

        su   username:非登录式切换,不会加载目标用户即这里的username的配置文件

        su  -  username:登录式切换,会加载目标用户即这里的username的配置文件,这个也叫完全切换

        注意:管理员切换至其他用户无需密码,其他用户切换时需要密码

    6、usermod命令

    基本介绍

      修改用户账户信息

    基本语法

      usermod  [options]  LOGIN

    常用选项

      -u  New_UID:修改原来的UID,修改为New_UID

      -g  New_GID|New_name:修改原来的基本组,修改为New_GID或者New_name

      -G  Group1[,Group2,.....[,Groupn]]:修改附加组,原来的附加组会被新的附加组覆盖,若想保留原来的附加组联合使用-a选项

      -s  shell:修改用户的默认shell

      -c  new_comment:修改用户的注释或者基本描述信息

      -e  date:修改账户过期时间,date的格式YYYY-MM-DD,它会自动换算

      -f  days:修改账户警用的宽限时间

      -d  path:修改用户的家目录为path

      注意:默认原来的家目录下面的文件不会同时移动至新的家目录下。如果要移动,则使用-m选项

      -l  login_name:修改的登录名

      -Llock锁定指定用户

        这个有什么现象呢?

          当我们锁定一个用户时,会在/etc/shadow文件中的密码字段前面加一个感叹号。锁定以后的用户没法切换也没法登录,但是管理员可以切换过去

      -Uunlock解除锁定

    7、passwd命令

    基本介绍

      给用户添加密码

    基本语法

      passwd  [-k]  [-l] [-u [-f]] [-d] [-e] [-n min-

           days] [-x maxdays] [-w warndays] [-i  inactive-

           days] [-S] [--stdin] [username]

    常用选项

      -l:锁定指定用户

      -u:解锁指定用户

      -n  days:你的密码最短使用期限

    -x  days:你的密码最大使用期限

    案例演示

    [root@oldboy ~]# tail -n 1 /etc/shadow
    
    www:!!:17959:0:99999:7:::
    
    [root@oldboy ~]# passwd -x 10 www
    
    Adjusting aging data for user www.
    
    passwd: Success
    
    [root@oldboy ~]# tail -n 1 /etc/shadow
    
    www:!!:17959:0:10:7:::

      -e  days:设置密码过期时间

      -d:删除密码

      --stdin:从标准输入接受用户密码

    案例演示

    [root@oldboy ~]# echo 123|passwd --stdin www
    
    Changing password for user www.
    
    passwd: all authentication tokens updated successfully.  

    使用注意

      如果一个账户没有设置密码,那么他自己没法改密码,只能通过管理员添加密码后你在修改。同时如果普通用户设置密码没有满足linux设置密码的策略,那么不会设置成功

     未完,待续....

     

  • 相关阅读:
    sql-DDL, DML 常用语句
    7.8 Structured Streaming
    7.7 输出操作
    7.6 转换操作
    7.5 高级数据源---Kafka
    7.4 基本输入源
    7.3 DStream操作
    7.2 Spark Streaming
    7.1 流计算概述
    6.3 使用Spark SQL读写数据库
  • 原文地址:https://www.cnblogs.com/lanxiansen/p/10472560.html
Copyright © 2020-2023  润新知