06Linux_用户管理

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

系统管理员可以创建账号,设置账号的密码,并赋予账号不同的权限

1. 添加用户

1.1. 基本语法

添加用户:useradd 用户名

1.2. 应用案例

案例1:添加一个用户milan,默认该用户的家目录在/home/milan

可以看到我们刚开始只有ct一个用户,但是我们又添加了一个新用户milan,最后可以看到我们一共有两个用户了(高兴捏)

[root@CtCentos01 ~]# cd /home
[root@CtCentos01 home]# ls
ct
[root@CtCentos01 home]# useradd milan
[root@CtCentos01 home]# ls
ct  milan

细节说明:

  1. 创建用户需要在root权限下进行
  2. 当创建用户成功后,会自动创建和用户同名的家目录
  3. 也可以通过useradd -d 制定目录 新的用户名,给新创建的用户制定家目录

(这里我们就制定king用户的家目录为test)


2. 制定/修改密码

2.1. 基本语法

设置密码:passwd 用户名

2.2. 应用案例

案例1:给milan制定修改密码

注意:若设置密码少于8位,基于安全策略,Linux会提示你密码无效(非强制),但是如果我们再次输入密码仍然可以设置成功(但是在工作中我建议设置的比较复杂,安全性比较高)。

[root@CtCentos01 home]# ls
ct  milan  test
[root@CtCentos01 home]# passwd milan
更改用户 milan 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

拓展:pwd指令(point working directory)可以显示当前用户所在目录,经常用到


3. 删除用户

3.1. 基本语法

删除用户:userdel 用户名

该种删除方式仅仅删除用户,不删除家目录

3.2. 应用案例

案例1:删除用户milan,但要保留家目录

可以看到我们删除了milan之后,他的家目录仍然存在,但是我们切换用milan登录的时候,系统显示milan用户已经不存在啦

[root@CtCentos01 home]# ls
ct  milan  test  tom
[root@CtCentos01 home]# userdel milan
[root@CtCentos01 home]# ls
ct  milan  test  tom
[root@CtCentos01 home]# su - milan
su: user milan does not exist

案例2:删除用户tom及用户主目录

我们使用userdel -r +用户名来删除用户和用户主目录,可以看到删除后的tom的主目录也没有了,并且tom也不存在了

[root@CtCentos01 home]# userdel -r tom
[root@CtCentos01 home]# ls
ct  milan  test
[root@CtCentos01 home]# su - tom
su: user tom does not exist

细节说明:

  1. 删除用户需要root权限,用户无法删除用户
  2. 同时删除用户和用户主目录的操作需要谨慎使用,因为主目录中可能存在其他有用的资料
  3. 是否保留家目录的讨论?一般情况下,我们选择仅仅删除用户,除非必要,保留用户主目录相关资料。

4. 查询用户

4.1. 基本语法

查询用户:id 用户名

4.2. 应用实例

案例1:请查询root信息

可以看到对于存在的用户我们可以查到它的用户id、组id和组信息

[root@CtCentos01 ~]# id root
uid=0(root) gid=0(root) 组=0(root)
[root@CtCentos01 ~]# id king
uid=1002(king) gid=1002(king) 组=1002(king)
[root@CtCentos01 ~]# id milan
id: milan: no such user

细节说明:

  1. 查询用户不需要root权限,可以随意查询

  1. 当用户不存在时,返回无此用户

5. 切换用户

5.1. 介绍

在操作Linux中,如果当前用户的权限不够,可以通过 su - 指令,切换到高权限用户,比如root

5.2. 基本语法

su - 切换用户名

5.3. 应用实例

创建一个用户jack,,指定密码,然后切换到 jack

可以看到我们新建了用户jack,并为其设置了密码,当我们从高权限的root登录jack的时候,可以直接登录,但是当我们从低权限的jack登录到高权限的root的时候,就需要输入密码了。

[root@CtCentos01 home]# ls
ct  milan  test
[root@CtCentos01 home]# useradd jack
[root@CtCentos01 home]# ls
ct  jack  milan  test
[root@CtCentos01 home]# passwd jack
更改用户 jack 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@CtCentos01 home]# su - jack
[jack@CtCentos01 ~]$ su - root
密码:
上一次登录:五 3月 29 12:45:36 CST 2024pts/0 上
[root@CtCentos01 ~]# 

细节说明

  1. 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
  2. 同级别权限的用户切换,也需要输入密码

  1. 当需要返回到原来用户时,使用exit/logout指令

6. 查看当前用户

6.1. 基本语法

查看当前登录用户:whoami/who an i

可以看到我们第一次登录的用户是ct,然后我们切换到jack用户。通过whoami查询出来是切换后处于的用户,而通过who am i查询出来的是第一次登录系统的用户

[ct@CtCentos01 ~]$ su - jack
密码:
上一次登录:五 3月 29 12:48:23 CST 2024pts/0 上
[jack@CtCentos01 ~]$ who am i
ct       pts/0        2024-03-29 12:52 (192.168.92.1)
[jack@CtCentos01 ~]$ whoami
jack

细节说明:

  1. whoami只显示用户名,并且切换用户后将显示切换后的用户名
  2. who am i显示用户名、登陆时间和ip信息,并且切换用户后仍显示首次登录的用户

7. 用户组

7.1. 介绍

类似于角色,系统可以对有共性的多个用户进行统一的管理

7.2. 新增组

指令:groupadd 组名

案例演示:

[root@CtCentos01 ~]# groupadd wudang

7.3. 删除组

指令:groupdel 组名

案例演示:

[root@CtCentos01 ~]# groupdel wudang

7.4. 增加用户时直接加上组

指令:useadd -g 用户组 用户名

案例1:增加一个用户zwj,直接将他指定到wudang

我们先创建一个wudang组,然后直接添加一个新用户zwj到组中,通过id我们可以看到设置正确

[root@CtCentos01 ~]# groupadd wudang
[root@CtCentos01 ~]# useradd -g wudang zwj
[root@CtCentos01 ~]# id zwj
uid=1004(zwj) gid=1004(wudang) 组=1004(wudang)

注意:

  1. 对于没有分组的用户,我们会默认创建一个和用户名同名的组,并将用户放在里面

拓展:输入clear可以直接清空当前屏幕

7.5. 修改用户组

指令:usermod -g 用户组 用户名

案例演示:创建一个组mojiao,把zwj放入到mojiao

可以看到刚开始的zwj是wudang组的,但是我们将其改为了mojiao组

[root@CtCentos01 ~]# id zwj
uid=1004(zwj) gid=1004(wudang) 组=1004(wudang)
[root@CtCentos01 ~]# groupadd mojiao
[root@CtCentos01 ~]# usermod -g mojiao zwj 
[root@CtCentos01 ~]# id zwj
uid=1004(zwj) gid=1005(mojiao) 组=1005(mojiao)

8. 用户和组相关文件

8.1. /etc/passwd文件

用户(user)的配置文件,记录用户的各种信息

每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell

[root@CtCentos01 ~]# vim /etc/passwd

拓展shell:

国内一般使用bash,可在/bin目录下ls -l *sh查找到

8.2. /etc/shadow文件

口令的配置文件

每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

[root@CtCentos01 ~]# vim /etc/shadow

因为zwj和king没有设置密码,所以出现感叹号,而其他有密码的用户都是加密口令

8.3. /etc/group文件

组(group)的配置文件,记录Linux包含的组的信息

每行含义:组名:口令:组标识号:组内用户列表

[root@CtCentos01 ~]# vim /etc/group

可以看到对于king我们并没有设置组,但他默认为我们设了一个和king用户同名的组

  • 30
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值