文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>8.2 用户管理

8.2 用户管理

时间:2007-06-13  来源:woshijishukuang

.2 管理用户8.2.1 用户管理概念

    系统保存着有关每个用户的一系列信息,这些信息以下面的方式标识:

    用户名:用户名是用来标识系统中每个用户的唯一标识符,例如:frank,qhua和wang。用户名中可以使用字母、数字、下划线(_)和句点(.)。通常情况下用户名限制在8个字符。

    用户ID:用户ID或UID,是系统给每个用户的唯一的数字,系统通常是通过UID而不是用户名来保存用户信息的。

    组ID:组ID或GID是用户的缺省组ID。每个用户通过系统管理员被定义属于—个或多个组,下面将进一步介绍。

    口令: 系统还保存了用户加密了的口令,passwd命令可用来设置和改变用户口令。

    全名:用户的“真实名字”或“全名”,与用户名一起存储,例如用户wang在现实世界中的名字为Wang Yang Xia。

    个人目录:个人目录是用户在注册时最初所处的目录,每个用户都有其个人目录,通常在目录/home下。

    用户的注册shell是在注册时启动的shell,例如:/bin/bash和bin/tcsh。

    文件/etc/passwd中包含了有关用户的这些信息,文件中的每一行包含了一个用户的信息,每—行的格式如下:

    username: encypted password: UID:GID:full name:home directory: login shell

    例如:

    wang: Xv8Q98lg7iokk:102:100:Wang Yang Xia:/home/wang:/bin/bash

    其中第—个域,“wang”就是用户名

    第二个域,“Xv8Q981g7iokk”是加了密的口令,存储在系统中的口令是人们无法读懂的格式。口令用它本身作为密钥来加密,换句话说,你需要知道口令来解密,这种形式的加密是相当安全的。

    有些系统采用的是“阴影口令”,这时口令信息被移交给文件/etc/shadow。因为/etc/passwd是全局可读的,而/etc/shadow则提供了某种程度的安全性。因为它并不能全局可读,阴影口令提供了其它一些特征,例如口令逾期等,这里不展开讨论这些特征。

    第三个域,“102”是UID,这个数对于每个用户来说是唯一的。

    第四个域,“100”是GID,这个用户属于组号为100的组,组信息和用户信息都存在文件/etc/group中。

    第五个域是用户的全名,“Wang Yan Xia”。

    最后两个域分别是用户的个人目录( /home/wang)和注册shell(/bin/bash)。用户的个人目录并不需要与用户名同名,但采用相同的名字便于识别目录。

    8.2.2 增加用户

    增加—个用户需要完成以下几步,首先需要在/etc/passwd中给用户一个人口项。 该项具有唯—的用户名和UID, GID、全名和其它—些必须说明的信息。用户的个人目录必须创建,而且必须对该目录的存取权限进行设置,使得用户可以拥有该目录。shell初始化文件必须在新的个人目录下提供,还必须完成其他一些系统范围内的配置(如对新用户设置收到电子邮件的缓冲池等)。

    虽然手工增加用户并不困难、但当运行一个具有很多用户的系统时很容易忘掉一些事情,最简单的增加用户的方法就是采用交互式程序来完成,该程序询问一些必需的信息并且自动修改所有的系统文件。这样的程序名为useradd或adduser,它依赖于所安装的软件,这些命令的联机帮助将详细地解释其用法。

    8.2.3 删除用户

    删除用户可以通过命令userdel或deluser来完成,这依赖于系统所安装的软件。

    如果想不删除用户帐户而暂时使用户无法注册,可以仅仅在/etc/passwd中的口令域前加星号(“*”)来实现。例如:将wang的/etc/passwd项改为:

    wang:*Xv8Q981g7iOkk:102:100:Wang Yan Xia:/home/wang:/bin/bash

    这样wang便无法注册。

    8.2.4 设置用户属性

    创建用户之后可以改变用户的属性,例如个人目录或口令,最简单的方法就是直接改变/etc/passwd中的值。设置用户口令,可以用passwd命令,例如:

    $ passwd wang

    将改变wang的口令,只有root才可以用这种方法改变其他用户的口令,其他用户也可以用passwd来改变他们自己的口令。

    在某些系统中,命令chfn和chsh可以提供允许用户设置他们自己的全名和登录shell属性,不然的话,他们必须要求系统管理员为他们改变属性。

    8.2.5 管理用户组

    前面已经提到过每个用户属于一个或多个组,但唯一真正重要的是组间的关系与文件极限相关。每个文件有一个“组所有权”和一些组存取极限,这些权限定义了该组中的用户如何存取文件。

    有一些系统定义的组,如bin, mail和sys,一般用户不能属于这些组中的任何一个,它们仅仅用来控制系统文件的存取。用户应该属于一个单独的组,如users;还可以有多个用户组,比如student,staff和faculty等。

    文件/etc/group中包含了有关组的信息,每一行的格式为:

    组名:口令: GID:其他成员

    例如: root:*:0:

    user:*: 100:mdw,larry

    guest:*:200:

    other:*:250: wang

    第一个组, root是一个特殊的系统组,是为root帐户保留的。

    第二个组, users是—个常规用户组,其GID为100,用户mdw和larry是该组的成员。在/etc/passwd中每个用户都有一个缺省GID值,用户还可以属于多个组,只需要将用户名增加到/etc/group中的其他组项中即可。命令groups列出用户当前可存取的所有组。

    第三个组, guest是客户用户组。

    Other是其他用户组,用户wang属于该组。

    从上面可以看出,/etc/group中的口令域很少使用,有时要对组的存取设置口令,但几乎很少需要这样做。为了防止用户用newgroup命令改变成为有特权的组,把口令域设置为“*”。

    addgroup或groupadd命令用来给系统增加组。通常情况下,直接往etc/group中增加项比较容易,因为增加—个组并不需要做其它的配置,删除—个组也只需要在/etc/group中删除该项即可。

 
相关阅读 更多 +
排行榜 更多 +
几何飞行内购修改版

几何飞行内购修改版

飞行射击 下载
别踩白块内购修改版

别踩白块内购修改版

休闲益智 下载
乐涂数字填色游戏

乐涂数字填色游戏

休闲益智 下载