Linux中的用户账号管理

2510阅读 0评论2013-08-29 zhan5872
分类:LINUX

Linux系统中有两种方法更改账号信息:
1、用户账号文件
用户账号相关的配置文件主要有两个,分别是/etc/passwd、/etc/shadow。前者用于保存用户名称、宿主目录、登录Shell等基本信 息,后者用于保存用户的密码、账号有效期等信息。在这连个配置文件中,每一行对应一个用户账号,不用的配置项之间使用冒号“:”进行分隔。

1.1、在passwd文件开头的部分,包括超级用户root及各程序用户的账号信息,系统中新增加的用户账号信息将保存到passwd文件的末尾。passwd文件的每一行内容中,包括了七个用冒号“:”分隔的配置字段,从左到右各配置字段的含义分别如下所述。

第一字段:用户账号的名称。

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

第三字段:用户账号的UID号。

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

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

第六字段:宿主目录,即该用户登录后所在的默认工作目录。

第七字段:登录Shell等信息,用户完成登录后使用的Shell。
基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。在早期的UNIX操作系统中,用户账号的密码 信息也是保存在passwd文件中的,不法用户可以获取密码字串进行暴力破解,这样一来账号安全就存在一定的隐患。因此后来将密码转存入专门的 shadow文件中,而passwd文件中仅保留密码占位符“x”。
1.2、shadow文件的每一行内容中,包含了九个用冒号“:”分隔的配置字段,从左到右各配置字段的含义分别如下所述。

第一字段:用户账号名称。

第二字段:使用MD5加密的密码字串信息,当为“*”或“!!”时表示此用户不能登录到系统。若该字段内容为空,则该用户无需密码即可登录系统。

第三字段:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数。

第四字段:密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制。

第五字段:密码的最长有效天数,自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制。

第六字段:提前多少天警告用户口令将过期,默认值为7.

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

第八字段:账号失效时间,此字段指定了用户作废的天数(从1970年1月1日起计算),默认值为空,表示账号永久可用。

第九字段:保留字段,目前没有特定用途。
2、useradd命令
useradd命令可以用于添加用户账号,其基本的命令格式如下所示。

useradd      [选项]      用户名

最简单的用法是,不添加任何选项,只使用用户名作为useradd命令的参数,按系统默认配置建立指定的用户账号。在CentOS5系统中,useradd命令在添加用户账号的过程中主要完成以下几项任务。

a、在“/etc/passwd”文件和“/etc/shadow”文件的末尾增加该用户账号的记录。

b、若未明确指定用户的宿主目录,则在“/home”目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的初始配置文件。

c、若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到“/etc/group”、“/etc/gshadow”文件中。

如果结合useradd命令的各种选项,可以在添加用户账号的同时对UID号、宿主目录、登录Shell等相关属性进行指定。以下列出了useradd命令中用于设置账号属性的几个常见选项。

-u:指定用户的UID号,要求该UID号码未被其他用户使用。

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

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

-g:指定用户的基本组名(或使用GID号)。

-G:指定用户的附加组名(或使用GID号)。

-M:不建立使用者目录,即使/etc/login.defs系统档设定要建立使用者目录。

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

3、passwd命令
通过useradd命令新添加的用户账号,还必须为其设置一个密码才能用来登陆Linux系统。root用户可以指定账号名称作为参数,对指定账号的密码进行管理。

使用passwd命令除了可以修改账号的密码以外,还能够对用户账号进行锁定、解锁,或者也可以将用户的密码设置为空(无需密码即可登录)。相关的几个选项如下:

-d:清空指定用户的密码,仅使用用户名即可登录系统。

-l:锁定用户账户。

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

-u:解锁用户账户。

4、usermod命令------修改用户账号属性

对于系统中已经存在的用户账号,可以使用usermod命令重新设置各种属性。usermod命令同样需要指定账号名称作为参数。较常使用的几个选项如下所述:

-u:修改用户的UID号。

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

-e:修改用户的账户失效时间。

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

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

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

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

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

-L:锁定用户账户。

-U:解锁用户账户。

5、userdel命令------删除用户账号
系统中的某个用户账号已经不再需要使用时,可以使用userdel命令将该用户账号删除。使用该命令也需要指定账号名称作为参数。添加“-r”选项时可以将该用户的宿主目录一并删除。




上一篇:linux 常见服务端口
下一篇:10种启动故障解决方法(转)