Linux学习(十)——用户与用户组管理(重难点)

1. 学习目标

Ubuntu(Linux)是多用户多任务的操作系统,它们都被一个叫做root的超级管理员管理着,任何一个要使用系统资源的用户,都必须首先向系统管理员(root)申请一个账号,然后以这个账号的身份进入系统。

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

每个用户账号都拥有一个唯一的用户名和各自的密码,用户在登陆时键入正确的用户名和密码后,就能够进入系统和自己的主目录

  • 1.使用su(switch user)来切换用户
  • 2.使用passwd来修改用户密码
  • 3.使用exit来退出用户登录
  • 4.使用who来查看登录用户
  • 5.用户账号的添加、删除、修改以及密码的管理
  • 6.用户组的管理

2. 切换用户

2.1 切换到超级管理员root

(1)临时切换(只针对当前命令):

sudo 命令
场景:例如我们切换到根目录后想创建一个文件,这对于普通用户来说是不允许的,因为这被Linux系统认为为危险操作,但是如果我们在命令前加上sudo则会临时提升该命令的权限,即:sudo touch 1.txt

(2)永久切换(两种方式)

sudo -s,默认切换到root管理员,需要输入当前用户的密码
su root,切换到root管理员,需要输入root管理员密码sudo其实是切换到指定的用户。
在这里插入图片描述

2.2 普通用户之间的切换

su 用户名,需要输入用户名对应的密码,若不写用户名,则切换到root用户

3. 修改密码

在Unix/Linux中,超级管理员可以使用passwd命令为普通用户设置或修改用户密码。用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。

passwd 用户名,修改指定用户的密码,一般在超级管理员情况下使用
passwd,修改当前登录的用户密码,简单快捷

注意:

  • 普通用户不能修改超级管理员的密码,超级管理员的密码只能由超级管理员自己去修改
  • 普通⽤户修改密码,系统默认对密码⻓度等信息进行验证,如果不合法提示修改失败(如修改密码为 123 提示密码太短,修改失败
  • root 超级管理员权限修改密码,密码⻓度可以任意设定,不进⾏验证(比如:修改密码为 123, 能够修改成功)

4. 退出登录用户exit

使用exit命令执行退出操作

在这里插入图片描述
注意:exit底层为栈结构,用户相当于元素,切换用户时遵循进栈和出栈规则。

5. 查看登录用户who

who命令⽤于查看当前所有登录系统的⽤户信息。
在这里插入图片描述

这里涉及到ssh的知识,将在后面得Linux学习系列里边讲

6. 用户管理(添加、删除、修改)

这里主要涉及到三个文件:

  1. /etc/passwd :存储用户的关键信息(etc目录本来就是存储系统配置信息的目录)
    在这里插入图片描述
  2. /etc/group:存储用户组的关键信息
    在这里插入图片描述
  3. /etc/shadow:存储用户的密码信息
    在这里插入图片描述

6.1 添加用户

在Ubuntu中有两种命令可以创建用户:
1):useradd [-options] 用户名
2):adduser [-options] 用户名

两者的区别是(在CentOS中没有区别):
useradd是一个linux命令,但是它提供了很多参数在用户使用的时候根据自己的需要进行设置;而adduser是一个perl 脚本,在使用的时候会出现类似人机交互的界面,提供选项让用户填写和选择,是更友好的前端(被Linux推荐使用)
在这里插入图片描述

所以接下来的一系列操作都是基于adduser [-options] 用户名命令
注意:只有root用户才能将普通用户或用户组添加到系统中,所以在执行用户操作时,必须切换到root用户(passwd命令除外,因为普通用户可以设置自己的密码)

常用选项:

①创建一个普通用户,没有任何选项
adduser 用户名,该操作执行后,系统会从1000后查看哪个可用,将可用数字作为该用户的uid(user id)。并且系统默认会自动创建一个与该用户同名的组(gid=uid),因为该命令没有添加任何选项,同时系统还会在/home/路径下创建该用户的主目录

如何去验证成功的创建一个用户(两种方法):
1 查看/etc/passwd文件,一般在最后一行,如果看到你创建的用户信息,则创建成功
2 查看/home/问价下是否有你创建的用户的主目录,若有则创建成功

简单介绍一下/etc/passwd文件的各个选项:
在这里插入图片描述

用户名:密码:UID:GID:注释:家目录:解释器shell

用户名:创建新用户名称
密码:此密码位置一般情况都是”X“,表示密码占位
UID:用户ID
GID:用户组ID
注释:解释该用户是做什么的
家目录:用户登录系统后默认的位置
解释器shell(bin/bash):等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理

--gid ID当创建组的时候,这个选项强制将组id设置为给定的数字;当创建用户时,这个选项会将用户分配到指定的用户主组。

注意:ID为数字,名字不行;可以通过/etc/passwd查看用所属的主组信息。

--ingroup GROUP:将新用户添加到指定的组中,与--gid ID不同的是,GROUP为组名,不能是ID,且必须已经存在。

--uid ID:将用户的id设置为指定的ID值(注意不能重复的问题)

adduser 已存在的用户名 已存在的用户组:将已存在的用户添加到已经存在的用户组,此时用户组成为用户的附加组

**注意:**在/etc/passwd下查看用户的主组,在/etc/group下查看用户的附加组

6.2 修改用户

常用语法usermod 选项 用户名

常用选项

  1. -g:指定用户的主组,选项的值可以为用户组的id,也可以是组名
  2. -G:指定用户的附加组,选项的值可以为用户组的id,也可以是组名
  3. -u:uid,用户的id
  4. -l:修改用户名

6.3 删除用户

使用deluser --remove-all-files 用户名彻底删除

7. 用户组管理(添加、修改、删除)

7.1 用户组的添加

使用groupadd [-options] 用户名
常用的选项有:
-g:设置用户组的id

验证:查看/etc/group即可

7.2 用户组的修改

使用groupmod [-options] 用户组名
常用的选项有:
-g:设置GID

-n:修改用户组名字

7.3 用户组的删除

使用groupdel 用户组名

注意: 当如果需要删除一个组,但是这个组是某个用户的主组时,不允许删除;如果确实需要删除,则先从组内移除所有用户

猜你喜欢

转载自blog.csdn.net/weixin_44441131/article/details/107992207
今日推荐