文章目录

  • Linux中的用户和组的分类
    • Linux下的用户可以分为三类:
    • Linux中的组有以下两类:
    • Linux中用户和用户组的配置文件
      • 用户账号文件——`/etc/passwd`
      • 用户密码文件——`/etc/shadow`
      • 用户组账号文件——`/etc/grou`
  • 用户管理
    • 添加新用户
    • 修改用户信息——usermod命令
    • 为用户账号设置密码——passwd命令
    • 删除用户账号——userdel命令
    • 用户间切换——su(substitute user)命令
    • 控制用户对系统命令的使用权限
  • 用户组管理
    • 创建用户组
    • 修改用户组属性
    • 添加/删除组成员
    • 删除组账户
  • 查询用户和组信息
  • 查看用户登录系统的情况
    • 查看当前登录系统的用户
    • 列出目前与过去登入系统的用户相关信息
    • 用lastlog查看每个账号的最近登录时间
    • 显示登录到系统的用户信息
    • 显示目前登录到系统的用户
  • 实例

Linux中的用户和组的分类

Linux下的用户可以分为三类:

  • 超级用户——用户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。
  • 系统用户(伪用户)——是Linux系统正常工作所必需的用户。主要是为了满足相应的系统进程对文件属主的要求而建立的,例如:bindaemonadmlp等用户。系统用户不能用来登录。
  • 普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。

Linux中的组有以下两类:

  • 基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。
  • 附加组(公有组):可以容纳多个用户,组中的用户都具有组所拥有的权利。

Linux中用户和用户组的配置文件

在Linux中,用户账号、密码、用户组信息和用户组密码均是存放在不同的配置文件中的

文件功能 文件名称
用户账号文件 /etc/passwd
用户密码文件 /etc/shadow
用户组账号文件 /etc/group
用户组密码文件 /etc/gshadow

用户账号文件——/etc/passwd

passwd 是一个文本文件,用于定义系统的用户账号,由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令

[root@server ~]# ll /etc/passwd-rw-r--r-- 1 root root 2917 May 6 17:44 /etc/passwd
[root@server ~]# head -1 /etc/passwdroot:x:0:0:root:/root:/bin/bash
#每行定义一个用户账号信息,每行由7个字段组成,字段之间用“:”分隔,其格式如下:账号名称:密码:UID:GID:个人资料:主目录:Shell
  • /etc/passwd文件中字段说明

账号名称:用户登录Linux系统时使用的名称。
密码:以前是以加密格式保存密码的位置,现在密码保存在/etc/shadow文件中,此处只是密码占位符“x”或“*”。若为“x”,说明密码经过了shadow的保护。
UID:用户的标识,是一个数值,用它来区分不同的用户,每个用户都有一个UID数值:
超级用户的UID——0
系统用户的UID——1~999
普通用户的UID——≥1000
GID:用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的GID。
个人资料:可以记录用户的完整姓名、地址、办公室电话、家庭电话等个人信息。
主目录:类似Windows 的个人目录,通常是/home/username,这里username是用户名,用户执行“cd~”命令时当前目录会切换到个人主目录。
Shell:定义用户登录后激活的Shell,默认是Bash Shell

用户密码文件——/etc/shadow

[root@server ~]# ll /etc/shadow
---------- 1 root root 3872 May 6 17:44 /etc/shadow
[root@server ~]# head -1 /etc/shadow
root:$6$3EZ8vA1hgB3VTWb0$IlamoUyDh1RS.wftgz4qj0kmVrka7Yi6SgIo1aM6eu8nbFM9haOVRTt
NDDfkix8MCugx8p8lufmItgsOsu1rl1:19083:0:99999:7:::
#每行定义了一个用户信息,行中各字段用“:”隔开,其格式如下:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

/etc/shadow文件中的每行9个字段的含义分别为

字段 描述
登录名 登录的用户名
加密口令 使用SHA-512/SHA-256/MD5算法加密后的密码($ id $,id为1表示md5,5表示sha256,6为sha512),若为空,表示该用户无需密码即可登录,若为“*”表示该账号不能用于登录系统,若为“!!”表示该账号密码已被锁定
最后一次修改时间 最近一次更改密码的日期,以距离1970年1月1日的天数表示
最小时间间隔 密码在多少天内不能被修改。默认值为0,表示不限制
最大时间间隔 密码在多少天后必须被修改。默认值为99999,表示不进行限制
警告时间 提前多少天警告用户密码将过期,默认值为7天,0表示不提供警告
不活动时间 密码过期多少天后禁用此用户
失效时间 密码失效日期,以距离1970年1月1日的天数表示,默认为空,表示永久可用
标志 保留未用,以便以后发展之用

