天天看点

RHEL 5基础篇—管理用户和组

管理用户和组

账号概述 

1、用户账号: 

超级用户:root用户是linux系统中默认的超级用户,对于本机拥有至高无上的权限。 

普通用户:普通用户账号需要由root用户或其它管理员创建,拥有的权限受到一定的限制,一般普通用户在自己的宿主目录拥有完整的权限。 

程序用户:在安装linux系统及部分应用程序时,会添加一些特定的底权限用户账号,这些用户一般不允许登录系统,仅用于维护某个程序正常运行。

2、组账号: 

基于某种特定联系将多个用户集合在一起,即构成一个用户组,用于表示该组内所有用户的账户称为组账号。每个用户至少属于一个组,这个组称为该用户的基本组(或私有组),如果该用户还属于其他组。则这个组称为该用户的附加组(或公共组)。

3、UID和GID号 

UID:linux系统中每个用户都有一个数字形式的身份标记,称为UID,roo账户UID固定为“0”,程序用户UID默认为“1~499”,普通用户UID默认为“500~60000”。 

GID:linux系统中每个组账号也有一个数字形式的身份标记,称为GID,root组GID固定为“0”,程序组GID默认为“1~499”,普通组GID默认为“500~60000”。

用户账户文件管理 

用户的账户分别存放在“/etc/passwd”和“/etc/shadow”(shadow又称影子文件)这两个文件中。 

如下:通过命令“cat /etc/passwd”命令查看passwd文件中的内容。

<a href="http://cshbk.blog.51cto.com/attachment/201304/20/5685776_1366464456FJkT.jpg"></a>

在passwd文件中一共有七段,分别用“:”隔开。每段解释如下: 

第一段:用户账号的名称,也就是用户登录名。 

第二段:经过加密的用户密码字串。(或者密码站位符“x”) 

第三段:用户的UID号。 

第四段:所属基本组的GID号。 

第五段:用户全名,可填写与用户相关的说明信息。 

第六段:用户的宿主目录,普通用户默认在“/home”下的同名目录。 

第七章:登录shell信息,用户登录后使用的shell。

如下:通过“cat /etc/shadow”命令查看shadow文件中的内容。在shadow文件中保存有各用账号的密码信息,所以对shadow文件访问有着严格的限制,默认只root才能读取文件的内容,而且不能直接编辑文件。

<a href="http://cshbk.blog.51cto.com/attachment/201304/20/5685776_1366464459eP4f.jpg"></a>

在shadow文件中一共分为九段,也分别使用“:”隔开。每段解释如下: 

第一段:用户账号名号,也就是登录名。 

第二段:使用MD5加密的密码字串,当为“*”或“!!”时不能登录系统,当为空时,则不需要密码就可登录系统。 

第三段:上次密码修改时间到现在的天数。 

第四段:密码的最短有效期,值为0时表示进行限制。 

第五段:密码的最长有效期,值为99999时表示不进行限制。 

第六段:密码过期时提前警告的天数,默认值为7天。 

第七段:在密码过期后多少天内禁用此用户。 

第八段:账号的实效时间,值为空时表示永久有效。 

第九段:保留字段,目前没有待定用途。

用户账户管理。 

useradd命令——添加用户账户 

useradd [选项] [用户名] 

-u:指定用户的UID号。 

-d:指定用户的宿主目录位置。 

-e:指定用户的失效时间,使用YYYY-MM-DD格式。 

-g:指定用户的基本组。 

-G:指定用户的附加组。 

-M:创建用户时不建立宿主目录。 

-s:指定用户的登录shell。 

如下:新建用户admin,指定宿主目录在根目录下,基本组为root组。并使用tail命令查看新建的用户。

<a href="http://cshbk.blog.51cto.com/attachment/201304/20/5685776_1366464461NOMA.jpg"></a>

passwd命令——为用户账户设置密码 

passwd [选项] [用户名] 

-d:清空指定用户的密码,可以使用空密码登录。 

-l:锁定用户。 

-S:查看用户的状态(是否被锁定)。 

-u:解锁用户。 

单独使用passwd命令时只能对当前用户设置密码,普通用户使用passwd密令设置密码时,必须输入旧密码,新密码并且必须在六位以上。 

如下:为刚才新建的用户admin设置密码。

<a href="http://cshbk.blog.51cto.com/attachment/201304/20/5685776_1366464462TLJh.jpg"></a>

usermod命令——修改用户的属性。 

-u:修改用户的UID号。 

-d:修改用户的宿主目录位置。 

-e:修改用户的实效时间,使用YYYY-MM-DD的格式。 

-g:修改用户的基本组。 

-G:修改用户的附加组。 

-M:不为用户建立并初始化宿主目录。 

-l:更改用户的登录名。 

-L:锁定用户账户。 

-U:解锁用户账户。 

如下:使用usermod命令修改root的基本组,并将root的宿主目录移到home目录下(若要修改已有账号的宿主目录,需要先将原有的宿主目录转移到新的位置,然后再通过usermod命令设置新的宿主目录位置。)。

<a href="http://cshbk.blog.51cto.com/attachment/201304/20/5685776_1366464462biOH.jpg"></a>

userdel命令——删除用户账户。 

userdel [选项] [用户名] 

-r:删除用户时同时删除用户的宿主目录。

组账户管理 

和用户一样,组账户也有两个相关的配置文件分别是“/etc/group”和“/etc/gshadow”。这两个文件内容和用户文件一样基本相同,这里就不在详述了。 

groupadd命令——新建组 

groupadd [选项] [组名] 

-g:指定组的GID号。 

如下:新建benet组,指定GID号为200。

<a href="http://cshbk.blog.51cto.com/attachment/201304/20/5685776_1366464463CiVs.jpg"></a>

gpasswd命令——添加,设置,删除组成员 

gpasswd [选项] [组] 

-a:将指定用户添加到指定组。 

-d:删除指定用。 

-M:批量添加用户到指定组。 

如下:将刚才新建的admin用户加入到benet组中。

<a href="http://cshbk.blog.51cto.com/attachment/201304/20/5685776_13664644638T7R.jpg"></a>

groupdel命令——删除组 

groupdel [组名]

查询账号信息 

groups命令——查询用户账户所属的组 

groups [用户名] 

如下:查询刚才新建的admin用户属于那些组。

<a href="http://cshbk.blog.51cto.com/attachment/201304/20/5685776_1366464464uEqo.jpg"></a>

id命令——查询用户账号的UID 

id [用户名]

finger命令——查询用户账户的登录属性 

finger [用户名]

w命令——查询当前主机的用户登录情况(也可以使用user或who命令)

如下:使用w命令查看当前系统中的用户登录情况。

<a href="http://cshbk.blog.51cto.com/attachment/201304/20/5685776_1366464465PQi1.jpg"></a>

本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1182256,如需转载请自行联系原作者

继续阅读