Linux 版 (精华区)

发信人: netiscpu (还没想好), 信区: Linux
标  题: [翻译] 第16章 用户与登录(7)
发信站: 紫 丁 香 (Fri Aug 21 12:47:00 1998), 转信


 <<Linux 系统管理员大全>> 

                第16章  用户与登录(7)

-----------------------------------------------------------------
原著:Tim Parker         翻译:netiscpu   1998.8.21

说明:鉴于本人的英文水平有限,翻译中难免出现谬误之处,请不吝赐教!

Email:netiscpu.bbs@bbs.hit.edu.cn               欢迎传播 拷贝
-----------------------------------------------------------------

*16.4 添加用户

往系统中添加用户的途径有两条:手工编辑/etc/passwd文件或者使用一个
自动的脚本文件(automated script),后者可以一步一步地提示你填入新
用户的详细资料,然后自动地在/etc/passwd文件中新增一行,对于一个系
统管理员新手来说,这个自动化的操作过程显得更加便捷,    而编辑像
/etc/passwd的重要文件则令人不放心,尤其是要手工添加数个用户时,
操作错误带来的风险也随之加大.只有以root登录,才能修改/etc/passwd
文件.

        ---------------------------------------------------
        对/etc/passwd文件进行任何改动之前,务必先做一个备份!
        如果你破坏了/etc/passwd文件,又没有备份,那么即使是
        root也无法登录进系统,除了系统管理模式外,你的系统将
        完全瘫痪,所以,你应该在出现问题之前,在你的应急软盘或
        者系统启动软盘上保留一个/etc/passwd文件的备份.
        ---------------------------------------------------

为了往/etc/passwd文件中添加一项,你可以使用任何编辑器,以ASCII方
式保存文件即可,可以把新用户添加到文件尾部,注意每个用户都要另起
一行.每一个用户都应该有自己唯一的用户名与用户ID,例如,如果要添加
一个名叫bill的新用户,其UID为103(记住为了方便起见,应该保持系统中
UID的连续性),GID为50(这是默认的用户组),根目录为/home/bill,而且
启动shell为Bourne shell,就要在/etc/passwd文件中加入如下一行:

bill::103:50:Bill Smallwood:/home/bill:/bin/sh

注意此时口领域空白不填,因为你无法手工填入一个口令密文,一旦你对
/etc/passwd文件所作的改动存盘之后,就应该立即运行下面的命令,来
为这个帐号设置口令:

passwd bill

这个命令提示你输入初始口令,将口令设置为Bill能够使用的口令,并且
告诉他在第一次的登录系统时,更改口令.许多系统管理员用很普通的字
符串作为用户初始口令(比如password或者用户登录名),然后强制新用户
在第一次登录时改变口令.如果用户很快就会登录系统,那么使用这种普
通口令通常也可行,但是不能让帐号长时间保留这种普通口令,否则会提
供给别人使用这个帐号的机会.

在/etc/passwd文件中添加完所需的行之后,下一步就要建立用户的根目
录了,建完目录,还要将其设置为该用户所有.比如上一个例子,你就可以
执行一下命令:


mkdir /home/bill

chown bill /home/bill

所有的用户都必须属于某一个组,如果你的系统只定义了一个组,将用户
名加入到/etc/group文件所定义的那个组所在行.如果新用户属于多个
组,就要将用户名加入到/etc/group文件中对应的各个组中./etc/group
文件以及其中的组将在本章后面部分进行讨论.

最后,将用户shell的配置文件拷贝到用户根目录中,并且将系统设置为
允许用户定制访问.例如,执行下面的命令,就会将另外一个叫yvonne的
用户的Bourne shell的.profile的文件拷贝过来:

cp /home/yvonne/.profile /home/bill/.profile

chown bill /home/.profile

还要手工检查一下配置文件,以确保用户登录后,没有任何环境变量被
设置错误.例如,配置文件中可能有一行用来定义HOME环境变量或者为
电子邮件和打印机设置的缓冲池目录.任意的ASCII编辑器都可以用来
检查配置文件.如果你的系统使用Korn或C shell,还有其它的配置文件
需要拷贝或编辑,与Bourne shell兼容的shell只需要.profile文件;
然而与C shell兼容的shell需要.login和.cshrc;与Korn shell兼容
的shell需要.profile,而且其中常常包含另一个有环境变量的文件.

总的来说,往系统中添加一个新用户的过程如下:

        1.往/etc/passwd文件中加入一个用户项.

        2.创建一个用户根目录,并设置其所有者.

        3.拷贝shell的启动文件,并且修改其设置与所有者关系.

Linux系统有一个从Berkeley BSD Unix版本继承过来的命令--vipw,它
调用编辑器vi(或者其他系统设置默认使用的编辑器)来编辑一个
/etc/passwd文件的临时拷贝文件,并且触发锁定机制以免两个不同的用
户编辑同一个文件.当文件存盘时,vipw会对被改动的文件作一个简单的
检查,如果一切看起来正常的话,才会更新/etc/passwd.

Linux下自动化添加用户的脚本程序(script)一般名叫useradd或adduser,
当你运行其中一个程序时,会提示你填入/etc/passwd文件所需的所有信
息,二者均允许你中途退出,并且不修改/etc/passwd文件,而且最后会要
求你输入初始口令,你可以随意设置口令或者保持空白,使用脚本程序的
好处之一是它会自动地将shell所需要的配置文件自动地拷贝到用户根目
录,并自动地将环境作适当的修改.脚本程序可以极大的简化添加新用户
的过程.

有关口令的一个重要提示:**口令对系统的安全性至关重要**.除非你的
Linux系统是一个单机系统,而且没有通过调制解调器或网卡等设备与网
络相连,否则,每一个帐号都应该有一个保密的密码!你可以用passwd命令
为一个帐号分配或改变口令,系统管理员可以改变系统上的任何口令,但
是普通用户只能改变他们自己的口令.第24章"系统安全"将对口令进行更
详细地叙述.

--

                              Enjoy Linux!
                          -----It's FREE!-----

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.987毫秒