• Linux学习之用户配置文件详解(十四)


    Linux学习之用户配置文件详解

    目录

    用户信息文件/etc/password

    影子文件/etc/shadow

    组信息文件/etc/group

    组密码文件/etc/gshadow

    用户信息文件/etc/password

     用户管理

    用户管理对个人机来说意义不大,但是越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。
    在Linux中主要是通过用户配置文件来查看和修改信息。
    

      

    用户信息文件/etc/passwd

     

    每一个用户为一行,每个信息用冒号隔开。
    第一个字段
    :用户名称 第二个字段:密码标志,这个标记为x,只要有这个标记意味用户是有密码的,密码保存在/etc/shadow 第三个字段:UID(用户ID),每个用户都有一个ID,用来唯一标识用户。 0:超级用户 1-499:系统用户(伪用户) 500-65535:普通用户 第四个字段:GID(用户初始组ID) 初始组和附加组 初始组:就是指用户一登录就立即拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是和这个用户的用户名相同的组名作为这个用户的初始组。 附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。 每个用户必须得有一个初始组,当创建用户的时候就会生成一个和用户名相同的组,可以将用户改为其他初始组,但是最好不要这么做,如果想将用户添加别的组,可以添加到附加组,附加组可
    以有多个,最后我们可以在/etc/group里查看所有组。 第五个字段:用户说明 第六个字段:家目录 普通用户:/home/用户名/ 超级用户:/root/ 第七个字段:登录后的Shell

      

     查看/etc/passwd的权限(644)

    Shell是什么?

    Shell就是Linux的命令解释器。
    其实就是将用户输入的命令给命令解释器解析传给内核,内核做出应答,显示内容导命令窗口的过程。
    在/etc/passwd当中,除了标准Shell是/bin/bash之外,还可以写如/sbin/nologin
    我们要注意的是:
    所有普通用户的Shell必须是/bin/bash,才能正常登录。
    

     

     

    怎么将一个普通用户改成管理员?

    我们首先添加一个用户user1,这里只需要将第三个字段改为0,就可以变成系统管理员。

    怎么将一个用户禁止登录?

    只需要将最后一个字段改为/sbin/nologin。

    最后,添加用户信息的时候,不要错误,可能导致这个用户无法登录系统。

    影子文件/etc/shadow

    影子文件/etc/shadow

    用来存放用户密码信息。
    

      

    第一个字段:用户名
    第二个字段:加密密码
    加密算法升级为SHA512散列加密算法
    如果加密位是"!!"或"*"代表没有密码,不能登录
    第三个字段:密码最后一次修改日期
    使用1970年1月1日作为标准时间,每过一天时间戳加1
    第四个字段:两次密码的修改间隔(和第三个字段相比)
    就是改一次密码,需要几天才能第二次该密码
    第五个字段:密码有效期(和第三个字段相比)
    第六个字段:密码修改到期前的警告天数(和第五个字段相比)
    如果我们在第五个字段设置为90天,第六个字段设置为7天,当我们在创建用户的83时,使用这个用户每次登录到系统,都会提示让你修改密码
    第七个字段:密码过期后的宽限天数(和第五个字段相比)
    0:代表密码过期后立即失效
    -1:则代表密码永远不会失效
    第八个字段:账号失效时间
    第九个字段:保留
    

      

     时间戳与日期的转换

    时间戳换算为日期
    date  -d "1970-01-01 16076 days"
    
    日期换算为时间戳
    echo $(($(date --date="2019/02/06" +%s)/86400+1))
    

      

    组信息文件/etc/group

    组信息文件/etc/group

    第一个字段:组名
    第二个字段:组密码标志,标志这个密码是放到/etc/gshadow
    第三个字段:GID
    第四个字段:组中附加用户 
    

      

    怎么查看一个用户属于哪个组?

    先查看/etc/passwd文件,看用户的组ID。

    再查看/etc/group文件,查找与组ID相同的行,则代表用户在这个组。

    组密码文件/etc/gshadow

    组密码文件/etc/gshadow

    第一个字段:组名
    第二个字段:组密码
    这个组密码是干嘛的?
    只有root用户才能把一个用户加到其他用户组,如果root用户太忙了,我们可以给组选一个管理员,也就是说我们给每个小组选一个组长,给这个组长设一个密码,他就可以把其他用户添加到自己组里来,
    但这样做降低了系统的安全性,不推荐这样做。
    第三个密码:组管理用户名
    第四个字段:组中附加用户
    

      

  • 相关阅读:
    python : 将txt文件中的数据读为numpy数组或列表
    ROS :为IDE配置环境变量
    ROS 教程之 navigation :在 catkin 环境下创建costmap layer plugin
    ROS 教程之 vision : 用各种摄像头获取图像
    ROS 教程之 network:多台计算机之间网络通信(2)
    MS sql 查询动态表名的方法
    把ocx打包成CAB,并签名
    DataSet 转换成List
    C# 反序列化datetime的处理
    PSP软件开发过程管理
  • 原文地址:https://www.cnblogs.com/-wenli/p/10359544.html
Copyright © 2020-2023  润新知