【任务描述】
作为系统管理员, 必须对用户以及用户组进行管理与维护, 赋予他们不同的权限。 为了安全起见, 要合理地布局公司的用户和用户组, 以方便公司的管理。
【任务分析】
要对公司的用户以及用户组进行管理与维护, 必须创建用户, 可以为同一部门或者相同属性的用户创建组, 并加入用户, 还要对不再使用的用户和组群进行修改和删除。
【任务实施】
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
在删除用户组时, 被删除的用户组不能是某个账户的私有用户组, 否则将无法删除。 若要删除, 则应先删除引用该私有用户组的账户, 然后再删除用户组。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。