首页 > 系统相关 >第一章:Linux‘’用户和组的管理‘’

第一章:Linux‘’用户和组的管理‘’

时间:2024-08-26 23:48:54浏览次数:8  
标签:文件 passwd 用户 第一章 etc Linux root

第一章:Linux‘’用户和组的管理‘’

  • @一、Linux用户身份概述

    • @1.1 Linux用户介绍

    • @1.2 三个重要passwd,shadow,group文件的介绍

      • @1.2.1 passwd文件
      • @1.2.2 shadow文件
      • @1.2.3 group文件
  • @二、创建Linux用户

    • @2.1 添加Linux用户——useradd
    • @2.2 设置Linux用户密码——passwd
  • @三、管理Linux用户

    • @3.1 设置Linux用户账号——usermod
    • @3.2 删除Linux用户账号——userdel
  • @四、创建与管理Linux用户组

    • @4.1 创建Linux用户组——groupadd

    • @4.2 管理Linux用户组——groupdel groupmod

      • @4.2.1 删除用户组
      • @4.2.2 修改用户组
  • @五、查看用户UID、GID、groups

  • 学习目标:
    • 描述Linux系统上用户和组的用途
    • 配置sudo权限
    • 创建、修改、删除本地用户
    • 创建、修改、删除本地组
    • 创建、修改、删除本地组

一、Linux用户身份概述

用户账户是为在不同的人员和不同的程序间提供隔离,对外,用户使用用户名供人们使用。对内,系统分配唯一标识号(UID)来区分不同的账户。操作系统内部,每一个程序都作为特定用户执行。每一个文件,都属于特定的用户。

1.1 Linux用户介绍

用户账户有三种主要类型:超级用户、系统用户和普通用户

  1. 超级用户账号用于管理系统,超级用户的名称为root,其账户UID为0.超级用户对系统具有完全访问权限。
  2. 系统用户账号供系统服务进程使用,用户无法使用系统用户账户以交互方式登陆。
  3. 普通用户账号用于处理日常工作的普通用户账号。

Linux用户有以下三类,每一个用户都有一个数值,称为UID

超级 用户root 系统用户 普通用户
权限 具有一切权限 为了满足相应的系统进程对文件属主的要求而建立的系统用户不能用来登录 由管理员赋予的一般权限
功能 管理系统的各项功能,如添加/删除用户、启动/关闭服务进程、开启/禁用硬件设备 功能:Linux系统正常工作所必需的内建的用户,例如:bin、daemon、adm、lp等 由管理员创建的用于日常工作的用户
UID 0 1~999 从1000开始
  • Linux不像Windows那样有专门的数据库用来存放用户的信息,LinuxLinux系统采用纯文本文件来保存账号的各种信息,其中最重要的文件有/etc/passwd/etc/shadow/etc/group这几个。
  • 账号的管理实际上就是对这几个文件的内容进行添加、修改和删除
    记录行的操作。
  • Linux系统为了自己的安全,默认情况下只允许超级用户更改它们。
/etc/passwd 用户帐号信息保存在passwd文件中(重要)
/etc/shadow 用户的加密口令保存在shadow文件中(重要)
/home/teacher 用户的宿主目录是home目录中与用户名称相同的目录
/etc/group 用户的初始配置文件来在skel目录(配置模版)
/etc/skel 用户的初始配置文件来在skel目录(配置模版)

1.2 三个重要passwd,shadow,group文件的介绍

1.2.1 passwd文件

(1)/etc/passwd文件每一行都表示的是一个用户信息,一行有7个字段;每个段位用分割。

[root@VM-16-3-centos ~]# cat -n /etc/passwd
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4  adm:x:3:4:adm:/var/adm:/sbin/nologin

(2)每一段的解释:

账号名称 :密码 : UID : GID : 个人资料 : 主目录 : Shell
root:      x:     0:     0:      root:   /root:   /bin/bash
第一       第二   第三    第四     第五       第六    第七
  • 第一字段:用户名(也被称为登录名)
  • 第二字段:密码;在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中
  • 第三字段:UID ;用户ID
  • 第四字段:GID;用户组的ID
  • 第五字段:用户名全称,这是可选的 注释性的说明
  • 第六字段:用户的家目录所在位置;root 这个用户的家目录是/root
  • 第七字段:用户所用SHELL 的类型,root用的是 bash;所以设置为/bin/bash

