用户管理

用户组

种类

  • 基本组: 一个用户一定要有一个基本组 ,且只有一个
  • 附加组: 一个用户可以没有附加组,一个用户可以有多个附加组

分别基本组和 附加组?
[root@localhost data]#id zhangsan
uid=1000(zhangsan) gid=1000(zhangsan) 组=1000(zhangsan),0(root)
用户排在第一个的组是基本组,后面的都是附加组

用户账号管理

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

/etc/passwd

存放用户信息

行内字段含义:

[root@localhost ~]# head -n1 /etc/passwd //查看passwd文件头1行
root:x:0:0:root:/root:/bin/bash

冒号(:)作为分隔符,将每行分为了7段

  • 第一字段:用户名
  • 第二字段:密码占位符
  • 第三字段:uid
  • 第四字段:组id
  • 第五字段:备注信息
  • 第六字段:家目录位置
  • 第七字段:默认shell程序

/etc/shadow

存放密码信息

行内字段含义:

[root@localhost ~]# tail -n1 /etc/shadow //查看shadow文件最后一行 jlx:$6$732cCyCHqHnTfu8S$yIt47YNag7kl1VO539g1W0yiJWa9aFDehq6lSQDQPkN1j.q/qSgQr8r9Qaj4LFw2OLe8N2hcu7fBHxxxe3ad81::0:99999:7:::

每个字段用冒号隔开

  • 第一字段:用户名
  • 第二字段:加密后的密码 如果为 * !! 无法登录
  • 第三字段:上一次修改密码时间,数字的含义为 从1970-1-1 到改密码的时间 一共经历多少天
  • 第四字段:最小修改密码间隔时间 如果是0 可以随意修改, 7代表7 天后才可以修改
  • 第五字段: 密码有效期 默认99999天 273年,设置为 7 代表7天要求你重新设置密码
  • 第六字段:密码到期提醒时间 设置为7 代表密码到期前7天会提示你
  • 第七字段:密码过期后的宽限天数 设置为10 表示密码到期后还可以使用10天
  • 第八字段:用户失效时间 同第 3 个字段一样,使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间 到期后无法登录
  • 第九字段:保留字段

添加用户 useradd

格式: useradd [选项]…. 用户名

选项

选项 说明 -u 指定用户的UID,要求该UID未被其他用户使用 -d 指定用户的家目录 -e 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式 -g 指定用户的基本组 -G 指定用户的附加组 -M 不建立家目录 -s 指定用户的登录shell -r 建立系统用户

undefined

示例

-u 指定用户的UID

[root@localhost ~]# useradd -u 2000 pp //添加pp用户,并指定UID为2000 [root@localhost ~]# tail -n1 /etc/passwd //查看passwd中pp的信息 pp:x:2000:2000::/home/pp:/bin/bash

用户管理

-d 指定用户的家目录

[root@localhost ~]# useradd -d /home/test/ 111 //创建用户,并指定家目录 [root@localhost ~]# tail -n1 /etc/passwd 111:x:2001:2001::/home/test/:/bin/bash

用户管理

用户管理

-e 指定用户的账户失效时间

[root@localhost ~]# useradd -e 2022-9-26 222 //创建用户并指定账户失效时间为2022年6月30日 [root@localhost ~]# tail -n1 /etc/shadow //查看shadow文件,19261表示距离1970年1月1日的19261天 222:!!:19204:0:99999:7::19204:

用户管理

用户管理

-g 指定用户基本组

[root@localhost ~]# useradd -g1000 wang //创建用户并指定用户基本组为1000组 [root@localhost ~]# id wang //查看用户信息,基本组为1000组 uid=2002(wang) gid=1000(zhangsan) 组=1000(zhangsan)

用户管理

-G 指定用户附加组

[root@localhost ~]# useradd -G zhangsan 444 //创建用户并指定用户附加组为jlx组 [root@localhost ~]# id 444 //查看用户信息,附加组为jlx组 uid=2003(444) gid=2003(444) 组=2003(444),1000(zhangsan)

用户管理

-M 不建立家目录

[root@localhost ~]# useradd -M 555 //创建用户且不建立家目录 [root@localhost ~]# ls /home/ //查看/home下没有user08的目录

222 444 555 pp wang zhangsan

用户管理

-s 指定用户的登录shell

[root@localhost ~]# useradd -s /sbin/nologin apache //创建用户并指定登录shell为/sbin/nologin,该用户无法登录系统 [root@localhost ~]# tail -n1 /etc/passwd apache:x:2005:2005::/home/apache:/sbin/nologin

用户管理

修改密码 passwd

root用户可以指定用户名作为参数,对指定账号的密码进行管理。不指定用户名时,修改当前账号的密码。

普通用户只能执行单独的passwd命令修改自己的密码。

格式

passwd 用户名

选项

选项 作用 -d 清空指定用户的密码,无需使用密码直接登录 -l 锁定用户密码, 不让登录 -u 解锁用户密码 -S 查看用户账户的状态(是否被锁定)

示例:

设置或修改用户密码

[root@localhost ~]# passwd pp
更改用户 pp 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

-d 清除用户密码,使用用户名可直接登录

[root@localhost ~]# passwd -d pp //清除nancy用户的密码
清除用户的密码 pp。
passwd: 操作成功

锁定和解锁用户

[root@localhost ~]# passwd -l pp //锁定用户密码,锁定后用户无法登陆 锁定用户 pp 的密码 。 passwd: 操作成功 [root@localhost ~]# passwd -u pp //解锁用户,因pp无密码,系统提示不安全,必须使用-f才能解锁 解锁用户 pp 的密码。 passwd: 警告:未锁定的密码将是空的。 passwd: 不安全的操作(使用 -f 参数强制进行该操作) [root@localhost ~]# passwd -S pp //查看pp用户状态,仍为锁定状态 pp LK 2022-07-31 0 99999 7 -1 (密码已被锁定。)

