Linux用户和权限管理看了你就会用啦(上)

简介: 笔记

前言



回顾前面:

没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了。这篇主要将Linux下的用户和权限知识点再整理一下。

那么接下来就开始吧,如果文章有错误的地方请大家多多包涵,不吝在评论区指正哦~


一、Linux下的用户


Linux是一个多用户的系统,我们可以多个用户同时登陆Linux~

  • 账户实质上就是一个用户在系统上的标识

Linux中的账户包括

  • 用户账户
  • 普通用户账户:在系统上的任务是进行普通工作
  • 超级用户账户(或管理员账户):在系统上的任务是对普通用户和整个系统进行管理。
  • 组账户(组是用户的集合)
  • 标准组:标准组可以容纳多个用户
  • 私有组:私有组中只有用户自己

当一个用户同属于多个组时,将这些组分为

  • 主组(初始组):用户登录系统时的组。
  • 附加组:登录后可切换的其他组

上面也说了,账户的实质上就是用户在系统上的标识,这些标识是用文件保存起来的:

  • 用户名和 UID 被保存在/etc/passwd文件中,文件权限 (-rw-r--r--)
  • 组和GID 被保存在 /etc/group文件中,文件权限(-r--------)
  • 用户口令(密码)被保存在 /etc/shadow文件中  ,文件权限(-rw-r--r-- )
  • 组口令被保存在 /etc/gshadow文件中 ,文件权限 (-r--------)

也就是说:我们创建的用户,这个用户的信息由不同的文件来保存着

1.jpg2.jpg3.jpg4.jpg

有了上面的知识点,下面我来简述一下创建用户的时候会发生什么:

  • 用户名和 UID 被保存在 /etc/passwd 这个文件中,用户的口令通常用shadow passwords保护
  • 当用户登录时,他们被分配了一个主目录和一个运行的程序(通常是 shell)
  • 若没有指定他所属于的组,RHEL/CentOS就建立一个和该用户同名的私有组,且用户被分配到这个私有组中

再来回顾一下:账户的实质上就是用户在系统上的标识,这些标识是用文件保存起来的。也就是说:我们是可以直接编辑修改系统账户文件来维护账户

  • 但是不建议这样做,如果明确要这样做的话,最好使用命令检测一下你编辑的语法是否有问题:
  • pwck:验证用户账号文件,认证信息的完整性。该命令检测文件“/etc/passwd”“/etc/shadow” 的每行中字段的格式和值是否正确
  • grpck:验证组账号文件,认证信息的完整性。该命令检测文件“/etc/group”“/etc/gshadow”的每行中字段的格式和值是否正确。

既然不建议我们直接编辑文件的方式来管理用户,那么Linux是肯定有现成的命令给我们使用的:


1.1管理Linux用户的命令


用户管理

  • useradd
  • usermod
  • userdel

组管理

  • groupadd
  • groupmod
  • groupdel

批量管理用户

  • 成批添加/更新一组账户:newusers
  • 成批更新用户的口令:chpasswd

组成员管理

  • 向标准组中添加用户
  • gpasswd -a <用户账号名> <组账号名>
  • usermod -G <组账号名> <用户账号名>
  • 从标准组中删除用户
  • gpasswd -d <用户账号名> <组账号名>

口令维护(禁用、恢复和删除用户口令):

  • 设置用户口令
  • passwd [<用户账号名>]
  • 禁用用户账户口令
  • passwd -l <用户账号名>
  • 查看用户账户口令状态
  • passwd -S <用户账号名>
  • 恢复用户账户口令
  • passwd -u <用户账号名>
  • 清除用户账户口令
  • passwd -d <用户账号名>

口令时效设置

  • 修改 /etc/login.defs 的相关配置参数

5.jpg

设置已存在用户的口令时效

  • chage命令

用户切换命令

  • su
  • 直接切换为超级用户
  • sudo
  • 直接使用 sudo 命令前缀执行系统管理命令。执行系统管理命令时无需知道超级用户的口令,使用普通用户自己的口令即可

更多资料查询:

用户相关的命令

  • id:显示用户当前的uid、gid和用户所属的组列表
  • groups:显示指定用户所属的组列表
  • whoami:显示当前用户的名称
  • w/who:显示登录用户及相关信息
  • newgrp:用于转换用户的当前组到指定的组账号,用户必须属于该组才可以正确执行该命令


1.2Linux用户的练习题