1.2.2 shadow文件

(1)在/etc/passwd文件中,有一个字段是用来存放经过加密的密码。我们先来看以下passwd文件的权限。

[root@VM-16-3-centos ~]# ll -d /etc/passwd
-rw-r--r-- 1 root root 1255 Feb 28 14:45 /etc/passwd

(2)可以看到任何用户对它都有读的权限。为了保证系统的正常运行和安全,Linux系统对密码提供了更多一层的保护,即把加密后的密码重定向到另一个文件/etc/shadow。

[root@VM-16-3-centos ~]# ll -d /etc/shadow
---------- 1 root root 717 Feb 28 14:45 /etc/shadow

(3)shadow文件一共有9个字段来表示跟密码有关的部分,每个字段用‘’来分隔。

[root@VM-16-3-centos ~]# cat /etc/shadow
root:$1$jsCNhEKR$yxMUZ8ZcIhGOpkn06irDB/:19051:0:99999:7:::

(4)每一段的解释

root:$1$jsCNhEKR$yxMUZ8ZcIhGOpkn06irDB/:19051:0:99999:7:::

root  :$1$jsCNhEKR$y/      :19051         :0         :99999         :7          :        :       :
用户名    密码          最后一次修改时间  最小时间间隔  最大时间间隔    警告时间   不活动时间  失效时间  标志    
  • 用户名:和/etc/passwd文件中相对应的用户名。
  • 密码:存放加密后的口令(密码)。密码字段为“*”表示用户被禁止登录,为“!!”表示密码未设置,为“!”表示用户被锁定。
  • 最后一次修改时间:用户最后一次修改口令的时间(从1970-1-1起计的天数)。
  • 最小时间间隔:两次修改口令允许的最小天数。
  • 最大时间间隔:口令保持有效的最多天数,即多少天后必须修改口令。
  • 警告时间:从系统提前警告到口令正式失效的天数。
  • 不活动时间:口令过期多少天后,该账号被禁用。
  • 失效时间:指示口令失效的绝对天数(从1970-1-1开始计算)。
  • 标志:未使用。

1.2.3 group文件

(1)Linux的组:私有组、系统组、标准组之分。

  • 私有组:建立账户时,若没有指定账户所属的组,系统会建立一个组名和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。
  • 标准组:可以容纳多个用户,组中的用户都具有组所拥有的权利。
  • 系统组: Linux系统正常运行所必需的,安装Linux系统或添加新的软件包会自动建立系统组。

(2)组的名称:组的密码 gid:组成员

