• Linux之用户管理


    前言

    用户一般指系统的使用者,系统针对使用其的每一个身份给了一个特定的名称,使用者可以使用该名称用来进行操作计算机,除了使用者之外一些服务也需要特殊的权限才能运行,因此用户管理应运而生,其明确不同的用户拥有不同的权限

    GNU/Linux 通过用户和用户组实现访问控制----包括对文件访问、设备使用的控制。

    个人可以拥有很多账户,只是彼此名称不同,比如 root 名称已经占用就不能再用了,此外,任意用户可能从属某个用户组,此用户可以加入某些已经存在的特权组用来获取相应的用户权限

    GNU/Linux 系统中的每一个文件都有属一个用户(属主)和一个用户组(属组)。另外,还有三种类型的访问权限:读(read),写(write),运行(excute),我们可以针对文件的属主,属组,设置相应的访问权限,我们可以通过ls | stat查询文件的属组,属组,权限等

    用户账号 

    用户分类

    Linux用户分为三类

    超级用户

    root用户拥有最高的权限 uid=0

    普通用户

    系统用户:UID范围:1-999

    本地用户:UID范围:1000+

    UID:用户唯一的标识符 用户名称给计算机使用者看 UID是给计算机识别的

    虚拟用户

    伪用户一般不是用来登录操作系统的 而是用来维持某个服务的运行

    用户组关系

    一对一:一个用户可以存在一个组中  一对多:一个用户可以存在多个组中

    多对一:多个用户可以存在一个组中 多对多:多个用户可以存在多个组中

    配置文件

    名称

    账号信息

    文件说明

    用户配置文件

    /etc/passwd

    记录了每一个用户的基本属性 每个用户可读 每一行记录对应一个用户

    用户组文件

    /etc/group

    用户组信息存放文件 组名不能重复

    用户密码信息文件

    /etc/shadow

    用户密码存放文件 因为passwd文件所有用户均可以读取 密码存放不安全 将密码抽取出来 只有root用户可以读取

    用户配置文件

    配置文件解释

    伪用户

     一般shell类型为nologin的用户为伪用户改用户不能进行登录

    用户组文件

    私有组机制

    对于linux来说针对超级用户和普通用户来说UID=GID 当产生一个UID则会产生一个GID且两者数值相等且对应

     用户密码信息文件

    无任何权限

    root:$6$W7lQkA0N0/tCuT5Q$rAXLO44opshH3skD.gubgAD.Z8Xx6rOuN7NGaK.CavAxQn.whUawXKMcvZbQA5GUtLgbA9mch4Pfkva1j4mSF0::0:99999:7:::
    
    root:  # 用户名
    $6$W7lQkA0N0/tCuT5Q$rAXLO44opshH3skD.gubgAD.Z8Xx6rOuN7NGaK.CavAxQn.whUawXKMcvZbQA5GUtLgbA9mch4Pfkva1j4mSF0  # 用户密码
    :16274  # 用户修改密码时间 从unix元年计算
    0:      # 丌能更改密码的最少天数,最近更改过后几天才可以更改;如果为 0 表示“最短期限要求”
    99999:  # 密码过期时间,必须更改密码前的最多天数
    7       # 密码即将到期的警告期,以天数表示, 0 表示“丌提供警告”
    :       # 宽限天数,密码过了几天之后还能修改
    :       # 账号过期时间,以距离 unix元年计算
    :       # 保留字段
    密码解释

    用户管理

    useradd

    作用

    用来创建新的用户

    useradd 用户名  # 创建用户

    参数:-d

    创建用户时候指定用户的家目录

    参数:-g

    设置用户初始组的数字ID或者名称 如果未设置 useradd会根据/etc/login.defs文件中的USERGROUPS_ENAB环境变量进行设置,默认USERGROUPS_ENAB yes会用和用户名相同的名字创建群组, GID 等于 UID

     参数:-G

    用户加入的附加组列表 用逗号分隔多个组,如果不填加用户仅仅处于初始组,(一个用户只能有一个主组 但是可以有多个附加组)

     参数:-s

    用户默认登录 shell 的路径;启劢过程结束后,默认启劢的登录 shell 在此处设定;请确保使用的shell 已经安装,默认是 Bash。有时候需要禁止某些用户执行登录劢作,例如用来执行系统服务的用户。 将 shell 设置成 /sbin/nologin 就可以禁止用户登录

    userdel

    作用

    删除创建的用户

    userdel + 用户名

    参数:-r

    删除的时候会连同用户的家目录以及/var/mail的目录

    用户修改密码方式

    方式一

    passwd 用户名

    方式二

    echo + 密码 | passwd --stdin + 用户名

    usermod

    作用:

    修改用户信息

    参数:-u

    修改用户的uid

    -d 宿主目录
    -g 起始组 #只能有一个
    -G 附加组 #可以有多个
    -s 登录 shell
    -L 锁定
    常见参数
  • 相关阅读:
    .NET Core技术研究-HttpContext访问的正确姿势
    .NET 5 Preview 1的深度解读和跟进
    玩转VSCode-完整构建VSCode开发调试环境
    China .NET Conf 2019-.NET技术架构下的混沌工程实践
    如何做好开发自测
    .NetCore技术研究-.NET Core迁移前的准备工作
    .NetCore技术研究-一套代码同时支持.NET Framework和.NET Core
    .NetCore技术研究-ConfigurationManager在单元测试下的坑
    统一流控服务开源:基于.Net Core的流控服务
    计组:计算机为什么有反码补码?不列公式!
  • 原文地址:https://www.cnblogs.com/SR-Program/p/12733466.html
Copyright © 2020-2023  润新知