用cat命令,观察如下文件:/etc/passwd , /etc/shadow, /etc/group,/etc/gshadow;显示useradd命令添加用户参数的默认值

6.png7.png8.png9.png

建立linux账户jkXX(XX为学生学号末两位),要求用户组为users,并设置密码;观察/etc/passwd和/etc/shadow文件的变化;退出root账户,用jkXX账户登录,在其主目录下建立一个myfirst文件,并用长格式列出myfirst文件

10.png11.png12.png13.png

用root账户登录;添加组jsj;设置用户jkXX为jsj组用户,观察/etc/passwd、/etc/group和/etc/gshadow文件变化

14.png15.png16.png17.png

添加一个新用户airXX(XX为学生学号末两位),观察新用户airXX的用户id和组id;然后删除该用户,注意不要在命令中加选项,观察用户文件和组文件的变化;观察airXX用户的目录是否存在;

18.png19.png20.png21.png22.png23.png

shadow文件中密码为*号和!!代表什么?

答:*代表账户禁用;!!代表密码锁定。

airXX用户组id是多少?这个组是什么类型的组?这样做有什么好处?

答:air08用户组id是501,这个组属于私有组。每个未指定组的用户会建立一个同名的组,这样的组称为私有组,只有一个用户,既有利于防止信息泄露,也也有利于防止不合理的授权。总之,有利于安全管理。

默认情况下删除用户,但却保留了用户的主目录,这样做有什么好处?

答:保留用户目录,防止将用户目录下有价值的资料误删除。

用cat命令,观察文件/etc/passwd;仿照passwd文件的格式,用vi编辑一个新的文件,文件名为userXX(XX为学生学号末两位),文件包括3条记录,用户名分别为jkXX(XX为学生学号末两位),peter,jason,他们的用户id大于1000,组id大于1000,要求peter和jason同组;用命令newusers根据文件userXX的内容批量生成用户;观察/etc/passwd文件的变化。

24.png

101.png

25.png100.png

26.png

用cat命令,观察文件/etc/shadow;用vi编辑一个新文件,文件名为mimaXX(XX为学生学号末两位),文件包括3条记录,每条记录用户名与上一步骤要求相同,密码自行设置,用户名和密码用冒号:隔开;用命令chpasswd根据文件mimaXX的内容批量生成密码;观察文件/etc/shadow变化;用命令chpasswd  -m再次批量生成密码,观察文件/etc/shadow变化;

0.png

27.png28.png29.png

目录
相关文章
|
5月前
|
算法 Linux 数据安全/隐私保护
【linux】root大王如何制约普通用户——权限管理
【linux】root大王如何制约普通用户——权限管理
|
15天前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
1月前
|
Linux 数据安全/隐私保护
linux权限管理
本文介绍了Linux系统中的权限管理,包括权限的概念、用户和用户组与权限的关系、文件权限位的说明以及rwx权限的具体含义。同时,详细讲解了如何使用`chmod`和`chown`命令更改文件和目录的权限,并通过多个实验演示了不同权限组合对文件和目录的实际影响。最后,总结了文件和目录权限的一些重要知识点,帮助读者更好地理解和应用Linux权限管理。
71 1
linux权限管理
|
2月前
|
Linux 数据安全/隐私保护
探索Linux操作系统下的权限管理
【8月更文挑战第66天】在数字世界中,操作系统的权限管理就如同现实世界中的钥匙和锁,保护着我们的数据安全。本文将带你深入理解Linux系统中的权限设置,通过实际代码示例,让你掌握文件和目录权限的分配与管理技巧。准备好了吗?让我们开始这场关于权限管理的探险之旅吧!
97 14
|
6月前
|
网络协议 Linux 数据安全/隐私保护
【Linux操作系统】权限管理和粘滞位
【Linux操作系统】权限管理和粘滞位
【Linux操作系统】权限管理和粘滞位
|
6月前
|
安全 Linux Shell
【Linux】权限管理
【Linux】权限管理
54 5
|
7月前
|
运维 安全 Linux
深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】 在 Linux 操作系统中,文件系统权限管理是维护系统安全与数据完整性的基石。本文旨在深入探讨 Linux 权限模型的核心概念、实现机制及其对系统安全性的影响。通过对用户身份、文件权限和访问控制列表(ACL)等关键元素的剖析,揭示权限管理在实际操作中的应用细节。文章还将讨论如何有效配置权限来优化系统性能和提升安全性,以及解决常见的权限问题的策略。
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
92 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
251 6
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
80 3