Linux 用户及用户组

本文将介绍 Linux 中的用户及用户组。

一、说明

Linux 系统是一个多用户、多任务操作系统。

也就是说,Linux 支持多个用户在同一时间执行不同的任务,并且互不影响。

任何一个要访问 Linux 的用户,都应该首先获取一个账号,再以这个账号的身份进入系统。

二、用户和用户组的关系

在 Linux 中,用户和用户组存在以下关系:

一个用户可以存在于一个或多个组中,一个组中也可以容纳一个或多个用户。

如果用户要在所属的多个用户组之间切换,应该登录后使用:

1
newgrp 用户组名

三、常用命令

1. 创建账号

1
useradd [-c 注释] [-d [-m] 目录] [-g 用户组] [-G 用户组列表] [-s Shell文件] [-u [-o] 用户号] 用户名
  • -c 注释:注释用户

  • -d [-m] 目录:指定用户的主目录,同时使用 -m 选项可以在目录不存在时自动创建

  • -g 用户组:指定用户所属的组

    一般情况下,会自动创建与用户名同名的组作为用户的所属组。

    需要自定义所属组时,可以使用该命令

  • -G 用户组列表:指定用户所属的附加组

  • -s Shell文件:指定用户的登录Shell

  • -u [-o] 用户号:指定用户的用户号,同时使用 -o 选项可以重复使用用户号

2. 删除账号

1
userdel [-r] 用户名
  • -r:将用户的主目录一起删除

3. 修改帐号

1
usermod [-c 注释] [-d [-m] 目录] [-g 用户组] [-G 用户组列表] [-s Shell文件] [-u [-o] 用户号] 用户名

选项同创建账号

4. 设置密码

账号创建后并没有密码,需要为账户设置密码后,该账号才能正常登录

1
passwd [-S] [-l] [-u] [-d] 用户名
  • -S:查询该账号的密码
  • -l:禁用账号
  • -u:解锁账号
  • -d:设置账号为空密码,无需输入密码便可以登录

5. 创建用户组

1
groupadd [-g [-o] 用户组号] 用户组
  • -g [-o] 用户组号:指定用户组的用户组号,同时使用 -o 选项可以重复使用用户组号

6. 删除用户组

1
groupdel 用户组

7. 修改用户组

1
groupmod [-g [-o] 用户组号] [-n 新用户组名] 用户组
  • -g [-o] 用户组号:指定用户组的用户组号,同时使用 -o 选项可以重复使用用户组号
  • -n 新用户组名:为用户组指定新名

参考