无论是通过图形界面配置用户和组,还是通过命令配置用户和组,都会在对应的配置文件中生成相应的记录。
Linux下的用户可以为分三类:超级用户、系统用户和普通用户。超级用户的用户名为root,它具有一切权限。(只有进行系统维护或其他必要情形下才用超级用户登录,以避免系统出现安全问题。)系统用户是Linux系统正常工作所必需的内建的用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录,如bin、daemon、adm、lp等用户。普通用户是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。
/etc/passwd文件中保存的是系统中所有用户的属性信息,是账号管理中最重要的一个纯文本文件。普通用户可以查看这个文件的内容,但仅有root用户可以进行修改,修改的效果与图形界面执行或者命令执行的效果一样。每一个注册用户在该文件都有一个对应的记录行,这一记录行记录了此用户的必要信息。文件中的每一行由7个字段的数据组成,字段之间用“:”分隔,其格式如下:
账号名称:密码:用户ID(UID):组群ID(GID):个人资料:主目录:shell
对于以上字段的说明如下:
账号名称:用户登录Linux系统时使用的名称。
密码:这里的密码是经过加密后的密码,而不是真正的密码,若为“x”,说明密码经过了shadow的保护。
用户ID:用户的标识,是一个数值,Linux系统内部使用它来区分不同的用户。每个用户都有一个数值,称为UID。超级用户的UID为0,系统用户的UID一般为1~999,普通用户的UID为>=1000的值。
组群ID:用户所在组的标识,是一个数值,Linux系统内部使用它来区分不同的组,相同的组具有相同的GID。
个人资料:可以记录用户的个人信息,如姓名、电话等信息,可以为空。
主目录:通常是/home/username,这里username是用户名,用户执行“cd ~”命令时当前目录会切换到个人主目录。
shell:定义用户登录后使用的shell,默认是bash。
通过cat命令查看/etc/passwd文件的内容如图4-6所示,可看到第一行用户是root,紧接着是系统用户,普通用户通常在文件的尾部。从图中可见root的用户名为root,密码屏蔽,用户ID为0,主组ID为0,用户全称为root,主目录位于/root,登录shell为/bin/bash。
图4-6/etc/passwd文件内容
系统中所有用户的用户密码保存在/etc/shadow文件中。所有的密码都经过MD5算法加密处理过,只有具备超级用户权限才能查看这个文件。
/etc/shadow文件中的每一行同样代表一个单独的用户。其中的“:”用于间隔用户的属性信息字段。和/etc/passwd文件类似,shadow文件中的每行由9个字段组成,格式如下。
用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志字段
通过cat命令查看/etc/shadow文件如图4-7所示,可看到第一行的用户是root。
图4-7 /etc/shadow文件内容
以root这一行记录为例对/etc/shadow文件中的各个字段进行说明如表4-1所示。
表4-1 /etc/shadow文件字段说明
Linux的组有私有组、系统组、标准组之分。建立账户,没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组。标准组可以容纳多个用户,组中的用户都具有组所拥有的权利。系统组是Linux系统自动建立的。
组账号信息文件/etc/group中保存的是系统中所有组的属性信息。每一行代表一个单独的组,每一个组的属性分别用“:”隔开。各字段从左到右依次是组名、密码、组ID和用户列表。用户列表中所包含的组成员之间用“,”分隔。
一个用户可以属于多个组,用户所属的组又有主组(初始组)和附加组之分。用户登录系统时的组为主组,主组组在/etc/passwd文件中指定;其他组为附加组,即登录后可切换的其他组,附加组在/etc/group文件中指定。
组密码信息文件/etc/gshadow中保存的是系统中所有组的密码。和/etc/shadow一样,所有的密码都经过MD5算法加密处理,只有超级用户才能查看。
好了,本文到此结束。如果对编程、计算机、程序员方面感兴趣的话,欢迎私信联系我,随时交流!点个关注,是对我莫大的鼓励!
举报/反馈