| 管理用户帐号. 基本内容 描述用户管理的基础知识 管理用户帐户 管理文件的初始化 一个用户帐号的主要组成部分: 用户名:一个唯一的名称,被用户用来登陆到系统,用户名也叫做登陆名. 密码:由6-8个字母,数字或者特殊字符所组成. UID号:系统用来唯一标示用户帐号的一个号码. GID号:用户所属的组的号码. 注释:用来标示用户的信息,也显示了帐号所被保存的路径. 用户的主目录:用户登陆之后就直接进入到的地方. 用户的登陆shell:用户的工作环境被一些初始化文件所建立,而这些文件被用户登陆的shell 所定义. 密码修改:允许用户修改密码. solaris操作环境将用户帐号和用户所属的组的信息存储在下面三个文件当中: /etc/passwd /etc/shadow /etc/group 一个被授权的用户帐号在/etc/passwd里面有所记录. /etc/shadow文件里面包含有加密的密码,是重要文件,最好不要直接编辑.只有root用户可读. /etc/group文件里面定义了默认的系统组,可以用这个文件来创建新的组或者更改系统中现有组 /etc/passwd文件很重要,最好不要直接编辑这个文件,可以用系统控制台或者命令行来维护这个 文件. /etc/passwd文件的具体格式是: loginID:x:uid:gid:comment:home_directory:login_shell 一些默认的系统帐号: root(userID:0):root帐号对整个系统都有访问权,没有任何限制 daemon(1):和日常的系统任务相联系 bin(2):和系统中运行的二进制文件相联系 sys(3):和系统在临时文件夹中的日志文件或更新文件相联系 adm(4):和系统的日志相联系 lp(71):打印机帐号 uucp(5):UNIX到UNIX文件拷贝协议的专用帐号 nuucp(6):远程登陆和文件传输的帐号 smmsp(25):发送邮件的帐号 listen(27):网络监听帐号 nobody(60001):NFS服务器分配的匿名用户帐号 noaccess(60002),nobody4(65534) /etc/shadow文件的一般格式是: loginID:password:lastchg:min:max:warn:inactive:expire:(第九的一个字段暂时没用) 其中标示password有两种,一种是*LK*,标示一个被锁定的帐号;一种是NP,标示不是有效的密码 /etc/group里面的GID实际是用户所属的第一个组,用户还可以归属除此之外的15个附加的组, 被称之为第二个组. /etc/group文件的一般格式是: groupname:group-password:GID:username-list 其中的group-password经常显示为空,这是一个安全漏洞,常被不属于这一用户组但是知道其密 码的非授权用户进入.可以用newgrp命令来更改用户的第一个组,如果更改后的组有密码, 那么 当非授权用户进入的时候就必须输入密码进入,否则无效. /etc/default/passwd文件里面有几个参数: MAXWEEKS:设置密码有效期 MINWEEKS:在规定的最小时间里面允许密码被修改 PASSLENGTH:设置密码的长度 WARNWEEKS:在密码过期之前提醒用户 管理用户帐号的手段: useradd:添加用户;usermod:更改用户帐号;userdel:删除用户;groupadd:增加用户组;groupmod :修改用户组;groupdel:删除用户组. 另外solaris9还提供了附加的两个命令:smuser和smgroup smuser命令提供了对一个或多个用户的管理,包括的命令有:add,modify,delete,list smgroup命令提供了对一个或多个组的管理,包括的命令和smuser一样 使用smuser或者smgroup命令来对用户或用户组进行管理的时候必须得到solaris管理控制台服务 器的授权或者需要对solaris管理控制台的初始化,格式是: /usr/sadm/bin/smuser subcommand [auth_args] -- [subcommand_args] 用useradd创建用户,例如: # useradd -u 100 -g other -d /export/home/newuser1 -m -s /bin/ksh -c "regular user account " newuser1 -u代表创建UID号,-g代表创建用户所属的组,-G代表创建第二组,-d代表列出新建用户所存在的路径, -m代表创建用户的主目录(如果不存在的话),-s指出使用的shell,-c对帐号作注释 用smuser创建用户,例如: # /usr/sadm/bin/smuser add -- -nnewuser2 -u 500 -g other -d /export/home/newuser2 -c "regular user account 2" -s /bin/ksh -x autohome=N 其中-x autohome=N选项说明用户登陆后不自动进入到创建的目录下面 用usermod更改用户帐号,例如: # usermod -m -d /export/home/usera -l usera newuser1 -m将用户的主目录转移到新目录(紧接着-d后面),-l后面跟更改的用户帐号和原始的用户帐号 用smuser更改用户,例如: # /usr/sadm/bin/smuser modify -- -n newuser2 -N userb -d /export/home/userb -n后面紧跟旧用户帐号,-N后面跟新帐号 删除用户帐号,例如: # userdel newuser1 # userdel -r newuser1(跟前者区别在于将用户帐号以及用户所在的主目录一起删除) # /usr/sadm/bin/smuser delete -- -n userb 用户不能登陆一般有两种,命令行登陆故障和CDE图形界面下登陆故障.当不能登陆的时候,首先判断 是否能够从命令行登陆,尝试telnet登陆或者rlogin命令,或者在图形界面下打开命令行进行登陆, 如果命令行下面登陆成功,那么问题肯定出在CDE配置上. 命令行上常见的登陆错误信息: login incorrect:这种情况一般都是输入了不正确的密码造成的. permission denied:这种情况一般是用户密码被锁定或用户帐号被停止. password will not work at lockscreen:这种情况一般是按下了"caps lock"键,将应该输入密码的 小写转换成了大写 no shell:出现这条消息的时候一般是用户shell不存在或者/etc/passwd文件出了问题 no directory!logging in with home=/:出现这条消息的时候一般是用户不能访问指定的主目录,出 现这种情况的原因一般是/etc/passwd文件里面有一项出了问题,或者用户主目录被删除或者丢失,或 用户主目录存在的挂载点不能使用. choose a new password:提示用户输入新的密码 |