usermod 修改已有用户的属性

格式

usermod [选项]… 用户名

选项:

选项 作用 -l 更改用户的登录名称 -L 锁定用户 -U 解锁用户 -u 指定的UID号 -d 指定家目录 -e 指定用户失效时间,可使用YYYY–MM-DD的日期格式 -g 指定基本组 -G 指定附加组 -s 指定默认的登录Shell M 不建立家目录

示例

[root@localhost ~]# usermod -l lisi pp //将pp的用户名改成lisi [root@localhost ~]# usermod -L lisi //锁定用户lisi [root@localhost ~]# passwd -S lisi //查看lisi状态,已被锁定 lisi LK 2022-07-31 0 99999 7 -1 (密码已被锁定。) [root@localhost ~]# usermod -U lisi //解锁用户lisi usermod:解锁用户密码将产生没有密码的账户。 您应该使用 usermod -p 设置密码并解锁用户密码。

删除用户 userdel

格式

userdel [-r] 用户名(-r 连家目录一起删除)

用户管理

用户管理

[root@localhost ~]# userdel -r 555 //删除用户555及其家目录

[root@localhost ~]# userdel -r 777 //删除用户777及其家目录

[root@localhost ~]# userdel -r 666 //删除用户666及其家目录
[root@localhost ~]# ls /home/ //查看/home下555 666 777的家目录不存在

222 444 apache pp wang zhangsan

用户管理

Original: https://www.cnblogs.com/fengxia6/p/16731035.html
Author: 风夏呀
Title: 用户管理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577768/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 设计模式——中介者模式

    中介者模式定义 用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 Mediator抽象中介者角色 抽象中…

    Linux 2023年6月7日
    075
  • std::map自定义类型key

    故事背景:最近的需求需要把一个结构体struct作为map的key,时间time作为value,定义:std::map 技术调研:众所周知,map是STL库中常用的关联式容器,底层…

    Linux 2023年6月13日
    0122
  • RedisInsight 安装与使用(Redis 监控工具)【转】

    一、RedisInsight 简介 RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,…

    Linux 2023年5月28日
    088
  • Linux进程调度器

    完全公平调度器 用黑体标出的是文章的主线,未用黑体标出的内容是对黑体内容的解释或注解。 每次调用调度器时,它会挑选具有最高等待时间的进程,把CPU提供给该进程。如果经常发生这种情况…

    Linux 2023年6月13日
    082
  • cmd学习笔记

    for %var in (set) do commond for %one in (1,2,3,4,5) do echo –>1 –>2 –>3 –&gt…

    Linux 2023年6月7日
    0114
  • 【Linux】CMake源码编译安装教程

    步骤: 卸载旧版本 官网下载安装包 CMake源码编译安装 检查是否安装成功 Linux下,默认安装方式: sudo apt install cmake 如果使用默认的安装方式,这…

    Linux 2023年6月13日
    0101
  • SQL52 获取employees中的first_name

    本题链接表结构如下所示(内容不完整):额外的要求是按照first_name最后两个字母升序进行输出。这里需要用到MySQL的字符串处理函数RIGHT。RIGHT函数的语法如下所示:…

    Linux 2023年6月13日
    0106
  • iostream 未完

    声明控制从标准流读取和写入到标准流的对象。 通常是唯一需要从 C++ 程序执行输入和输出的标头。 #include <iostream></iostream&gt…

    Linux 2023年6月7日
    058
  • 小白上手Linux系统Redis安装与部署教程

    一:Redis的安装 1.首先需要下载linux版的redis,官网地址:http://redis.io/download。 2.创建文件夹 mkdir+文件名 3.用ftp将压缩…

    Linux 2023年6月13日
    0125
  • linux挂载文件系统

    当使用光驱等硬件设备时,必须将其挂载到系统中,只有这样Linux才能识别。 1、给虚拟机中centos7系统添加一块新的硬盘,添加以后必须重启centos7才能生效 2、在root…

    Linux 2023年5月27日
    089
  • 【MQTT】基于mosquitto的学习和使用

    文章目录 前言 一、MQTT简介 * MQTT特性 MQTT协议原理 MQTT协议数据包结构 二、安装MQTT * 1.mosquitto简介 2.安装mosquitto库 2.常…

    Linux 2023年6月13日
    0116
  • mysql order by语句流程是怎么样的

    order by流程是怎么样的 注意点: select id, name,age,city from t1 where city=’&#x676D;&#x5DDE;…

    Linux 2023年6月8日
    0100
  • mongodb压力测试工具ycsb

    mongodb安装 这里以安装单机版为例,rpm包方式安装 启动 ​ systemctl start mongod YCSB压测工具安装 这里不采用网上大多说的maven方式源码安…

    Linux 2023年6月14日
    083
  • linux中软件的安装方式

    linux中软件的安装方式 四种方式 ​ 源码编译安装 ​ rpm安装 ​ yum安装 解压、配置(hadoop、hive等) 1.源码编译安装 1.为了编译nginx源码 yum…

    Linux 2023年6月11日
    089
  • 聊一聊mycat数据库集群系列之双主双重实现

    最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考。本次系列终结大概包括以下内容:多数据库安装、mycat部署安…

    Linux 2023年6月14日
    0107
  • QT程序自启动

    故事背景:最近涉及到客户端更新自启动的一个问题,客户端检测到自己要更新,弹出一个更新界面,然后退出旧版本,启动新版本 技术调研:QProcess 直接上代码吧 这个代码的效果就是退…

    Linux 2023年6月13日
    086
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球