用户和用户组

在 Linux 系统中,用户和用户组是基本的权限管理机制。理解它们的概念和如何操作对于系统管理是非常重要的。

用户(User)

用户是系统中的一个实体,代表一个能够登录系统并执行任务的个体。每个用户在系统中都有一个唯一的用户ID(UID)和用户名。

  • UID(User ID): 每个用户在系统中的唯一标识。系统保留一些 UID 给系统用户(通常是 0-999)。
  • 用户名(Username): 用户在系统中的名字,用于登录和标识。

用户组(Group)

用户组是用户的集合,用户组用于简化权限管理。每个用户组都有一个唯一的组ID(GID)和组名。

  • GID(Group ID): 每个用户组在系统中的唯一标识。
  • 组名(Group Name): 用户组在系统中的名字,用于标识和管理权限。

用户和用户组的关系

  • 每个用户至少属于一个用户组,这个组叫做主组。
  • 用户可以属于多个附加组,这样可以方便地授予权限。

常用的用户和用户组管理命令

用户管理
  • useradd:添加新用户。
  • usermod:修改用户信息。
  • userdel:删除用户。
  • passwd:设置或修改用户密码。
用户组管理
  • groupadd:添加新用户组。
  • groupmod:修改用户组信息。
  • groupdel:删除用户组。
  • gpasswd:管理组成员。

getent passwd 命令

getent 命令用于从系统数据库(如 passwd、group、hosts 等)中获取条目。getent passwd 命令用于获取系统中的用户条目。

用法
getent passwd [username]
  • 如果不带参数,getent passwd 会列出所有用户。
  • 如果带参数 usernamegetent passwd username 会列出指定用户的信息。
示例
# 列出所有用户
getent passwd

# 列出指定用户的信息
getent passwd alice
输出格式

getent passwd 命令的输出格式与 /etc/passwd 文件的内容相同,每一行代表一个用户,字段用冒号 : 分隔:

username:password:UID:GID:GECOS:home_directory:shell
  • username:用户名
  • password:用户密码(通常是 x,表示密码被存储在 /etc/shadow 文件中)
  • UID:用户 ID
  • GID:主组 ID
  • GECOS:用户描述信息
  • home_directory:用户的主目录
  • shell:用户的默认 shell

实例讲解

假设有一个用户 alicegetent passwd alice 的输出可能是:

alice:x:1001:1001:Alice:/home/alice:/bin/bash
  • alice:用户名
  • x:表示密码被存储在 /etc/shadow
  • 1001:用户 ID
  • 1001:主组 ID
  • Alice:用户描述信息
  • /home/alice:用户的主目录
  • /bin/bash:用户的默认 shell
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值