一、管理用户账号
1、用户账号概述
与Windows系统相比,Linux系统中的用户账号和组账号的作用在本质上是一样的,同样都是基于用户的身份来控制对资源的访问,只不过在表现形式及个别细节方面存在些许差异。
1)、用户账号
在Linux系统中,根据系统管理的需求将用户账号分为不同的类型,其拥有的权限、担任的角色也各不相同,主要包括超级用户、普通用户、和程序用户。
超级用户:root用户是Linux系统中默认的超级用户账号,对本机拥有最高的权限,类似于Windows系统中的Administrator用户。只有进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议只使用普通用户账号。
普通用户:普通用户账号需要由root用户或其他管理员创建,拥有的权限受到一定的限制,一般只用在用户自己的宿主目录拥有完整的权限。
程序用户:在安装Linux系统及部分应用时,或添加一些特定的低权限用户账号,这些用户一般不允许登陆到系统,而仅用于维持系统或某个程序的正常运行。
2)、UID号
Linux系统中的每一个用户账号都有一个数字形式的身份标记,称为UID,对于核心系统来说,UID作为作为区分用户的基本依据,原则上每个用户的UID号应该是唯一的。root用户账号的UID号为固定值0,而程序用户账号的UID号默认为1~999,1000~60000的UID号是默认分配给普通用户的。
3)、用户账号文件
Linux系统中的用户账号、密码等信息均保存在相应的配置文件中,直接修改这些文件或者使用用户管理命令都可以对用户账号进行管理。与用户相关的配置文件主要有两个,分别是/etc/passwd、/etc/shadow。前者用于保存用户账号、宿主目录、登录SHELL等基本信息,后者用于保存用户的密码、账号有效期等信息。
passwd文件中的配置行格式
passwd文件的每一行内容中,包含了用七个用冒号“:”分隔的配置字段,从左到右各配置字段含义如下所述。
第一个字段:用户账号的名称,也是登录系统时使用的识别名称。
第二个字段:经加密的用户密码字串,或者密码占位符“x”。
第三个字段:用户账号的UID号。
第四个字段:所属基本组账号的GID号。
第五个字段:用户全名,可填写与用户相关的说明信息。
第六个字段:宿主目录,即该用户登陆后所在的默认工作目录。
第七个字段:登录shell等信息,用户完成登陆后使用的Shell。
shadow文件中的配置行格式
shadow文件中的每一行内容中,包含了九个用冒号“:”分隔的配置字段,从左至右各配置字段的含义如下所示。
第一个字段:用户账号名称。
第二个字段:使用MD5加密的密码字串信息,当为“*”或“!”时表示此用户不能登录到系统,若该字段内容为空,则该用户无需密码即可登录系统。
第三个字段:上次修改密码的时间,表示从1970年0101日算起到最近一次修改密码时间隔的天数。
第四个字段:密码的最短有效天数。
第五个字段:密码的最长有效天数。
第六个字段:提前多少天警告用户口令即将过期,默认值为7。
第七个字段:在密码过期多少天后多少天内禁用此用户。
第八个字段:账号失效期间,此字段指定了用户作废的天数。
第九个字段:保留字段,目前没有特定用途。
2、用户账号管理
1)useradd命令
useradd命令可以用于添加用户账号,其基本命令格式为:useradd 【选项】 用户名
例如创建一个名为lisi的用户
useradd常用的选项
-u:指定用户的UID号,前提是该UID号未被使用。
-d:指定用户的宿主目录位置。
-e:指定用户的账号失效时间。
-M:不建立宿主目录。
-s:指定用户的登录Shell。
passwd命令
使用passwd命令可以设置或修改密码,root有权管理其他账号的密码。例如这里我们对用户“wangwu”的密码进行设置。
使用passwd命令除了可以修改账号密码外,还能够对用户账号进行锁定、解锁,也可以将用户的密码设置为空。相关几个选项如下。
-d:清空指定用户的密码,无需密码即可登录。
-l:锁定用户账号。
-S:查看用户账号的状态。
-u:解锁用户账号。
下面我们以用户“lisi”为例进行账号的锁定与解锁。