用户组账号文件——/etc/grou

系统中的每个组,在/etc/group文件中有一行记录,任何用户均可以读取用户组账户信息配置文件

[root@server ~]# ll /etc/group
-rw-r--r-- 1 root root 1150 May 6 17:44 /etc/group
[root@server ~]# head -1 /etc/group
root:x:0:

/etc/group文件字段说明:

字段 描述
Groupname 组的名字
Passwd 组的加密口令
GID 是系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组
Userlist 是用“,”分开的用户名,列出的成员以该组为附加组

用户管理

添加新用户

命令格式:useradd [选项] <username>
常用选项:

  • -c 注释信息——设定与用户相关的说明信息(如,真实姓名、邮箱地址等)。
  • -d 目录——设定用户的家目录(默认为/home/用户名)。
  • -e YYYY-MM-DD——设置用户的失效日期,此日期后将不能使用该账号。
  • -f 天数——指定密码到期后多少天账号被禁用,若指定为0,则表示账号到期后被立即禁用;若指定为-1,则表示账号过期后不被禁用(即密码永不过期)。
  • -g 组名或GID号——为用户指定所属的基本组,该组在指定时必须已存在。
  • -G 组名或GID号列表——为用户指定所属的附加组,各组在指定时已存在,附加组可以有多个,组之间用“,”分隔。
  • -M——不创建用户家目录。
  • -N——不创建与用户名同名的基本组。
  • -p 密码——指定用户的登录密码。
  • -s shell名——指定用户登录后使用的Shell,默认是bash。
  • -u 用户号——设置账号的UID,默认是已有用户的最大UID加1。如果同时有-o选项,则可以重复使用其他用户的标识号。

修改用户信息——usermod命令

命令格式: usermod [选项] username
常用的选项包括 -c,-d,-m,-g,-G,-s,-u 等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,还可以使用如下选项:

  • -l 新用户名——更改账户的名称,必须在该用户未登录的情况下才能使用。
  • -L——锁定(暂停)用户账户,使其不能登录使用。
  • -U——解锁用户账户。

为用户账号设置密码——passwd命令

Linux的账户必须设置密码后,才能登录系统
命令格式: passwd [账户名]

常用选项:

  • -d——清空指定用户的口令。这与未设置口令的账户不同,未设置口令的账户无法登录系统,而口令为空的账户可以。
  • -e——使用户的账号密码立即过期,强迫用户下次登录时必须修改口令。
  • -i——口令过期后多少天停用账户。
  • -l——锁定(停用)用户账户。
  • -n——指定口令的最短存活期。
  • -x——指定密码的最长使用期限。
  • -u——解锁用户账户。

删除用户账号——userdel命令

命令格式: userdel [-r] 账户名

  • -r——在删除该账户的同时,一并删除该账户对应的主目录。

用户间切换——su(substitute user)命令

命令格式: su [用户名]
从root用户切换到任何用户不需要密码验证,而从普通用户到root或其他普通用户均需要输入目标
用户的密码且验证成功后才可切换。
susu - 命令区别就是加载的配置文件不一样:
su 切换方式加载的文件: ~/.bashrc,/etc/bashrc
su - 切换方式加载的文件: /etc/bashrc,/etc/profile,~/.bashrc,~/.bash_profile

控制用户对系统命令的使用权限

使用 sudo 命令可以提高普通用户的操作权限,不过这个权限需要root用户进行配置/etc/sudoers文件才可使用。

sudo的执行流程如下(默认只有root用户能使用):

