Linux操作系统:用户和组的管理

在Linux管理中,用户和组的管理是一个重要的方面。它不仅涉及到系统的安全性,还会影响到资源的分配和权限的控制。本文将详细介绍Linux系统中用户和组的管理,以帮助您掌握这方面的知识。
在这里插入图片描述


🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:gylzbk

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

一、用户管理

1.1 用户的基本概念

在Linux系统中,用户是指能够登录并使用系统的主体,每一个用户都有一个唯一的用户名和用户ID(UID)。为了方便系统管理,用户通常被归类到组中,一个组内可以包含多个用户。

1.2 用户的添加

使用useradd命令可以添加新用户。使用方法如下:

sudo useradd <用户名>

举例:创建一个用户名为john的新用户:

sudo useradd john

1.2.1 设置用户密码

创建用户后,需要为其设置密码,使用passwd命令:

sudo passwd <用户名>

继续我们的例子,为john设置密码:

sudo passwd john

系统会提示输入新密码并确认:

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

1.3 用户的信息修改

使用usermod命令可以修改现有用户的信息。例如,可以修改用户的登录名、主目录、默认shell等。

修改john的登录名为john_doe

sudo usermod -l john_doe john

1.4 用户的删除

使用userdel命令可以删除用户:

sudo userdel <用户名>

删除用户john_doe

sudo userdel john_doe

可以使用参数-r连同用户的主目录一起删除:

sudo userdel -r john_doe

1.5 查看用户信息

1.5.1 查看所有用户

可以查看/etc/passwd文件来查看系统中的所有用户:

cat /etc/passwd

每一行为一个用户的信息,包括用户名、密码占位符、UID、GID、描述、主目录、默认shell等。

1.5.2 查看当前用户

使用whoami命令可以查看当前登录的用户名:

whoami

使用id命令可以查看当前用户的UID、GID和所属的组:

id

二、组的管理

2.1 组的基本概念

在Linux中,组是指一组用户的集合,具有相同的权限。在/etc/group文件中定义了组的信息。

2.2 组的添加

使用groupadd命令添加新组:

sudo groupadd <组名>

举例:创建一个名为developers的新组:

sudo groupadd developers

2.3 用户加入组

使用usermod命令可以将用户加入到某个组中,用法如下:

sudo usermod -aG <组名> <用户名>

例如,将用户john加入到developers组:

sudo usermod -aG developers john

-a表示附加而不是替换当前用户的组,-G表示后跟的组列表。

2.4 组的信息修改

使用groupmod命令可以修改组的信息,例如组名和GID:

sudo groupmod -n <新组名> <旧组名>

将组名从developers修改为devs

sudo groupmod -n devs developers

2.5 组的删除

使用groupdel命令删除组:

sudo groupdel <组名>

删除组devs

sudo groupdel devs

2.6 查看组信息

可以查看/etc/group文件来查看系统中的所有组:

cat /etc/group

每一行为一组的信息,包括组名、组密码占位符、GID和组成员。

使用groups命令可以查看当前用户所属的组:

groups

使用groups <用户名>可以查看指定用户所属的组:

groups john

三、用户和组的默认文件配置

3.1 /etc/passwd文件

/etc/passwd文件记录了所有用户的基本信息。每一行格式如下:

用户名:密码占位符:用户ID:组ID:描述:主目录:默认Shell

例子:

john:x:1001:1001:John Doe:/home/john:/bin/bash

3.2 /etc/group文件

/etc/group文件记录了所有组的信息。每一行格式如下:

组名:密码占位符:组ID:组成员

例子:

developers:x:1002:john,mary

3.3 /etc/shadow文件

/etc/shadow文件记录了用户的密码和其他信息。每一行格式如下:

用户名:加密密码:上次改密时间:最小间隔天数:最大间隔天数:警告天数:不活动天数:过期天数:保留字段

例子:

john:$6$randomsalt$encryptedpassword:19000:0:99999:7:::

四、实践案例

4.1 创建一个开发者组并添加用户

  1. 创建一个开发者组:
sudo groupadd developers
  1. 创建两个用户johnmary并将其加入开发者组:
sudo useradd john
sudo passwd john
sudo usermod -aG developers john

sudo useradd mary
sudo passwd mary
sudo usermod -aG developers mary
  1. 验证用户是否添加到组:
groups john
groups mary

4.2 设置用户密码过期时间

  1. 为用户john设置密码过期时间:
sudo chage -M 30 john

-M表示最大间隔天数,即密码过期之前的天数。

  1. 查看用户john的密码信息:
sudo chage -l john

4.3 删除用户和组

  1. 删除用户mary并删除其主目录:
sudo userdel -r mary
  1. 删除组developers
sudo groupdel developers

五、总结

通过学习本文,您应该掌握了在Linux系统中管理用户和组的基本操作。用户和组管理不仅涉及到系统安全,还影响着资源分配和权限控制。通过合理的用户和组管理,可以提高系统的安全性和可维护性。希望本文对您有所帮助,能够在实践中应用这些知识。

如果您有任何问题或建议,请在评论区留言,我们将非常乐意解答您的疑问。谢谢阅读!

  • 33
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I'mAlex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值