Linux 版 (精华区)
发信人: netiscpu (还没想好), 信区: Linux
标 题: [翻译] 第16章 用户与登录(4)
发信站: 紫 丁 香 (Fri Aug 21 09:29:31 1998), 转信
<<Linux 系统管理员大全>>
第16章 用户与登录(4)
-----------------------------------------------------------------
原著:Tim Parker 翻译:netiscpu 1998.8.20
说明:鉴于本人的英文水平有限,翻译中难免出现谬误之处,请不吝赐教!
Email:netiscpu.bbs@bbs.hit.edu.cn 欢迎传播 拷贝
-----------------------------------------------------------------
*16.2.1用户名
用户名是一个简单的字符串,通常为8个ASCII字符或更少,每一个用户都具
有唯一的标识符,因为用户名是用户与其它机器进行大多数通信的基础,所
以,你所使用或给别人建立的用户名应该简单扼要.通常,用户名是用户真
名的缩写.一个典型的用户名由用户的名与姓的组合,比如tparker或timp.
在大型网络中,一个用户名由名字的第一个字母与姓构成,是相当普遍的.
要特别注意的是,以上例子中的字符都是小写的,Linux(和所有的Unix系统
一样)对字母大小写敏感,因此,tparker与Tparker是两个不同的用户名.因
为绝大多数Linux命令都是由小写字符组成的,这个约定也导致用户名一般
使用小写字符.用户命中允许有下划线,periods,数字等其它特殊字符,但是
在建立用户帐号是应该避免使用这些字符,因为它们使登录名看起来很奇怪,
而且在一些应用程序中会引发一些问题.
小型的系统,比如只有一台机器组成的系统,可以用一些常见的用户名,譬如
用户的名字.一个小型的系统也许有一些类似于tim,bill,yvonne等名字,
如果两个用户重名,可以用一些简单的方法令其区别开,比如bill和billy.
有少数用户喜欢创建古怪的用户名,以表现自己的业余爱好,pets,呢称,生
活习惯或个性,你会发现有些用户名类似vader,grumpy,wizard和hoops.在
小型系统上,这种命名方式如果只有一两个用户使用,也是个不错的主意,
但在大型的系统上很快就显得笨拙了,使得其他用户不知道他们同事的用
户名.总的来说,如果你的系统上有好几个朋友在使用,就应该尽量避免这
种命名风格.
*16.2.2 口令
这个例子中把用户的被加密口令储存在/etc/passwd文件的口令域中.这个
域不得改变,任何修改都会导致该用户登录失败,直到系统管理员帮助其改
变登录口令为止.只有系统管理员和用户自己才能使用passwd命令更改口
令.
-------------------------------------------------------
说明:有些Unix系统版本并不将(加密后的)口令保存在/etc/
passwd文件中,因为这可能存在安全问题.如果将系统中的口令
域全都设为"x",用一个其它文件(成为shadow password文件)
来保存被加密后的口令.然而,现存的部分Linux版本在缺省情况
下仍然使用口令域存放被加密后的口令,如Red Hat Linux,也有
一些Linux使用shadow,如Slackware Linux.运行Yellow Pages
或NIS(Network Informatio Service, 网络信息服务中心)的系
统,都以来一个保存有用户名和口令的中央文件, 故不使用口令
域,几乎没有Linux系统使用YP或NIS,因此, 在这里你不必理会
这些差别.
-------------------------------------------------------
当一个用户登录时,从理论上说,登录程序将用户所键入的口令(经过加密
运算)与口令域中的口令进行比较,如果二者匹配,用户就被允许登录,任何
差异都将导致用户被拒绝访问系统.
你可以使用这个域对用户的访问进行约束,如果你想阻止别人访问一个像
lp或sync这样仅供操作系统访问的帐号,就可以在口令域的两个冒号之间
置一个"*"号,"*"号可以限制所有的登录访问.在前面所示的/etc/passwd
文件例子中,许多系统帐号在它们的口令域中都有一个"*"号,这有效的阻
止了任何用户对它们的访问
你还可以让用户自由地访问某个帐号,只要将它的口令域空白就行了,这样
任何人都可以直接地使用这个用户帐号获准访问系统.但是,除非你只是想
玩玩Linux并且系统上没有任何有价值的东西留在系统,否则,不要建立这
种无需口令的帐号!
请勿试图通过编辑器直接将口令置入口令域中,你无法重建加密算法,这样
做只会导致用户无法登陆,否则,只有系统管理员才能改变用户口令,并且
允许其重新访问系统.
*16.2.3 用户ID
每一个用户名都对应着一个特定的用户ID值.Linux利用用户ID(也称为UID)
来识别一切与该用户相关的事情.对于系统来说,使用用户ID比用户名更优
越,因为处理数字比处理字符串更容易,而且耗费的空间更少.比如说,Linux
通过用户ID而非用户名,来跟踪由一个用户所创建的进程.一些应用程序通
过转化用户ID来显示用户名,但应用程序一般通过检查/etc/passwd来将用
户ID匹配成用户名.
用户ID通常被分为几个特殊的范围,例如,大多数Unix系统将数字0-99分配
给系统特殊登录帐号,而将100和100以上的用户ID分配给用户.按照这种方
式,可以使你的系统与别人的系统兼容.在前面所示的/etc/passwd文件例子
中,你可以看到,root的UID为0,其他系统创建的帐号的UID都大于0."nobody"
这个特殊帐号是为NFS(Network File System)网络文件系统创建的,它的UID
为-1,是一个无效的帐号.当你分配用户ID时,应该连续地分配,故第一个用
户为100,第二个为101 ... 依此类推.
--
Enjoy Linux!
-----It's FREE!-----
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.325毫秒