当用户执行sudo时,便会让用户输入自己的密码来确认(root执行sudo时不需要输入密码);
若欲切换的身份与执行者身份相同,那也不需要输入密码。
若密码输入成功,系统会去/etc/sudoers文件中查找该用户是否有执行sudo的权限;
若用户具有执行sudo的权限,便开始sudo后续接的命令;
sudo -l :列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。
sudo -u 用户名 命令 :以指定用户的身份执行命令。后面的用户是除root以外的,可以是用
户名,也可以是UID。
sudo -k :清除存活期时间,下次再使用sudo时要再输入密码。
sudo -b 命令 :在后台执行指定的命令。
sudo -p 提示语 <操作选项> :可以更改询问密码的提示语,其中%u会代换为使用者账号名
称,%h会显示主机名称。

用户组管理

创建用户组

命令格式: groupadd [-r] 用户组名称
常用选项:

  • -g GID——指定新用户组的组标识号(GID),默认值是已有的最大的GID加1。
  • -r——建立一个系统组账号,与-g不同时使用时,则分配一个1~999的GID。

修改用户组属性

命令格式: groupmod 选项 用户组
常用选项:

  • -g GID——为用户组指定新的组标识号。
  • -n 新用户组——将用户组的名字改为新名字修改用户组的名称和用户组的GID值。

添加/删除组成员

命令格式: gpasswd [选项] [用户] [组]
只有root用户和组管理员才能够使用该命令。
选项:
-r 删除组密码
-a——把用户加入组
-d——把用户从组中删除。
-M——可同时添加多个用户
-A——给组指派管理员。

删除组账户

命令格式: groupdel 用户组名

被删除的组若是基本组,则必须先删除引用该基本组的用户,然后再删除该基本组。

查询用户和组信息

  • 显示出某个用户的详细信息:id 用户名
  • 显示出用户的所属组信息:groups 用户名

查看用户登录系统的情况

查看当前登录系统的用户

命令:# users

列出目前与过去登入系统的用户相关信息

last命令默认会去读取/var/log/wtmp文件,并把该文件记录的登入系统的用户名单全部显示出来。

用lastlog查看每个账号的最近登录时间

lastlog命令会读取/var/log/lastlog文件。

显示登录到系统的用户信息

命令:# w

第一行显示当前的系统时间、开机多久、登录到系统中的用户数和系统平均负载。平均负载是指在1分钟、5分
钟、15分钟内系统负载情况;
第二行只是各个项目的说明:
USER:表示登录系统的用户
TTY:表示用户使用的TTY名称
FROM:表示用户从哪里登录进来
LOGIN@:用户登录的日期和时间
idle:表示空闲时间
JCPU:在某段时间内所有与该终端相关的进程任务所耗费的cpu时间
PCPU:当前活动进程使用的系统时间
WHAT:表示当前用户执行的进程名称和选项
第三行以后,每行代表一个用户登录的信息。

显示目前登录到系统的用户

who通常通过/var/run/utmp文件来获取信息

[root@server ~]# who -b 列出系统最近启动的日期

[root@server ~]# who -q 列出在本地系统上的用户和用户数的清单

[root@server ~]# who -r 显示当前系统的运行级别

[root@server ~]# who -u 显示当前每个用户的用户名、登录终端、登录时间、终端活动、进程和主机名

[root@server ~]# who -T 显示tty终端的状态,“+”表示对任何人可写,“-”表示仅对root用户或所有者可写,“?”表示遇到终端故障

[root@server ~]# who -w 和-T一样

实例

  • 创建下列用户、组和组成员资格:
  1. 创建名为 sysmgrs 的组

  2. 创建用户 natasha 同时指定sysmgrs作为natasha的附加组

  3. 创建用户 harry 同时指定 sysmgrs作为harry的附加组

  1. 创建用户 sarah 指定shell类型为/sbin/false(无权访问系统上的交互式 shell)
    且不是 sysmgrs 的成员

  1. 设置natasha 、 harry 和 sarah 的密码都是 123

  2. 创建用户lockuser, 并指定家目录为/home/lock, 然后锁定该用户

  1. 创建用户limituser, gid为1555,userid为1666, 让其密码在10天后过期

  1. 解锁lockuser, 并设定下次登录时必须修改密码

  2. 创建用户testuser并设置密码,修改用户名为normaluser

  1. 删除lockuser

