Linux用户账户的管理

一.理解用户账户和组群及用户账户文件和组群文件

1.分别写出用户账户信息文件,用户口令文件,组群账户信息文件,组群口令口令、管理员等管理信息文件四个文件。

用户账户信息文件

  • /etc/passwd:这是用户账户信息的主要文件,它存储了所有用户账户的基本信息,包括用户名、用户ID(UID)、主组ID(GID)等。这个文件对所有用户可读,用于系统登录时的用户身份验证。

用户口令文件

  • /etc/shadow:该文件包含用户的加密密码以及密码相关的属性,如密码最后一次更改的日期、密码过期时间等。此文件仅对root用户可读,增强了系统的安全性。

组群账户信息文件

  • /etc/group:这个文件包含了系统内所有用户组的信息,每个用户组一行,包括组名、组ID(GID)以及组成员列表。这个文件定义了系统中的组及其属性。

组群口令文件

  • /etc/gshadow:与/etc/shadow类似,它包含了用户组密码及其相关属性,如组成员列表等。这个文件也是为了安全性考虑,只有root用户可以读取。

管理员等管理信息文件

  • /etc/passwd 和 /etc/group 中也包含了管理员账户(如root用户)的信息,因为它们存储了所有用户和组的信息。

2.建立用户账户时根据哪个文件的配置设置用户账户的某些选项。

建立用户账户时会根据**/etc/login.defs**文件的配置设置用户账户的某些选项。

3.如何直接修改配置文件的方式禁用和恢复用户账户

  • 禁用用户账户
  1. 打开终端。
  2. 输入命令 sudo passwd -l 用户名 来禁用账户。例如,要禁用名为tadpole的用户账户,命令将是 sudo passwd -l tadpole
  3. 这个命令会在/etc/shadow文件中,用户对应的密码记录行前加上一个"!"符号,使得用户无法使用密码登录。
  • 恢复用户账户
  1. 再次打开终端。
  2. 输入命令 sudo passwd -u 用户名 来恢复账户。例如,要恢复名为tadpole的用户账户,命令将是 sudo passwd -u tadpole
  3. 这个命令会移除/etc/shadow文件中用户对应行的"!"符号,使用户能够再次使用密码登录。

4.如何直接修改配置文件的方式删除用户

  1. 使用userdel命令

    • 打开终端。
    • 输入命令 sudo userdel 用户名。例如,要删除名为tadpole的用户,命令将是 sudo userdel tadpole
    • 这个命令会从系统中删除用户账户及其主目录(如果指定了-r选项)。
  2. 编辑/etc/passwd文件

    • 使用文本编辑器打开/etc/passwd文件,例如:sudo nano /etc/passwd
    • 找到要删除用户对应的行,将其整行删除。
    • 保存并关闭文件。
  3. 编辑/etc/shadow文件

    • 使用文本编辑器打开/etc/shadow文件,例如:sudo nano /etc/shadow
    • 找到要删除用户对应的行,将其整行删除。
    • 保存并关闭文件。
  4. 删除用户的主目录(如果之前没有使用-r选项):

    • 手动删除用户的主目录。例如,如果用户的主目录位于/home/tadpole,则可以使用命令 sudo rm -rf /home/tadpole
  5. 编辑/etc/group/etc/gshadow文件

    • 如果用户属于任何组,还需要编辑/etc/group/etc/gshadow文件,从组中移除该用户。
    • 使用文本编辑器打开/etc/group/etc/gshadow文件。
    • 找到包含要删除用户的所有组条目,将用户从组成员列表中移除。
    • 保存并关闭文件。

5.暂时禁用和恢复用户账户,可以使用3种方法实现,这3种方法分别是?

  1. 使用passwd命令
  • 禁用账户:通过在/etc/shadow文件中用户对应的密码记录前加上一个"!"符号,可以阻止用户使用密码登录。这可以通过命令sudo passwd -l 用户名实现。例如,要禁用名为tadpole的用户账户,可以使用命令sudo passwd -l tadpole
  • 恢复账户:移除/etc/shadow文件中用户对应行的"!"符号,使用户能够再次使用密码登录。这可以通过命令sudo passwd -u 用户名实现。例如,要恢复名为tadpole的用户账户,可以使用命令sudo passwd -u tadpole
  1. 使用usermod命令
  • 禁用账户:usermod -L 用户名命令可以将用户的密码锁定,使其无法登录。
  • 恢复账户:usermod -U 用户名命令可以解锁用户的密码,允许其登录。
  1. 编辑/etc/shadow文件
  • 禁用账户:直接编辑/etc/shadow文件,在用户密码字段前手动添加"!"。
  • 恢复账户:同样通过编辑/etc/shadow文件,删除用户密码字段前的"!"。

二.  管理用户账户

1、查看当前用户账户

在Linux系统中,查看当前用户账户有多种方法。以下是一些常用的命令:

  1. 使用whoami命令:这是最直接的方法,它会显示当前用户的用户名。您只需在终端中输入whoami,然后按回车键,系统就会显示出当前用户的用户名。
  2. 使用who命令:这个命令会显示当前登录到系统中的所有用户的用户名、登录时间和登录的终端。如果您只想知道当前用户的信息,通常输出结果的第一行就是您要找的信息。
  3. 使用w命令w命令也可以显示当前登录的用户,以及他们所在的终端和登录时间。同样,输出结果的第一行通常包含了当前用户的信息。

