Linux-用户和用户组管理

在Linux中,有三种用户:

  • Root用户:也称为超级用户,对系统拥有完全的控制权限。超级用户可以不受限制的运行任何命令。Root用户可以看做是系统管理员。
  • 系统用户:系统用户是Linux运行某些程序所必须的用户,例如 mail 用户、sshd 用户等。系统用户通常为系统功能所必须的,不建议修改这些用户。
  • 普通用户:一般用户都是普通用户,这些用户对系统文件的访问受限,不能执行全部Linux命令。

Linux支持用户组,用户组就是具有相同特征的用户的集合。一个组可以包含多个用户,每个用户也可以属于不同的组。用户组在Linux中扮演着重要的角色,方便管理员对用户进行集中管理。

用户管理

主要涉及到用户账号的添加、修改和删除。

添加用户

可以使用useradd命令,语法为:

1
useradd -d homedir -g groupname -m -s shell -u userid accountname

每个选项的含义如下:
-d homedir 指定用户主目录。
-g groupname 指定用户组。
-m 如果主目录不存在,就创建。
-s shell 为用户指定默认Shell。
-u userid 指定用户ID。
accountname 用户名。
如果不指定任何选项,系统将使用默认值。

用户被创建后,没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。可以使用 passwd 命令来设置密码,例如:

1
2
3
4
5
[root@Automation home]# passwd rzhang
更改用户 rzhang 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

Notes: 如果你是管理员,输入 $ passwd username 可以修改你所管理的用户的密码;否则只能修改你自己的密码(不需要提供username)。

修改用户

usermod 命令可以修改现有用户的信息。usermod 命令的选项和 useradd 相同,不过可以增加 -l 选项来更改用户名。

1
2
3
4
tt:x:503:503::/home/tt:/bin/bash
[root@Automation file]# usermod -l ttt tt
[root@Automation file]# cat /etc/passwd
ttt:x:503:503::/home/tt:/bin/bash

删除用户

如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
userdel 命令可以用来删除现有用户。userdel 是一个危险的命令,请谨慎使用。

1
$ userdel -r username

常用的选项是-r,它的作用是把用户的主目录一起删除。

用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。

添加用户组

默认的用户组通常用来管理系统用户,不建议将普通用户添加到这些用户组。使用groupadd命令创建用户组的语法为:

1
groupadd [-g gid [-o]] [-r] [-f] groupname

每个选项的含义如下:
-g GID 以数字表示的用户组ID。
-o 可以使用重复的组ID。
-r 建立系统组,用来管理系统用户。
-f 强制创建。
groupname 用户组的名称。
如果不指定选项,系统将使用默认值。

修改用户组

groupmod命令可以用来修改用户组,语法为:

1
$ groupmod -n newgroupname oldgroupname

-n新用户组 将用户组的名字改为新名字

删除用户组

如果要删除一个已有的用户组,使用groupdel命令,

1
$ groupdel groupname

Notes: 如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。$ newgrp destinegroupname

与用户和组有关的系统文件

与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。

/etc/passwd文件

1
2
3
[root@Automation file]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
用户名:密码:用户ID:组ID:描述信息:主目录:用户Shell

唐胡璐 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
分享创造价值,您的支持将鼓励我继续前行!