本页提供使用「用户」工具时可能遇到之问题的解决方案。
主目录可能没有创建的原因有三个:不能与服务器通讯、没有写入该服务器的授权或主目录服务器不能认证管理员。
典型的错误消息包括:
尝试为「服务器」名称上的「用户」名称增加 [或修改] 「主目录」名称失败。
尝试增加「主目录」时,访问遭拒。
缺少与服务器的通讯
增加新用户时,您必须指定用户主目录所在的服务器名称。如果 「用户帐户」不能与该服务器联络,您就会得到用户已增加但是主目录不能创建的通知。(这个问题仅会在增加用户到名称服务网域时发生,不会在增加到单一服务器时发生。)
主目录没有创建的可能原因有:您可能在向导中误拼服务器的名称、服务器可能暂时故障或者 smcwbemserver
服务器不在执行中。
要在增加用户后创建用户的主目录,请确定 smcwbemserver
在即将创建主目录的服务器上执行。您也可以尝试停止,然后重新引导它。然后:
在「用户帐户」中,双击
用户的名称。
在「用户属性」对话框中,单击「主目录」标记。
在「主目录服务器」字段中,键入服务器名称。注意: 这个字段仅在目录创建之前可以写入。目录创建之后,服务器名称就不可以更改。
在主目录服务器上没有授权
增加新用户时,为了要在远程服务器上创建用户的主目录,您必须得到写入该服务器的授权。
要求您的管理员在您的授予权利中包括写入增加用户的主目录服务器。要如此做的话,必须在该服务器上或者在服务器所在的网域中有帐户,并且有「用户管理」、「用户安全性」、「主要管理员」或「系统管理员」的权利。然后,在增加之用户的「属性」对话框的「主目录」标记键入服务器名称。
信箱可能没有创建的原因有三个:不能与信箱服务器通讯、没有写入该服务器的授权或邮件服务器不能认证管理员。
典型的错误消息包括:
尝试为此用户增加 [修改]「信箱」时访问遭拒:用户名称
。
尝试为「服务器」名称上的「用户」名称增加 [修改]「信箱」时失败。
缺少与服务器的通讯
增加新用户时,您必须指定用户信箱所在的服务器名称。(信箱是包含用户新收到之电子邮件的文件。)如果 「用户帐户」不能与该服务器联络,您就会得到用户已增加但是信箱不能创建的通知。(这个问题仅会在增加用户到名称服务网域时发生,不会在增加到单一服务器时发生。)
信箱没有创建的可能原因有:您可能在向导中误拼服务器的名称、服务器可能暂时故障、或者 smcwbemserver
服务器不在远程主目录服务器中执行。
要在增加用户后创建用户的信箱,请确定 smcwbemserver
在邮件服务器上执行,然后:
在「用户帐户」中,双击
用户的名称。
在「用户属性」对话框中,单击「邮件」标记。
在「邮件服务器」字段中,键入服务器名称。
注意:这个字段仅在信箱创建之前可以写入。信箱创建之后,服务器名称就不可以更改。
在邮件服务器上没有授权
增加新用户时,为了要在远程服务器上创建用户的信箱,您必须得到写入该服务器的授权。
要求您的管理员在您的授予权利中包括写入增加用户的信箱服务器。要如此做的话,必须在该服务器上或者在服务器所在的网域中有帐户,并且有「用户管理」、「用户安全性」、「主要管理员」或「系统管理员」的权利。然后,打开用户的「内容」对话框,并在「信箱」标记键入服务器名称。
管理员不能为用户创建主目录或信箱,因为主目录或信箱服务器不能认证该管理员。
错误消息会语句:
不能连接到服务器:管理服务器不能认证您的身份。请确定您的用户名称和口令是正确的,然后再试一次。
问题:管理员的用户帐户不存在主目录或信箱服务器使用的 passwd
表中。(如果邮件服务器或主目录服务器和「用户管理员」位于不同的网域,那麽,就需要在那个网域中为负责增加用户的管理员设置个别的帐户。)
解决方案:确定管理员被增加到主目录服务器或信箱服务器上的 passwd
表。在适当的服务器上创建管理员的帐户副本(用管理用户的权利)。
问题:「Solaris 管理主控台」在错误的 passwd
文件或表格寻找认证信息。
解决方案:确定 /etc/nsswitch.conf
文件中的设置以您要认证信息被寻找的方式配置。
smcwbemserver
服务器是否在执行中,并且您也可以将它停止再重新引导。
要查看服务器是否在执行中:以超级(root)
用户身份,键入 /etc/init.d/init.wbem status
要停止再引导服务器:以超级(root)
用户身份,键入 /etc/init.d/init.wbem stop
,然后键入 /etc/init.d/init.wbem
start
有时候,服务器看起来好像在执行中,但是 status
指定会说它没有在执行。在这种情况下,请用此方式寻找服务器的状态:
/usr/ucb/ps auxwww | grep ViperWbemServer
。
如果您看到 ViperWbemServer start
,就表示服务器在执行中。要停止服务器,请在 ps
指令所决定的程序 ID 上执行 kill pid
。
您可能会需要更改保存特定用户或角色之认证信息的网域或服务器位置。但是,更改任何认证设置之前,请确定您知道被指定认证的服务器是哪一个。
认证信息包含于单一服务器上的 /etc/password
文件中,或在相同名称服务网域的对应 password
表中。/etc/nsswitch.conf
文件提供寻找有关登录 SMC 之用户的认证信息(和其它信息)的搜讯顺序。
例如,passwd:
行,后面跟著 files
nis nisplus
就表示制定寻找顺序从文件开始,寻找要认证的特定用户、然后进行到
NIS 和 NIS+ 网域。它使用含被认证用户信息的第一个 password
项目。
决定您尝试管理的服务器。
查询工具箱编辑器(执行 /usr/sadm/bin/smc edit
)来决定与特定工具相关的服务器。编辑器会提供计算器(主机)的名称、服务器和与每个工具相关的网域。
决定网域的名称和主服务器。
在认证失败的服务器机器上(例如,主目录服务器):
如果是 NIS 网域,将 more /etc/defaultdomain
输入以决定网域并为主服务器名称输入 ypwhich -m passwd
。
如果是 NIS+ 网域和主服务器信息,请输入 niscat -o passwd.org_dir
。
看看是否有必要更改使用的 password
文件。
查看 /etc/nsswitch.conf
以获取 passwd:
的搜讯顺序。
仅在必要时才更改此寻找顺序,例如,如果管理员的 password
文件在本机文件中,但是您要它在 NIS 服务器上。
注意:更改寻找顺序会影响在 passwd
表中执行查询之机器上的“所有”指令和应用程序。它也会影响 passwd
表寻找 login
和 rlogin
的顺序。
管理服务器不能认证用户身份的原因很多(根据口令检查用户的名称来检验用户的身份)。
问题:用户输入的口令不正确。
解决方案:检查口令,并再重新输入一次。
问题:用户帐户被锁定,以防用户登录。
解决方案:有权利管理口令的管理员必须在「用户帐户」中打开用户的「内容」对话框。在「一般」标记上,利用选择「永远可供使用」或「帐户可供使用直到」(并输入日期)来解除锁定帐户。
问题:用户帐户没有指定给它的口令。
解决方案:有权利管理口令的管理员必须在「用户帐户」中打开用户的「内容」对话框。在「口令」标记上,选择「用户必须在下次登录时设置口令」(然后,用户先登录 Solaris 作业环境来设置口令),或「用户必须在下次登录时使用这个口令」(并通知用户该口令)。
问题用户帐户不存在用户登录这个网域之服务器使用的 /etc/passwd
文件中。
解决方案:确定用户是被增加到提供认证之服务器上的 /etc/passwd
文件中。通过「用户帐户」,将用户帐户增加到适当的服务器。
问题:因为远程服务器上 /etc/nsswitch.conf
文件的设置不正确,所以「Solaris 管理主控台」在错误的 passwd
文件或表格中寻找用户的信息。
解决方案:确定 /etc/nsswitch.conf
文件中的设置是按照您要认证信息被寻找的方式配置的。
如果用户是在本机服务器(文件中)创建的,然后该用户尝试要 rlogin
到该服务器,主目录就会找不到,而用户会被放置在 root
(根)目录中。
以下的错误消息会出现:
No directory! Logging in with home=/
如果您的到这样的错误消息,首先,请确定有效的主目录是否存在。视主目录应该被创建的地方而定,查看 /etc/auto_home
文件或 auto.home
(NIS)或 auto_home.org_dir
(NIS+)映射以获取可能的错误信息。
当您确定有效主目录确实存在时,以超级用户 (root) 的身份,编辑 /etc/auto_master
文件并将 +auto_master
项目移动到文件的最后一行。然后执行 /usr/sbin/automount
指令来使这个更改生效。
问题:当您打开「权利」工具时,不能看到任何权利。最可能的原因是包含权利信息的表格尚未创建和总装。
解决方案:执行 smattrpop
指令,如此可以在名称服务中总装安全性属性数据库。
(若需有关 smattrpop
的详细信息,请参阅联机援助页。)
smattrpop
指令可以从来源名称或文件中的对应数据库将目标 NIS、NIS+ 或本机 /etc
文件中以角色为基础的访问控制数据库更新。
注意: smattrpop
不是远程指令,所以来源和目标网域都必须存在同一个服务器中才可以。通常,这就表示您将从名称服务主服务器上的本机 /etc
文件更新名称服务网域的表格。
因为被支持的选项很多,所以您可以用 all
从来源(-s
)执行指令到目标(-t
)来包括所有的数据库:auth_attr
(授权)、prof_attr
(权利)、exec_attr
(指令)和 user_attr
(扩展的用户属性)。
例如,指令
/user/sadm/bin/smattrpop -s file:/myserver -t
nis:/myserver/east.sun.com all
会从本机系统的 /etc
目录(安装「用户管理员」工具的地方)将全部四个数据库复制到 NIS 网域 east.sun.com
中的对应表格中,在此的 myserver
是这个 NIS 网域的主服务器。
这个指令不为用 root
项目总装目标 user_attr
。也不会用角色总装该 user_attr
表(除非您为角色使用 -r
选项)。