2、切换用户为root用户

      使用su命令

3、新建用户user1,给用户user1设置密码为password123

1)使用sudo useradd user1 命令来新建用户user1

2)使用sudo passwd user1 命令来设置用户user1的密码(系统将会提示输入两次密码确认,注意!此密码不是root用户的密码,而是给新用户user1设置的密码。)

并且在执行第二条命令时,如果当前用户为root用户,则不用输入管理员密码,否则,系统将提示输入管理员密码(root用户的密码)用来获取管理员权限。

4、新建用户user2,UID为510,指定其所属的私有组为group1(group1组的标识符为500),用户的主目录为/home/user2,用户的Shell为/bin/bash,用户的密码为123456,账户永不过期。

1)首先,创建组group1(如果它还不存在):

sudo groupadd -g 500 group1

2)接下来,创建用户user2并设置指定的参数:

sudo useradd -u 510 -g 500 -d /home/user2 -s /bin/bash -c "User Two" user2

  • sudo useradd 创建新用户。
  • -u 510 指定用户ID(UID)为510。
  • -g 500 指定所属初始组ID(GID)为500(group1)。
  • -d /home/user2 指定用户的主目录为/home/user2
  • -s /bin/bash 指定用户的登录Shell为/bin/bash
  • -c "User Two" 为用户添加注释“User Two”。

3)设置用户user2的密码:

echo "user2:123456" | sudo chpasswd

4)设置账户密码的最长有效期为99999天,即账户永不过期:

sudo chage -M 99999 user2

接下来我们可以使用id user2来查看我们刚才设置的user2的属性

5.设置用户user2 的密码为空

sudo passwd -d user2

这通常不推荐,因为它会降低系统的安全性。

6、修改用户user2的主目录为/var/user2,把启动Shell修改为/bin/false 

使用 usermod 命令修改用户 user2 的主目录:

sudo usermod -d /var/user2 user2

使用 usermod 命令修改用户 user2 的登录Shell:

sudo usermod -s /bin/false user2

查看修改后的结果

注销当前用户,用user2登陆,看能否正常登陆,不能的话,为什么?

可以使用 pkill 命令来强制注销他们

如果 user2 的启动Shell是 /bin/false,则您将无法登录,因为 /bin/false 是一个不执行任何操作的程序,它立即返回一个非零退出状态,这会导致 susudo 命令失败。

7、用passwd禁用用户user1,

禁用之后查看/etc/shadow文件,有跟之前什么区别?

这是禁用之前查看/etc/shadow文件

这是禁用后查看/etc/shadow文件

可以发现在user1用户后出现了感叹号,这个符号表明用户账户已被锁定,因此即使用户知道密码也无法登录系统。

8.用passwd恢复user1账户

9.用usermod禁用和恢复用户user2

禁用:

恢复:

usermod -p '<0120230469>' user2

因为之前我们将用户user2的密码设置为空,所以我们需要先给user2设置一个密码

10.删除user1用户,同时删除用户主目录

11.新建用户user3,UID为512,GID为500,用户的shell为/bin/bash,用户的注释性信息为”network 3” 密码为123456.建好用户之后,查看/etc/passwd文件变化。

在文件下方出现了user3

12、设置wangwu的口令最短存活期为5天,最长存活期为7天,口令到期前提前1天警告,口令过期后2天停用账户。

并用grep 查看/etc/shadow文件wangwu所在的行

先新建一个用户wangwu

然后使用chage -m 5 -M 7 -W 1 -I 2 wangwu 对wangwu用户进行设置

任务3  管理组群(groupadd,groupdel,groupmod,gpasswd)

1.创建一个新的组群,组群名称为network

2.查看/etc/group文件的最后一行,看看是如何设置的。

3.创建一个新帐户user4,并把他的起始组和附属组都设为network

4.查看/etc/group文件中的最后一行,看看有什么变化

5.给组network设置组密码:

6.查看/etc/gshadow文件最后一行,看看有什么变化

7.取消组network的密码:

8.查看/etc/gshadow文件最后一行,看看有什么变化

9.新建用户user5,把用户user5加入到network组中。

10.查看/etc/gshadow文件最后10行,看看有什么变化

11.指派user2为组network的管理员,并查看/etc/gshadow文件最后10行,看看有什么变化

12.在组network中删除用户user4,再次查看/etc/group或/etc/gshadow文件,看看有什么变化。

不再包含用户user4

任务4 使用常用的账户管理命令

vipw,vigr,pwck,grpck,id,chfn,chsh,newgrp

1.命令vipw,vigr的作用

vipw:用于编辑/etc/passwd文件,该文件存储了系统中所有用户的信息。

vigr:用于编辑/etc/group文件,该文件存储了系统中所有组的信息。

2、验证用户帐户文件认证信息的完整性,检测/etc/passwd文件和/etc/shadow文件的每行中字段的格式和值是否正确。

3、验证组群文件认证信息的完整性,检测/etc/group文件和/etc/gshadow文件的每行中字段的格式和值是否正确。

4、查看root、liao用户UID和GID以及用户所属组

5、修改用户liao的全名为你的名字(如zhangsan),办公地址为gdit.edu.cn、办公电话7796110和住宅电话7796213等,并查看/etc/passwd文件,看有什么变化。

6、修改用户user3的启动Shell为/bin/sh,并查看/etc/passwd文件,看有什么变化。

7、转换root账户的组为network

  • 36
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值