RHCSA教程用户和组管理相关推荐

  1. linux6用户t密码,linux系统 用户和组管理类命令的使用方法

    列出当前系统上全部已经登陆的用户的用户名,注意:同一用户登陆屡次,则只显示一次便可.mysql [root@lpz ~]# who    #显示当前用户登陆信息linux root    tty1   ...

  2. 【CyberSecurityLearning 3】批处理、用户与组管理、服务器远程管理、破解Windows系统密码

    目录 一.批处理编写 1.1.批处理作用 1.2.如何创建批处理 1.3.批处理基本语法 1.3.1.@echo off 1.3.2.pause 1.3.3.title 1.3.4.echo. 1.3 ...

  3. linux中查看用户组标识符,Linux用户和组管理

    用户和组管理 目录 1.用户和用户组介绍 2.用户管理 3.组管理 4.用户和组相关文件操作 1.用户和组介绍 在linux中,用户分为管理员和普通用户:管理员为root,普通用户又分为系统用户和登录 ...

  4. windows和linux互传文件,用户配置文件和密码配置文件,用户和组管理

    windows和linux互传文件,用户配置文件和密码配置文件,用户和组管理 用xshell  和windows互传文件 ,首先安装一个包  ,yum install -y lrzsz sz 加文件就 ...

  5. linux的安装组和管理组的区别吗,Linux用户和组管理

    Linux用户和组管理 安装上下文: 进程以其发起者的身份运行: 进程对文件的访问权限,取决于发起此进程的用户的权限: 系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建 ...

  6. 麒麟linux创建用户组,麒麟Linux系统用户和组管理指南(21页)-原创力文档

    中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统用户和组管理指南 技术创新,变革未来 本章目标 •熟悉中标麒麟Linux服务器操作系统中用户和组的 基本操作命令和方法: •了解用户和用 ...

  7. linux如何设置账号全民,linux基本练习:用户和组管理的相关练习

    linux用户和组管理命令的相关练习: 1.创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003), 附件组为linux: #groupadd -g 3003 di ...

  8. 在linux系统中查看组管理信息命令,Linux用户和组管理常用命令

    导读 这篇文章主要介绍了 用户和组管理常见 ,总结整理了linux用户和组管理相关原理.操作 与使用注意事项,需要的朋友可以参考下. 1.用户隶属于用户组的 2.用户与用户组配置文件 1)用户组配置文 ...

  9. jbpm 和 drools_jBPM和Drools工作台中的用户和组管理

    jbpm 和 drools 介绍 本文讨论了一项新功能,该功能允许使用集成在jBPM和Drools Workbenches中的直观友好的用户界面来管理应用程序的用户和组. 用户和组管理 在安装,设置和 ...

最新文章

  1. 关于学习数据库的一点总结
  2. eclipse如何设置去除全部断点的快捷键
  3. 洛谷-P1903 数颜色 分块 bitset
  4. 面向对象三大核心特点,封装、继承和多态
  5. Centos7静态ip设置(亲测有效)
  6. java基础—Calendar类方法演示
  7. python networkx使用案例_在有向图networkx的大型网络实例上,什么是最快的迭代?...
  8. Windows系统创建符号链接文件
  9. snmp error on SnmpMgrRequest 40
  10. linux内核调试器ftrace使用
  11. 全面提升AI语言理解能力,达摩院自研语言模型体系登顶6大权威榜单
  12. GAE研究小组:面向对象与面向过程的工程化理解
  13. win7 64位装sql2000
  14. 力扣题目系列:290. 单词规律
  15. Python制作一个科学计算器
  16. 最小的浏览器-橘子浏览器才1M大小
  17. ITIL4讲解: 组合管理
  18. 最全原理图元器件查询
  19. 数据模型的概念,数据模型的作用和数据模型的三个要素
  20. strtolower

热门文章

  1. 小程序源码:炫酷恶趣制作神器,支持装逼,姓氏头像等强大的制作小程序
  2. 【秋招机试真题】VIVO笔试-0922
  3. iview 数据表格 列表内点击改变按钮状态
  4. 服务器系统日志怎么拷贝,Windows系统如何将日志发给日志审计服务器?
  5. 程序员该如何爱惜身体?
  6. 【Linux内容】Linux系统中配置MySQL搭建主从数据库
  7. 【算法详解】数据结构:7种哈希散列算法,你知道几个?
  8. 怎么提升品牌知名度,小红书母婴赛道分析
  9. mysql修改路径报错_mysql修改数据存储路径报错处理
  10. opkg list 报错