[root@VM-16-3-centos ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:   x:     3:
组名   组密码  gid 组成员 

二、创建Linux用户

2.1 添加Linux用户——useradd

  1. 使用adduser / useradd命令创建账户时,默认的用户家目录会被存放在/home目录中,默认的Shell解释器为/bin/bash,而且默认会创建一个与该用户的基本用户组。
  2. 语法格式:useradd【选项】用户名 表示创建一个用户 默认该用户的家目录在/home/用户名 登陆该用户会默认切换到该用户的家目录下
  3. 常用选项

注意区分大小写

命令 所执行的操作
-e 账户的到期时间,格式为YYYY-MM-DD
-u 指定该用户的默认UID
-d 指定用户的家目录(默认为/home/username),使用语法 useradd -d /home/username username 表示创建一个用户叫username 并把它的家目录在home username下
-g 指定一个初始的已存在用户基本组
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认Shell解释器
  1. 实例

(1)在系统中添加Linux用户test,观察添加用户后系统有什么变化?

[root@VM-16-3-centos ~]# useradd test

(2)在/etc/passwd文件中会看到增加了一行:

[root@VM-16-3-centos ~]# tail -l /etc/passwd
test:x:1001:1001::/home/test:/bin/bas

(3)在home目录下出现test同名宿主目录,test对/home/test目录有所有权限,其他用户无任何权限。

[root@VM-16-3-centos ~]# cd /home/
[root@VM-16-3-centos home]# ll
drwx------ 2 test       test       4096 Apr 27 17:33 test

(4)在/etc/group文件中也会增加一行

[root@VM-16-3-centos home]# tail -l /etc/group
test:x:1001:

(5)在/etc/shadow文件中也会增加一行:

[root@VM-16-3-centos ~]# tail -l /etc/shadow
test:!!:19109:0:99999:7:::
  • Linux的权限

    c8177f3e6709c93d1a907ea5903df8dcd1005405.png

pwd​​ 命令可以显示当前在哪个目录下

2.2 设置Linux用户密码——passwd

  1. passwd命令用于修改用户密码、过期时间、认证信息等
  2. 普通用户只能使用passwd命令修改自身系统密码,而root管理员则有权限修改其他所有人飞密码。并且root管理员在Linux系统中修改自己或他人的密码时不需要验证旧密码。
  3. 语法格式:passwd【选项】【用户名】
  4. 常用选项:注意大小写
命令 所执行的操作
-d 使改账户可以用空密码登录
-l 锁定用户,禁止其登录
-u 解除锁定,允许用户登录
-S 显示用户的密码是否被锁定,以及密码所采用的加密方式
-e 强制用户在下次登录时修改密码

三、管理Linux用户

3.1 设置Linux用户账号——usermod

  1. usermod命令用于修改用户的属性。用户的信息保存在/etc/passwd文件中,可以用文本编辑器来修改其中的用户参数项目,也可以用usermod命令修改已经创建的用户信息,例如用户的UID、基本扩展用户组、默认终端等。
  2. 语法格式:usermod【选项】用户名
  3. 常用选项:注意大小写
选项 所执行的操作
-c comment 改变用户的注释(备注),如:全名、地址、办公室电话、家庭电话等
-d -m dir 改变用户的主目录 参数-m与参数-d可以连用,可重新指定用户的家目录并把旧的文件转移过去
-e 修改用户的有效日期 格式 YYYY-MM-DD
-L 锁定用户密码,使密码无效。锁定用户禁止其登录系统
-U 解除密码锁定,解锁用户,允许其登录系统
-f days 在密码到期的days天后停止使用账户
-g GID或组名 修改用户的所属基本组
-G 变更扩展用户组
-l name 更改账户的名称,必须在该用户未登录的情况下才能使用
-p 修改用户的密码
-u UID 改变用户的UID为新的值,改变用户的UID时主目录下所有该 用户所拥有的文件或子目录将自动更改UID,但对于主目录之 外的文件和目录只能用chown命令手工进行设置
-s Shell 修改用户的登录shell

3.2 删除Linux用户账号——userdel

  1. 语法格式:userdel【选项】用户名
  2. 常用选项:
选项 所执行的操作
-f 强制删除用户
-r 删除用户时将用户主(家)目录下的所有内容一并删除,同时删除用户本地邮件存储的目录或文件,对于用户在别的目录下所拥有的文件只能手动删除
  1. 如果我们确认某位用户后续不会再登陆到系统中,则可以通过userdel命令删除该用户的所有信息。在执行删除操作时,该用户的家目录默认会保留下来,此时可以使用-r参数将其删除 。

四、创建与管理Linux用户组

4.1 创建Linux用户组——groupadd

  1. 为了能够更加高效地指派系统中各个用户的权限,在工作中常常会把几个用户加入到同一个组里面,这样便可以针对一类用户统一安排权限
  2. 语法格式:groupadd【选项】群组名
  3. 常用选项:
选项 所执行的操作
- g GID 指定新组的GID,默认值是已有的最大的GID加1
-r 建立一个系统专用组,与-g不同时使用时,则分配一个1~999的GID

4.实例

[root@VM-16-3-centos ~]# groupadd -g 2000 test1
/*表示添加一个新组,组ID为2000,组名为test1*/
  1. 注意:上面已经介绍了普通用户UID是从1000开始的

4.2 管理Linux用户组——groupdel groupmod

4.2.1 删除用户组

  1. groupdel命令: 删除指定名称的用户组帐号
  2. 语法格式:groupdel 群组名
  3. 注意! :需要从系统上删除群组时,可用groupdel指令来完成这项工作。倘若该群组中仍包括某些用户,则必须先删除这些用户后(删除用户上面说明了),才能删除群组。

4.2.2 修改用户组

  1. groupmod命令:修改用户组的相关信息

五、查看用户UID、GID、groups

  1. 此命令可以查看用户的相应信息。
  2. 语法格式:id 【要查找的用户名称】
命令 所执行的操作
id 使用ID命令显示当前已登录的用户信息
id username 使用id username显示其他用户的信息
/*1.使用id命令显示当前已登录的用户信息*/
[root@VM-16-3-centos ~]# id
uid=0(root) gid=0(root) groups=0(root)

标签:文件,passwd,用户,第一章,etc,Linux,root
From: https://www.cnblogs.com/JeXuan/p/18381710/chapter-1-linux-user-and-group-management-z19qya

相关文章

  • 第一章:Linux‘’用户和组的管理‘’
    第一章:Linux‘’用户和组的管理‘’@一、Linux用户身份概述@1.1 Linux用户介绍@1.2 三个重要passwd,shadow,group文件的介绍@1.2.1 passwd文件@1.2.2 shadow文件@1.2.3 group文件@二、创建Linux用户@2.1 添加Linux用户——[email protected] 设置Linux用户......
  • Linux磁盘分区-格式化-挂载
    分区首先我们增加一个新的硬盘空间,例如添加10G空间(界面化操作略)添加完成后,使用:fdisk-l来列出系统中所有可识别的硬盘、U盘等设备的分区情况。在输出结果最上方,我们可以看到Disk/dev/sdb:10G等内容,这就说明我们界面化添加成功,但是并没有完成分区等操作,所以无法使用1.创建......
  • 第一章:Linux‘’用户和组的管理‘’
    第一章:Linux‘’用户和组的管理‘’@一、Linux用户身份概述@1.1 Linux用户介绍@1.2 三个重要passwd,shadow,group文件的介绍@1.2.1 passwd文件@1.2.2 shadow文件@1.2.3 group文件@二、创建Linux用户@2.1 添加Linux用户——[email protected] 设置Linux用户......
  • 商城项目搜索展示页基于后端构造用户搜索的面包屑信息-----商城项目
    packagecom.alatus.search.vo;importlombok.Data;@DatapublicclassAttrResponseVo{//分类名字privateStringcatelogName;//分组的名字privateStringgroupName;//菜单路径privateLong[]catelogPath;/***......
  • Linux中断管理
    Linux内核提供了完善的中断框架,我们只需要申请中断,然后注册中断处理函数即可,使用非常方便,不需要一系列复杂的寄存器配置。1.Linux中断简介中断号每个中断都有一个中断号,通过中断号即可区分不同的中断,有的资料也把中断号叫做中断线。在Linux内核中使用一个int......
  • Linux异步通知
    1.异步通知简介我们首先来回顾一下“中断”,中断是处理器提供的一种异步机制,我们配置好中断以后就可以让处理器去处理其他的事情了,当中断发生以后会触发我们事先设置好的中断服务函数,在中断服务函数中做具体的处理。信号类似于我们硬件上使用的“中断”,只不过信号是软......
  • linux目录结构以及文件操作
    从头学习Linux的学习记录。1.Linux目录结构以及文件操作    linux和Windows一样都是操作系统,但是Linux经常用于嵌入式设备中,而我们学习的Ubuntu属于Linux的发行版,带有图形界面,但跑在嵌入式设备上的Linux常没有图形界面,直接用命令行操作,这在对资源敏感的嵌入式领域,节......
  • 从用户体验说起,集运系统需要哪些重要的功能?
    良好的用户体验是服务成功的关键,更是客户持续选择的理由。用户体验层面最简单的表达其实就是:别让我等、别让我想、别让我烦。在当今时代,用户的期望正在不断提高,他们追求快捷、高效和透明的服务。因此,集运系统在设计功能时,必须深刻理解用户需求,使整个下单到收货的过程变得简单......
  • Linux系统性能调优详细讲解和案例示范
    Linux系统以其稳定性和高效性广受欢迎,但在实际使用过程中,随着负载的增加,性能问题也不可避免地出现。本文将深入探讨Linux系统性能调优的核心概念,介绍一些常用的性能定位命令,并结合实际案例详细说明如何解决常见的性能问题。一、性能调优概述在Linux系统中,性能调优是确保......
  • Linux 下 gdb 的使用
    目录一、概述1、安装和启动GDB二、GDB常用命令1、查看源码2、断点2.1设置断点2.2查看断点信息2.3删除断点2.4激活/禁用断点2.5观察断点2.6捕获信号2.7线程中断3、查看信息3.1查看数据3.2查看内存3.3查看栈信息3.4查看栈帧信息4、运行、调试5、编辑和搜......