Linux入坑笔记(四、Linux 用户和用户组管理)

简介: Linux入坑笔记(四、Linux 用户和用户组管理)

文章目录

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个唯一的用户名和各自的口令。

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

实现用户账号的管理,要完成的工作主要有如下几个方面:

  • 用户账号的添加、删除与修改。
  • 用户口令的管理。
  • 用户组的管理。

Linux系统用户账号的管理

添加新用户:useradd

语法:useradd [选项] [用户名]

  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

image.png

设置用户密码:passwd

语法:passwd [选项] [用户名]

  • -l 锁定密码,即禁用账号。
  • -u 密码解锁。
  • -d 使账号无密码。
  • -f 强迫用户下次登录时修改密码。

image.png

查看登录用户简单信息:who

语法:who

image.png

查看登录用户详细信息:w

语法:w

image.png

删除用户:userdel

语法:userdel [选项] [用户名]

  • -r:连用户的主目录一起删除

image.png

修改用户:usermod

语法:usermod [选项] [用户名]

  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

image.png

Linux系统用户组的管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

添加新的用户组:groupadd

语法:groupadd [选项] [用户组]

  • -g GID 指定新用户组的组标识号(GID)。
  • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

image.png

删除用户组:groupdel

语法:groupdel [用户组]

image.png

修改用户组的属性:groupmod

语法:groupmod [选项] [用户组]

  • -g GID 为用户组指定新的组标识号。
  • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
  • -n新用户组 将用户组的名字改为新名字

image.png

用户组切换:newgrp

语法:newgrp [用户组]

Linux用户和用户组管理之相关配置文件

完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。

与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。

用户信息文件:/etc/passwd

通过 vim /etc/passwd 命令,打开 passwd 文件:

image.png

以这一行为例:

image.png

上面的young用户通过 : 分隔为 7 个字段。

  • ①、第一个字段:young 表示用户名称
  • ②、第二个字段:x 表示密码标志,真正的密码是存储在 /etc/shadow 文件中。
  • ③、第三个字段:UID,用户ID。
    0:表示超级用户,权限最大的用户。
    1-499:表示系统用户(伪用户),伪用户是系统用来启动相关服务和命令的,不能用来登录系统,而且不能删除,删除伪用户会造成一些命令不能使用。
    500-65535:普通用户。Linux内核2.6以后是可以支持232个用户,基本上是不用担心用户不够的。
  • ④、第四个字段:GID,用户初始组ID。这里需要理解初始组和用户组的概念,初始组就是指用户一登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是和这个用户的用户组相同的组名作为这个用户的初始组。附加组值用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。
  • ⑤、第五个字段:用户说明
  • ⑥、第六个字段:home目录。
    普通用户:/home/用户名/
    超级用户:/root/
  • ⑦、第七个字段:登录之后的 shell。

用户密码文件:/etc/shadow

通过 vim /etc/shadow 命令,打开 shadow文件:

以第一行为例:

image.png

上面的root用户通过 : 分隔为 9 个字段。

  • ①、第一个字段:root 表示用户名
  • ②、第二个字段:root用户的登录加密密码。
    一、加密算法升级为 SHA512 散列加密算法
    二、如果密码位是“!!”或者“*”代表没有密码,不能登录,基本上伪用户都是没有密码的
  • ③、第三个字段:密码的最后一次修改日期。使用1970年1月1日作为标准时间,每过一天时间戳加1.
  • ④、第四个字段:两次密码的修改间隔时间(和第三字段相比)
  • ⑤、第五个字段:密码有效期(和第三字段相比)
  • ⑥、第六个字段:密码修改到期前的警告天数(和第五个字段进行比较)
  • ⑦、第七个字段:密码过期后的宽限天数(和第五个字段进行比较)
    0:代表密码过期后立即失效
    -1:代表密码永远不会失效
  • ⑧、第八个字段:账号失效时间(要用时间戳表示)
  • ⑨、第九个字段:保留字段

用户组信息文件:/etc/group

通过 vim /etc/group 命令,打开 group文件:

image.png

一般创建一个用户,立即创建一个和用户名相同的用户组,以第一行 root 为例:

image.png

  • ①、第一个字段:组名
  • ②、第二个字段:组密码标志,密码文件存放在 /etc/gshadow 中
  • ③、第三个字段:GID,组id
  • ④、第四个字段:组中的附加用户

目录
相关文章
|
10天前
|
存储 Linux 数据库
Linux用户组管理“小窍门”
创建用户组 使用 groupadd 命令可以创建一个新的用户组。命令格式为: groupadd 用户组 例如,要创建一个名为 dev 的用户组,可以执行: groupadd dev 删除用户组 使用 groupdel 命令可以删除一个用户组。命令格式为: groupdel 用户组 例如,要删除 dev 用户组,可以执行:
16 5
|
5月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
269 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
7月前
|
Linux
Linux源码阅读笔记10-进程NICE案例分析2
Linux源码阅读笔记10-进程NICE案例分析2
|
7月前
|
Linux
Linux源码阅读笔记09-进程NICE案例分析1
Linux源码阅读笔记09-进程NICE案例分析1
|
5月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
157 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
5月前
|
Unix Linux 数据安全/隐私保护
Linux用户与用户组管理(详解)
Linux用户与用户组管理(详解)
90 5
|
5月前
|
安全 Shell Linux
Linux 用户和用户组管理
Linux 用户和用户组管理
45 1
|
7月前
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
181 2
linux笔记 diff及patch的制作与使用
|
7月前
|
Linux 文件存储 数据安全/隐私保护
Linux用户组管理实战:创建、管理与删除的全面指南
在 Linux 系统中,用户组管理是实现权限控制和资源共享的关键。本文档详细介绍如何创建用户组、管理用户组成员及查看与删除用户组。首先,通过 `groupadd` 命令创建新用户组,并在 `/etc/group` 文件中记录。接着,利用 `usermod` 和 `gpasswd` 命令来添加或删除用户组成员,其中 `gpasswd` 提供更灵活的管理方式。最后,使用 `getent` 或直接读取 `/etc/group` 查看用户组信息,并通过 `groupdel` 删除空用户组。这些操作有助于高效管理和保护系统资源。
420 4
|
7月前
|
Linux
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中