目录
Linux系统是多用户、多任务、支持多线程和多CPU的操作系统,任何需要访问系统资源的用户,都需要先向管理员申请一个账户,然后通过该账户进入系统。用户的账户一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制它们对系统资源的访问,另一方面,可以帮助用户组织文件,并为用户提供安全性保护。本篇将对Red Hat Enterprise Linux系统中的用户和组进行管理,主要演示如何增加、管理和删除用户和组。
1 用户和组介绍
用户和组,都有一个唯一的标识用于表示,分别为UID和GID,对于这些ID,其中有一部分作为保留的用户和组,可在文件/etc/login.defs进行查看。
每当创建一个新用户,都会自动创建一个对应的用户组,组名和用户名相同,而且该组只有一个用户,该用户组称为用户私有组(UPG)。用户组对应的信息保存在文件/etc/group中。当然,每个用户都有自己的密码,由于Linux是多用户环境,为了更好的安全性,密码对应的信息保存在文件/etc/shadow中,该文件只有root用户可读取。
2 用户管理
2.1 新增用户
2.1.1 语法
默认情况下,useradd命令创建一个锁定的用户,如需解锁,使用passwd命令。
useradd [options] LOGIN
其中,常用的选项如下:
选项 |
描述 |
-c 'comment' |
增加描述信息; |
-d home_directory |
指定home目录,而不是使用默认的/home/LOGIN; |
-e date |
用户账户失效的时间,格式为YYYY-MM-DD; |
-g group_name |
指定用户的默认主组; |
-G group_list |
指定用户所属的附加组,多个附加组以逗号分隔; |
-m |
如果用户的home目录不存在则创建对应的目录; |
-M |
不创建home目录; |
-N |
不创建用户私有组; |
-p password |
指定用户密码,以crypt加密; |
-r |
创建系统账户,但不创建home目录; |
-s |
指定用户的登录shell,默认是/bin/bash; |
-u uid |
指定用户的UID; |
2.1.2 示例
[root@strong ~]# useradd oracle
执行上述命令后,
- /etc/passwd对应的如下记录: