第03章 建立和管理用户账号2847.docx
《第03章 建立和管理用户账号2847.docx》由会员分享,可在线阅读,更多相关《第03章 建立和管理用户账号2847.docx(19页珍藏版)》请在冰豆网上搜索。
第03章建立和管理用户账号2847
第3章建立和管理用户账号
目标
完成此章学习后,你将掌握下列内容:
⏹列出建立一个用户账号的最低要求。
⏹识别/etc/passwd文件的每一个字段。
⏹识别/etc/group文件的每一个字段。
⏹用SAM或命令行方式建立、修改和删除用户账号。
⏹用SAM或命令行方式使用户账号无效或重新生效。
3.1用户和组——访问系统和数据
注释
为了能够使用系统及其资源,用户必须登录。
通过控制对系统的访问,你可以防止XX的用户运行消耗系统资源的程序,也可以控制对存储在你系统上数据的访问。
系统上的用户被分配到一个或多个组中。
文件一般能被所有者组的成员访问,而禁止所有者组以外的成员访问。
每个用户被授予的访问文件和目录的权限是以他属于的组为基础的。
你为每个要访问系统的人选择一个唯一的用户名(或登录名),选择组名并决定哪些用户名被分配到哪些组中。
你可以通过SAM或命令行执行这些任务,SAM自动修改系统文件并为你执行相应的命令。
用户们可以通过不带任何参数的命令/usr/bin/id来测试你为他们分配的userid和组。
3.2怎样定义一个用户账号
注释
为了成功地登录系统,用户必须有一个合法的用户名、用户ID、口令和其他账号信息,这些都定义在/etc/passwd文件中。
用户可以通过/etc/group文件授权访问系统上的其他组。
最后,大多数用户在/home目录下有一个主目录,可以在它下面存储用户的个人文件和目录。
这一章将讨论它们的结构和用途,并介绍一些管理用户账号的方法。
⏹通过SAM。
⏹在命令行使用useradd、userdel和usermod。
⏹手工通过vi编辑。
3.3/etc/passwd文件
注释
/etc/passwd文件包含登录时需要的原始信息,每行包括一个合法系统用户的条目,所有字段以冒号分隔。
1.Username 用户登录时使用的用户名。
长度应在1~8个字符之间,第一字符必须是字母。
如果名字超过8个字符,则只有前8个字符有效。
2.Passwd 加密的口令。
当用户用passwd命令设置口令时,系统将其加密,口令应为6~8个字符,其中之一为数字或特殊字符。
如果口令字段为空,则相关用户账号无口令。
不要将口令字段设为空,否则容易使系统遭到入侵。
在口令字段若为“*”表示该账号无效,你的任何输入都不会被加密成星号,所以没有人能用相关的用户账号登录到系统。
3.UID每个用户必须被分配一个userid。
0为root保留,UIDs1~99保留给系统需要的预定义账号。
HP-UX10.20版本支持UserIDs最大到2147483646。
HP-UX10.20以前的版本不支持大于60000的UIDs。
当通过SAM添加用户时,SAM从101开始分配UIDs,你可以选择一组UIDs给特定的组。
⏹100~199 marketing
⏹200~299 engineering
⏹300~399 managers
注意
当与不支持大UID的系统共享被大UID拥有的文件时可能会出现不一致。
4.GID 组ID(GID),这个数值与/etc/group文件中的条目相对应。
5.Comments 注释字段。
允许添加用户的附加信息,如用户的全名、分机号码、组织或楼号。
这个字段被行式打印机的打印缓冲系统和finger命令使用。
6.HomeDirectory 用户登录时其所在的绝对路径。
如果这个路径不存在或非法,则用户不能登录。
7.Shell 用户登录时要执行命令的绝对路径,一般是一个shell。
这个shell一般是/usr/bin/sh、/usr/bin/ksh和/usr/bin/csh。
对于系统UIDs,shell是/sbin/sh,这是一个给超级用户使用的特殊(POSIX)shell,不能被改为其他shell。
如果这个字段为空,则默认值为/usr/bin/sh。
Shell项不一定是一个shell,例如,你可以在/etc/passwd文件中建立以下条目:
date:
rc70x.4.hGJdc:
20:
1:
:
/:
/usr/bin/date
命令是/usr/bin/date,如果你以date登录,输入相应的口令,则系统将运行/usr/bin/date,然后使你退出。
注意
passwd文件的权限应为只读(r——r——r——),所有者必须为root。
/etc/passwd中需要的条目
root:
6OnvYL2txmcLw:
0:
3:
:
/:
/sbin/sh
daemon:
*:
1:
5:
:
/:
/sbin/sh
bin:
*:
2:
2:
:
/usr/bin:
/sbin/sh
sys:
*:
3:
3:
:
/:
adm:
*:
4:
4:
:
/var/adm:
/sbin/sh
uucp:
*:
5:
3:
:
/var/spool/uucppublic:
/usr/lbin/uucp/uucico
lp:
*:
9:
7:
:
/var/spool/lp:
/sbin/sh
nuucp:
*:
11:
11:
:
/var/spool/uucppublic:
/usr/lbin/uucp/uucico
hpdb:
*:
27:
1:
ALLBASE:
/:
/sbin/sh
nobody:
*:
-2:
60001:
:
/:
编辑/etc/passwd文件
如果你正在用vi编辑/etc/passwd文件,而另一个用户试图改变口令,则用户的改变不会被保存到文件中。
为了防止这种情况发生,需要用vipw编辑/etc/passwd文件。
#vipw
这个命令通过将/etc/passwd拷贝到/etc/passwd.tmp而在/etc/passwd中加锁。
如果用户试图修改密码,他(她)会被告之passwd文件忙。
当你退出vipw时,会进行一些自动检查。
如果你的修改是正确的,则临时文件将被移动到/etc/passwd。
否则,/etc/passwd不会被修改。
检查/etc/passwd文件
/etc/passwd文件的完整性可以用/usr/sbin/pwck命令检查。
它将检查每个条目中字段的数目、登录目录和可选程序名是否存在,并验证字段数目、用户名、用户ID和组ID的合法性。
3.4/etc/group文件
注释
/etc/group文件被用来定义组,字段以冒号(:
)分隔。
1.Group_name是组名。
如果你对某个文件执行ll命令,则你能看到这个名字显示在组字段。
2.Password一般不使用,保留为空。
如果你建立了有特权的组,则这个字段可能包含一个组一级的加密口令。
3.GID 是组ID(GID)。
这个数字将被存放到/etc/passwd文件的group_id字段中。
这个数字被所有组成员共享。
建议系统管理员建立组时使用大于100的ID,以免与现在或将来的系统要求冲突。
4.Members是属于一个组的用户名列表,在HP-UX11.0版本中,不是所有的组成员都被列入/etc/group文件中。
一个用户的初始登录组定义在/etc/passwd文件的第四字段,而不是在/etc/group文件中。
注意
一个用户可能是多个组的成员,可以使用newgrp命令改变到其他组。
$newgrpgroup_name
这个新的组被认为是该用户的有效组。
改变到新的组并不改变用户在/etc/passwd文件中的主组,只影响他执行了newgrp命令以后建立的文件的用户组信息。
不带参数的newgrp命令将返回用户在/etc/passwd文件中所属的组。
/etc/group文件中必须的条目
root:
:
0:
root
other:
:
1:
root,hpdb
bin:
:
2:
root,bin
sys:
:
3:
root,uucp
adm:
:
4:
root,adm
daemon:
:
5:
root,daemon
mail:
:
6:
root
lp:
:
7:
root,lp
tty:
:
10:
nuucp:
:
11:
nuucp
users:
:
20:
root
nogroup:
*:
-2:
想得到更多有关/etc/group文件的信息,请在HP-UX参考手册中查询group(4)。
检查/etc/group文件
可以用/usr/sbin/grpck命令检查/etc/group文件的完整性。
它将检查每个条目的字段数目及是否所有的用户名都出现在口令文件中。
3.5 用SAM创建用户账号
注释
SAM提供一个菜单驱动界面来添加用户账号。
为了在SAM中添加一个账号,在SAM的控制窗口中选择AccountsforUsersandGroups。
从下一个菜单选择Users,SAM将显示一个用户列表。
如果用户超过500个,会要求你选择用户的一个子集。
从Action菜单选择Add,SAM将显示添加用户需要填写的表格。
你需要填写下列信息:
1.Loginname用户登录时使用的用户名。
长度应在1~8个字符之间,第一个字符必须是字母。
如果名字超过8个字符,则只有前8个字符有效。
2.userID用户ID(UID)。
UID0为root保留,UIDs1~99保留给系统作为预定义账号。
HFS文件系统和JFS版本3文件系统支持UserID最大到2147483646。
HP-UX10.20默认安装JFS版本3文件系统,以前版本的JFS文件系统必须被升级到版本3以支持大于60000的UIDs。
当通过SAM添加用户时,SAM从101开始分配UID,你可以改变SAM分配的UID,但必须保证UIDs在网络上的唯一性。
3.HomeDirectory用户登录时所在的绝对路径。
如果这个路径不存在或非法,则用户不能登录。
SAM会默认把登录名添加到/home后,有一个检查框用来确定是否创建home目录。
当多个用户共享一个home目录时,你可以关闭这个选项。
4.Primarygroupname这个字段定义了用户登录时所属的主组,默认为users。
可选择其他组,在users上输入组名或从组列表中选择(选中PrimaryGroupName,SAM将显示一个列表供你选择)。
5.Start-UpProgram 用户登录时要执行命令的绝对路径,一般是一个shell。
这个shell一般是/usr/bin/sh、/usr/bin/ksh、/usr/bin/keysh和/usr/bin/csh。
另一些受限制的shell包括/usr/bin/rsh和/usr/sbin/rksh。
启动程序项不一定是一个shell,你可以输入任何合法的命令全名。
当用户登录时,命令会被执行,当命令结束后,用户退出系统。
6.SetPasswordOption 选择这个按钮打开一个新窗口,为选择的用户定义以下口令特性:
⏹Norestrictions 增加或修改的用户能使用相同的口令或长期不用修改口令。
⏹ForcePasswordChangeatNextLogin用户下次登录系统时必须修改他的口令,然后将口令的有效期改为无限。
⏹AllowOnlySuperuserToChangePassword只有超级用户(root)才能修改一个用户的口令。
单个用户不允许选择他们自己的口令。
⏹SetUpPeriodicPasswordAging通过设置最短修改时间来设定口令的有效期,这个按钮引出设置修改口令的最短间隔和有效期的字段。
当你填好了这个表格后,如果你不想添加其他用户,按OK,否则按Apply。
你将被提示为新用户输入口令。
SAM将建立/etc/passwd条目,修改/etc/group并根据要求建立home目录。
3.6在SAM中创建用户模板
注释
如果你计划添加许多要求相同的用户,可以通过创