和管理其它Linux服务器一样,管理一个 RHEL 7 服务器要求你能够添加、修改、暂停或删除用户帐户,并且授予他们执行其分配的任务所需的文件、目录、其它系统资源所必要的权限。
RHCSA: 用户和组管理 – Part 3
管理用户帐户如果想要给RHEL 7 服务器添加账户,你需要以root用户执行如下两条命令之一:
# adduser [new_account]
#useradd[new_account]
当添加新的用户帐户时,默认会执行下列操作。
它/她的主目录就会被创建(一般是"/home/用户名",除非你特别设置)
一些隐藏文件 如.bash_logout, .bash_profile 以及 .bashrc 会被复制到用户的主目录,它们会为用户的回话提供环境变量。你可以进一步查看它们的相关细节。
会为您的账号添加一个邮件池目录。
会创建一个和用户名同样的组(LCTT 译注:除非你给新创建的用户指定了组)。
用户帐户的全部信息被保存在/etc/passwd文件。这个文件以如下格式保存了每一个系统帐户的所有信息(字段以“:”分割)
[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
[username] 和[Comment] 其意自明,就是用户名和备注
第二个‘x’表示帐户的启用了密码保护(记录在/etc/shadow文件),密码用于登录[username]
[UID] 和[GID]是整数,它们表明了[username]的用户ID 和所属的主组ID
最后。
[Home directory]显示[username]的主目录的绝对路径
[Default shell] 是当用户登录系统后使用的默认shell
另外一个你必须要熟悉的重要的文件是存储组信息的/etc/group。和/etc/passwd类似,也是每行一个记录,字段由“:”分割
[Group name]:[Group password]:[GID]:[Group members]
[Group name] 是组名
这个组是否使用了密码 (如果是"x"意味着没有)
[GID]: 和/etc/passwd中一样
[Group members]:用户列表,使用“,”隔开。里面包含组内的所有用户
添加过帐户后,任何时候你都可以通过 usermod 命令来修改用户账户信息,基本的语法如下:
#usermod[options][username]
相关阅读
示例1 : 设置帐户的过期时间如果你的公司有一些短期使用的帐户或者你要在有限时间内授予访问,你可以使用 --expiredate 参数 ,后加YYYY-MM-DD 格式的日期。为了查看是否生效,你可以使用如下命令查看
# chage -l [username]
帐户更新前后的变动如下图所示
修改用户信息
示例 2: 向组内追加用户除了创建用户时的主用户组,一个用户还能被添加到别的组。你需要使用 -aG或 -append -group 选项,后跟逗号分隔的组名。
示例 3: 修改用户主目录或默认Shell如果因为一些原因,你需要修改默认的用户主目录(一般为 /home/用户名),你需要使用 -d 或 -home 参数,后跟绝对路径来修改主目录。
如果有用户想要使用其它的shell来取代默认的bash(比如zsh)。使用 usermod ,并使用 -shell 的参数,后加新的shell的路径。
示例 4: 展示组内的用户当把用户添加到组中后,你可以使用如下命令验证属于哪一个组
#groups[username]
#id[username]
下面图片的演示了示例2到示例4
添加用户到额外的组
在上面的示例中:
#usermod--append --groups gacanepa,users--home /tmp --shell /bin/sh tecmint
如果想要从组内删除用户,取消 --append 选项,并使用 --groups 和你要用户属于的组的列表。
示例 5: 通过锁定密码来停用帐户如果想要关闭帐户,你可以使用 -l(小写的L)或 -lock 选项来锁定用户的密码。这将会阻止用户登录。
示例 6: 解锁密码当你想要重新启用帐户让它可以继续登录时,使用 -u 或 –unlock 选项来解锁用户的密码,就像示例5 介绍的那样
#usermod--unlock tecmint
下面的图片展示了示例5和示例6:
锁定上锁用户
示例 7:删除组和用户如果要删除一个组,你需要使用 groupdel ,如果需要删除用户 你需要使用 userdel (添加 -r 可以删除主目录和邮件池的内容)。
#groupdel[group_name]#删除组
#userdel-r [user_name]#删除用户,并删除主目录和邮件池