1 用户账户与群组概念
Linux操作系统是多用户多任务的操作系统,允许多个用户同时登录到系统,使
用系统资源。用户账户 是用户的身份标识。用户通过用户账户可以登录到系统,
并且访问已经被授权的资源。系统依据账户来区分属于每个用户的文件、进程、
任务,并给每个用户提供特定的工作环境(例如,用户的工作目录、shell版本
以及图形化的环境配置等),使每个用户都能各自不受干扰地独立工作。
Linux系统下的用户分为三种:
(1)普通用户:
在系统中只能进行普通工作,只能访问他们拥有的或者有权
限执行的文件。
(2)超级用户(root):
也叫管理员账户,它的任务是对普通用户和整个系
统进行管理。超级用户账户对系统具有绝对的控制权,能够对系统进行一切操作
(3)系统用户:
与系统服务相关,但不能用于登录
群组 是具有相同特性的用户的逻辑集合,使用群组有利于系统管理员按照用户
的特性组织和管理用户,提高工作效率。
有了群组,在做资源授权时可以把权限赋予某个群组,群组中的成员即可自动
获得这种权限。
一个用户账户可以同时是多个群组的成员 ,其中某个群组是该用户的
主群组
(私有群组)
,其他群组为该用户的
附属群组(标准群组)
。
root用户的UID为0:系统用户的UID从1到999;普通用户的UID可以在创建时由管理员指定,如果不指定,用户的UID默认从1 000开始顺序编号。在Linux系统中, 创建用户账户的同时也会创建一个与用户同名的群组,该群组是用户的主群组。 普通群组的GID默认也是从1 000开始编号。
2 用户账户与群组文件
用户登录过程
1.先找寻 /etc/passwd 里面是否有你输入的帐号?如果没有则跳出,如果有
的话则将该帐号对应的 UID 与 GID (在 /etc/group 中) 读出来,另外,该帐号
的家目录与 shell 设定也一并读出;
2. 进入 /etc/shadow 里面找出对应的帐号与 UID,然后核对一下你刚刚输
入的密l 环境码与裡头的密码是否相符
3.核对成功,就进入 Shell环境
/etc/passwd文件 : 在Linux系统中,所创建的用户账户及其相关信息(密码除
外 ) 均放在 /etc/passwd
配 置 文 件
中 。 用 vim 编 辑 器 ( 或 者 使 用 cat
/etc/passwd )打开passwd文件,
文件中的每一行代表一个用户账户的资料 ,可以看到第一个用户是root。然后 是一些标准账户,此类账户的shell为/sbin/nologin,代表无本地登录权限。 最后一行是由系统管理员创建的普通user1。passwd文件的每一行用“ : ” 分隔为7个域,各域的内容如下:
用户名:加密口令:UID:GID:用户的描述信息:主目录:命令解释器(登录shell)
/etc/shadow 文件 : 由于所有用户对/etc/passwd文件均有读取权限,为了增强
系统的安全性,用户经过加密之后的口令都存放在/etc/shadow文件中。
/etc/shadow文件只对root用户可读,因而大大提高了系统的安全性。shadow文
件的内容形式如下:
shadow文件保存投影加密之后的口令以及与口令相关的一系列信息, 每个用 户的信息在shadow文件中占用一行,并且用“ :”分隔为9个域 ,内容如下表
/etc/group文件 : 用于存放用户的组账户信息,对于该文件的内容任何用户都
可以读取。每个群组账户在group文件中占用一行,并且用“
: ”分隔为4个域
。 每一行各域的内容如下(使用cat /etc/group) :
分别表示:群组名称:群组口令(一般为空,用x占位):GID:群组成员列表
root的GID为0,没有其他组成员。group文件的群组成员列表中如果有多个用 户账户属于同一个群组,则各成员之间以“,”分隔。在/etc/group文件中,用户 的主群组并不把该用户作为成员列出,只有用户的附属群组才会把该用户作为成 员列出。例如,用户bobby的主群组是bobby,但/etc/group文件中群组bobby的成 员列表中并没有用户bobby,只有用户user1和user2。
/etc/gshadow文件 : 用于存放群组的加密口令、组管理员等信息,该文件只有
root用户可以读取。每个群组账户在gshadow文件中占用一行,并以“
:”分隔为4 个域。每一行中各域的内容如下:
表示:群组名称:加密后的群组口令(没有就用!):群组的管理员:群组成员 列表
/etc/group、/etc/shadow、/etc/passwd 文件关系
3 用户账户与群组管理
1.新建用户 useradd
作用:新建用户账户
命令格式:useradd [选项] <username>