首页 百科知识 管理用户账户和组群

管理用户账户和组群

时间:2023-10-05 百科知识 版权反馈
【摘要】:作为系统管理员, 必须对用户以及用户组进行管理与维护, 赋予他们不同的权限。为了安全起见, 要合理地布局公司的用户和用户组, 以方便公司的管理。增加新用户时, 系统将为用户创建一个与用户名相同的组, 称为私有组。这与未设置口令的账户不同, 未设置口令的账户无法登录系统, 而口令为空的账户可以。在删除用户组时, 被删除的用户组不能是某个账户的私有用户组, 否则将无法删除。

【任务描述】

作为系统管理员, 必须对用户以及用户组进行管理与维护, 赋予他们不同的权限。 为了安全起见, 要合理地布局公司的用户和用户组, 以方便公司的管理。

【任务分析】

要对公司的用户以及用户组进行管理与维护, 必须创建用户, 可以为同一部门或者相同属性的用户创建组, 并加入用户, 还要对不再使用的用户和组群进行修改和删除。

【任务实施】

1. 管理用户账户

(1) 新建用户——useradd命令。

先用root用户登录后, 再执行useradd命令。

#useradd [选项] <username>

常用选项:

•-d 目录——指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录, 默认值是/home/用户名。

•-e YYYY-MM-DD——设置账号的失效日期,此日期后用户将不能使用该账号。要启用shadow才能使用此功能。

•-f days——指定密码到期后多少天永久停止账号, 若指定为0, 则立即被停权; 为-1,则关闭此功能。

•-g 用户组——设定用户所属基本组(或使用GID号),该组在指定时必须已存在。

•-G 用户组列表——设定用户所属附属组(或使用GID号),各组在指定时已存在,附属组可以有多个, 组之间用 “,” 分隔开。

•-m——若用户主目录不存在,则创建主目录 (在Red Hat系列中此选项可省略)。

•-M——不创建用户主目录。

•-p 口令——指定用户登录密码(加密的口令)。

•-s Shell——设置用户登录后启动的Shell,默认是bash。

•-u 用户号——设置账号的UID,默认是已有用户的最大UID加1。 如果同时有-o选项, 则可以重复使用其他用户的标识号。

例如, 创建一个名为zhangsan的用户, 并作为student用户组的成员:

#useradd -g student zhangsan

#tail -1 /etc/passwd #显示最后一行的内容

zhangsan:x:502:500::/home/zhangsan:/bin/bash

该命令做了下面几件事:

•在/etc/passwd和/etc/group文件中增添了一行记录。

•创建新用户的主目录。

•从/etc/skel中复制文件和目录到用户主目录。

•让新用户获得其主目录和文件拥有的权限。

但是使用了该命令后, 新建的用户暂时还无法登录, 因为还没有为该用户设置口令, 需要再用passwd命令为其设置口令后才能登录。 用户的UID和GID是useradd自动选取的, 它是将/etc/passwd文件中的UID加1, 将etc/group文件中的GID加1。

增加新用户时, 系统将为用户创建一个与用户名相同的组, 称为私有组。 这一方法是为了能让新用户与其他用户隔离, 确保安全性的措施。

(2) 为用户账号设置密码——passwd命令。

只有root用户才有权设置指定账户的密码, 一般用户只能设置或修改自己账户的密码。Linux的账户必须设置密码后才能登录系统。

passwd [选项] [账户名]

常用选项:

•-d——清空指定用户的口令。这与未设置口令的账户不同, 未设置口令的账户无法登录系统, 而口令为空的账户可以。

•-f——强迫用户下次登录时必须修改口令。

•-i——口令过期后多少天停用账户。

•-l——锁定(停用) 用户账户。

•-n——指定口令的最短存活期。

•-S——显示账户口令的简短状态信息 (是否被锁定)。

•-u——解锁用户账户。

•-x——指定口令的最长存活期。

•-w——口令要到期前提前警告的天数。

•如果缺省用户名, 则表示修改当前用户的口令。

要设置zhang3账户的登录密码, 则操作命令为:

#passwd zhang3

Changingpasswordforuserlijunjie.

Newpassword: #输入密码

Retypenewpassword: #重输密码

passwd:allauthenticationtokensupdatedsuccessfully.

(3) 修改用户账号属性——usermod命令。

usermod [选项] username

常用的选项包括-c、 -d、 -m、 -g、 -G、 -s、 -u及-o等, 这些选项的意义与useradd命令中的选项一样, 可以为用户指定新的资源值。 另外, 还可以使用以下选项:

•-l 新用户名——更改账户的名称,必须在该用户未登录的情况下才能使用。

•-L——锁定(暂停) 用户账户,使其不能登录使用。

•-U——解锁用户账户。

①改变用户账户名。

usermod -l 新用户名 原用户名

例如, 将用户zhangsan更名为zhang3:

#usermod -l zhangsan zhang3

#tail -1 /etc/passwd

zhang3:x:503:503::/home/lijie:/bin/bash

从输出结果可见, 用户名已更改为了zhang3。 主目录仍为/home/zhangsan, 若要将其更改为/home/zhang3, 则命令为:

#usermod -d /home/zhang3 zhang3

②锁定账户——临时禁止用户登户。

命令:usermod -L 要锁定的账户

例如:

usermod -L zhang3

Linux锁定账户, 是通过在密码文件shadow的密码字段前加 “!” 来标识该用户被锁定。

③解锁账户。

命令:usermod -U 要解锁的账户

例如:

usermod -U zhang3

(4) 删除用户账号——userdel命令。

命令:userdel [-r] 账户名

-r——在删除该账户的同时,一并删除该账户对应的主目录。

例如:

userdel -r zhang3

(5) 用户间切换——su (substituteuser) 命令。

#su [用户名]

su命令的常见用法是变成根用户或超级用户, 如果发出不带用户名的su命令, 则系统提示输入根口令, 输入之后则可转换为根用户。

如果登录为根用户, 则可以用su命令成为系统上任何用户而不需要口令。

2. 管理用户组

(1) 新建用户组——groupadd命令。

命令:groupadd [-r] 用户组名称

-g GID——指定新用户组的组标识号 (GID),默认值是已有的最大的GID加1。

-r——创建系统用户组,该类用户组的GID值小于500;若无-r参数,则创建普通用户组, 其GID值不小于500。 在前面创建的student用户组, 由于是创建的第1个普通用户组,故其GID值为500。

创建一个名为sysgroup的系统用户组, 则操作命令为:

#groupadd -r sysgroup

#tail -1 /etc/group

sysgroup:x:101:

(2) 添加/删除组成员——gpasswd命令。

命令: gpasswd [选项] [用户] [组]

只有root用户和组管理员才能够使用这个命令。

选项:

-a——把用户加入组。

-d——把用户从组中删除。

-M——可同时添加多个用户。

-A——给组指派管理员。

将zhang3、 li4用户同时加入group1组, 并指派zhang3为管理员:

[root@dyzx~]#gpasswd -Mzhang3,li4 group1

[root@dyzx~]#tail -1/etc/group

group1:x:1000:zhang3,li4

[root@dyzx~]#gpasswd -Azhang3 group1

(3) 修改用户组属性——groupmod命令。

命令: groupmod 选项 用户组

常用选项:

-g GID——为用户组指定新的组标识号。

-n 新用户组——将用户组的名字改为新名字;修改用户组的名称和用户组的GID值。

①改变用户组名称。

命令:groupmod -n 新用户组名 原用户组名

对用户组更名, 不会改变其GID值。

例如, 将sysgroup用户组更名为teacher用户组, 则操作命令为:

#groupmod -n teacher sysgroup

#tail-1/etc/group

teacher:x:101:

②重设用户组的GID。 用户组的GID值可以重新进行设置修改, 但不能与已有用户组的GID值重复。

对GID进行修改, 不会改变用户名的名称。

命令:groupmod -g 新GID 用户组名

例如, 若要将teacher组的GID更改为501, 则操作命令为:

#groupmod -g 501 teacher

#grep teacher /etc/group

#在/etc/group文件中查找并显示含有teacher的行

teacher:x:501:

(4) 删除组账户——groupdel命令。

命令: groupdel 用户组名

例如:

groupdel teacher

在删除用户组时, 被删除的用户组不能是某个账户的私有用户组, 否则将无法删除。 若要删除, 则应先删除引用该私有用户组的账户, 然后再删除用户组。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