本章介绍如何设置和维护用户帐户与组。
有关与设置和维护用户帐户和组相关过程的信息,请参见以下内容:
有关与设置和维护用户帐户和组相关过程的信息,请参见设置用户帐户(任务图)。
有关管理用户帐户和组的背景信息,请参见第 4 章。
任务 |
说明 |
参考 |
---|---|---|
收集用户信息。 |
使用标准表单收集用户信息有助于组织用户信息。 | |
自定义用户初始化文件。 |
可以设置用户初始化文件(.cshrc、.profile 和 .login),以便为新用户提供一致的环境。 | |
添加组。 |
使用 Oracle Solaris 命令行界面工具添加组。 | |
添加用户。 |
可以用下列工具添加用户: Solaris Management Console 的“用户”工具 Solaris 命令行界面工具 | |
设置用户模板。 |
可以创建用户模板,以便无需手动添加所有类似的用户属性。 |
请参见 Solaris Management Console 联机帮助 |
为用户添加权限或角色。 |
可以为用户添加权限或角色,以便用户可以执行特定的命令或任务。 |
请参见 Solaris Management Console 联机帮助 |
共享用户的起始目录。 |
必须共享用户的起始目录,以便从用户的系统远程挂载该目录。 | |
挂载用户的起始目录。 |
必须在用户的系统上挂载用户的起始目录。 |
可以创建一个如下所示的表单,以便在添加用户帐户之前收集有关用户的信息。
项 |
说明 |
---|---|
用户名: | |
角色名: | |
配置文件或授权: | |
UID: | |
主组: | |
辅助组: | |
注释: | |
缺省 Shell: | |
口令状态和更新: | |
起始目录的路径名: | |
挂载方法: | |
起始目录的权限: | |
邮件服务器: | |
部门名称: | |
部门管理员: | |
经理: | |
员工姓名: | |
员工职务: | |
员工状态: | |
员工编号: | |
开始日期: | |
添加到下列邮件别名中: | |
桌面系统名称: |
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
为每种类型的用户创建一个框架目录。
# mkdir /shared-dir/skel/user-type |
可供网络上的其他系统使用的目录名称。
要用来存储某种类型用户的初始化文件的目录名称。
将缺省的用户初始化文件复制到为不同类型的用户创建的目录中。
# cp /etc/skel/local.cshrc /shared-dir/skel/user-type/.cshrc # cp /etc/skel/local.login /shared-dir/skel/user-type/.login # cp /etc/skel/local.profile /shared-dir/skel/user-type/.profile |
如果为帐户指定了配置文件,则用户必须启动特殊版本的配置文件 shell 才能使用指定给配置文件的命令(具有任何安全属性)。有三种与 shell 类型对应的配置文件 shell: pfsh (Bourne shell)、pfcsh (C shell) 和 pfksh (Korn shell)。有关配置文件 shell 的信息,请参见《系统管理指南:安全性服务》中的“基于角色的访问控制(概述)”。
编辑每种用户类型的用户初始化文件,并根据系统需要自定义这些文件。
有关用户初始化文件自定义方法的详细说明,请参见自定义用户的工作环境。
设置用户初始化文件的权限。
# chmod 744 /shared-dir/skel/user-type/.* |
验证用户初始化文件的权限是否正确。
# ls -la /shared-dir/skel/* |
下面的示例说明如何自定义 /export/skel/enduser 目录中为特定类型的用户指定的 C shell 用户初始化文件。有关 .cshrc 文件的示例,请参见示例 4–3。
# mkdir /export/skel/enduser # cp /etc/skel/local.cshrc /export/skel/enduser/.cshrc (Edit .cshrc file) # chmod 744 /export/skel/enduser/.* |
在添加组时可以向组中添加现有用户。也可以只是添加组,然后在添加用户时向组中添加用户。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
启动 Solaris Management Console。
# /usr/sadm/bin/smc & |
有关启动 Solaris Management Console 的更多信息,请参见如何以超级用户或角色身份启动控制台或如何在名称服务环境中启动 Solaris Management Console。
在“导航”窗格中,单击“管理工具”图标下面的“本计算机”图标。
将显示类别列表。
(可选)选择与名称服务环境相对应的工具箱。
单击“系统配置”图标。
单击“用户”图标并提供超级用户口令或角色口令。
单击“组”图标。从“操作”菜单中选择“添加组”。
使用上下文帮助向系统中添加组。
在“组标识”下面的“组名”提示符处标识组名。
例如,mechanoids。
在“组 ID 号”提示符处标识组编号。
例如,GID 101。
单击“确定”。
通过以下过程,用 Solaris Management Console 的“用户”工具添加用户。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
启动 Solaris Management Console。
# /usr/sadm/bin/smc & |
有关启动 Solaris Management Console 的更多信息,请参见如何以超级用户或角色身份启动控制台或如何在名称服务环境中启动 Solaris Management Console。
在“导航”窗格中,单击“管理工具”图标下面的“本计算机”图标。
将显示类别列表。
(可选)选择与名称服务环境相对应的工具箱。
单击“系统配置”图标。
单击“用户”图标并提供超级用户口令或角色口令。
单击“用户帐户”图标。
使用上下文帮助向系统中添加用户。
从“操作”菜单中选择“新增用户”->“使用向导”。
在下面的每个步骤中单击“下一步”。
本节说明如何使用命令行工具添加用户和组。
下面的示例说明如何使用 groupadd 和 useradd 命令向本地系统上的文件中添加 scutters 组和 scutter1 用户。这些命令不能用来在名称服务环境中管理用户。
# groupadd -g 102 scutters # useradd -u 1003 -g 102 -d /export/home/scutter1 -s /bin/csh \ -c "Scutter 1" -m -k /etc/skel scutter1 64 blocks |
有关更多信息,请参见 groupadd(1M) 和 useradd(1M) 手册页。
下面的示例说明如何使用 smgroup 和 smuser 命令来向 starlite 主机上的 NIS 域 solar.com 中添加 camille 用户和 gelfs 组。
# /usr/sadm/bin/smgroup add -D nis:/starlitesolar.com -- -g 103 -n gelfs # /usr/sadm/bin/smuser add -D nis:/starlite/solar.com -- -u 1004 -n camille -c "Camille G." -d /export/home/camille -s /bin/csh -g gelfs |
有关更多信息,请参见 smgroup(1M) 和 smuser(1M) 手册页。
在使用 Solaris Management Console 管理用户的起始目录时,请牢记以下几点:
如果使用“用户”工具的“新增用户向导”添加用户帐户,并将用户的起始目录指定为 /export/home/username,系统会自动将起始目录设置为自动挂载。还会向 passwd 文件中添加以下项。
/home/username |
要使用“用户”工具设置不自动挂载起始目录的用户帐户,这是唯一可以使用的方法。首先设置可禁用此功能的用户帐户模板,然后用该模板添加用户。无法使用“新增用户向导”禁用此功能。
使用具有 -x autohome=N 选项的 smuser add 命令来添加用户,将不会自动挂载用户的起始目录。但是,在添加用户之后,无法使用 smuser delete 命令选项来删除起始目录。此时必须使用“用户”工具来删除用户及其起始目录。
可使用以下过程共享用户的起始目录。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
检验 mountd 守护进程是否正在运行。
在该发行版中,现在 mountd 作为 NFS 服务器服务的一部分启动。要查看 mountd 守护进程是否正在运行,请键入以下命令:
# svcs network/nfs/server STATE STIME FMRI online Aug_26 svc:/network/nfs/server:default |
如果 mountd 守护进程未在运行,请启动。
# svcadm network/nfs/server |
列出在系统上共享的文件系统。
# share |
基于包含用户起始目录的文件系统是否已共享执行下列操作之一:
如果用户的起始目录已经共享,请转至步骤 8。
如果用户的起始目录未共享,请转至步骤 6。
share -F nfs /file-system |
/file-system 是包含需要共享的用户起始目录的文件系统。根据约定,文件系统是 /export/home。
共享列在 /etc/dfs/dfstab 文件中的文件系统。
# shareall -F nfs |
此命令执行 /etc/dfs/dfstab 文件中的所有 share 命令,这样,您就不必等待重新引导系统。
验证用户的起始目录是否已共享。
# share |
下面的示例说明如何共享 /export/home 目录。
# svcs network/nfs/server # svcadm network/nfs/server # share # vi /etc/dfs/dfstab (The line share -F nfs /export/home is added.) # shareall -F nfs # share - /usr/dist ro "" - /export/home/user-name rw "" |
如果用户的系统上没有用户起始目录,则必须从用户起始目录所在的系统挂载它。有关详细说明,请参见如何挂载用户的起始目录。
有关自动挂载起始目录的信息,请参见《系统管理指南:网络服务》中的“Autofs 管理的任务概述”。
确保用户的起始目录已共享。
有关更多信息,请参见如何共享用户的起始目录。
以超级用户身份登录用户的系统。
编辑 /etc/vfstab 文件并为用户起始目录创建一个项。
system-name:/export/home/user-name - /export/home/username nfs - yes rw |
起始目录所在系统的名称。
要共享的用户起始目录的名称。根据约定,/export/home/username 包含用户的起始目录。但是,可以使用其他文件系统。
项中必需的占位符。
在其中挂载用户起始目录的目录名称。
有关向 /etc/vfstab 文件中添加项的更多信息,请参见《系统管理指南:设备和文件系统》中的“挂载文件系统”。
为用户的起始目录创建挂载点。
# mkdir -p /export/home/username |
挂载用户的起始目录。
# mountall |
将挂载当前 vfstab 文件(该文件的 mount at boot 字段设置为 yes)中的所有项。
验证起始目录是否已挂载。
# mount | grep username |
下面的示例说明如何挂载 ripley 用户的起始目录。
# vi /etc/vfstab (The line venus:/export/home/ripley - /export/home/ripley nfs - yes rw is added.) # mkdir -p /export/home/ripley # mountall # mount / on /dev/dsk/c0t0d0s0 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=... /devices on /devices read/write/setuid/dev=46c0000 on Thu Jan 8 09:38:19 2004 /usr on /dev/dsk/c0t0d0s6 read/write/setuid/intr/largefiles/xattr/onerror=panic/dev=... /proc on /proc read/write/setuid/dev=4700000 on Thu Jan 8 09:38:27 2004 /etc/mnttab on mnttab read/write/setuid/dev=47c0000 on Thu Jan 8 09:38:27 2004 /dev/fd on fd read/write/setuid/dev=4800000 on Thu Jan 8 09:38:30 2004 /var/run on swap read/write/setuid/xattr/dev=1 on Thu Jan 8 09:38:30 2004 /tmp on swap read/write/setuid/xattr/dev=2 on Thu Jan 8 09:38:30 2004 /export/home on /dev/dsk/c0t0d0s7 read/write/setuid/intr/largefiles/xattr/onerror=... /export/home/ripley on venus:/export/home/ripley remote/read/write/setuid/xattr/dev=... |
任务 |
说明 |
说明 |
---|---|---|
修改组。 |
可以使用“群组”工具修改组的名称或组中的用户。 | |
删除组。 |
可以删除不再需要的组。 | |
修改用户帐户。 |
禁用用户帐户: 可临时禁用将来会需要的用户帐户。 更改用户的口令: 可能需要在用户忘记其口令时更改该口令。 设置口令生命期: 可通过“用户帐户”工具的“口令选项”菜单强制用户定期更改其口令。 |
|
删除用户帐户。 |
可以删除不再需要的用户帐户。 |
除非定义的用户名或 UID 号与现有的用户名或 UID 号冲突,否则永远不需要修改用户帐户的用户名或 UID 号。
如果两个用户帐户具有相同的用户名或 UID 号,请执行以下步骤:
如果两个用户帐户具有相同的 UID 号,请使用“用户”工具删除其中一个帐户并重新添加一个具有不同 UID 号的帐户。不能使用“用户”工具来修改现有用户帐户的 UID 号。
如果两个用户帐户具有相同的用户名,请使用“用户”工具修改其中一个帐户并更改其用户名。
如果使用“用户”工具来更改用户名,则起始目录的拥有权将会改变(如果存在该用户的起始目录)。
用户的组成员是用户帐户的可更改部分。要添加或删除用户辅助组,请选择用户工具“操作”菜单中的“属性”选项。也可以使用“群组”工具直接修改组的成员列表。
还可以修改用户帐户的以下部分:
说明(注释)
登录 shell
口令和口令选项
起始目录和起始目录访问权限
权限和角色
有时,您可能需要临时或永久禁用某个用户帐户。禁用或锁定用户帐户表示为用户帐户指定无效口令 (*LK*),从而禁止用户以后登录。
要禁用用户帐户,最简单的方法就是使用“用户”工具锁定帐户的口令。
还可以在“用户属性”屏幕的“帐户可用性”部分中输入截止日期。使用生命期日期可以为帐户设置活动时限。
使用“用户”工具删除用户帐户时,该软件将删除 passwd 和 group 文件中的项,用户起始目录和邮件目录中的文件也将同时删除。
可使用以下过程修改组。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
启动 Solaris Management Console。
# /usr/sadm/bin/smc & |
有关启动 Solaris Management Console 的更多信息,请参见如何以超级用户或角色身份启动控制台或如何在名称服务环境中启动 Solaris Management Console。
在“导航”窗格中,单击“管理工具”图标下面的“本计算机”图标。
将显示类别列表。
(可选)选择与名称服务环境相对应的工具箱。
单击“系统配置”图标。
单击“用户”图标。
提供超级用户口令或角色口令。
单击“组”图标。
选择要修改的组。
例如,选择 scutters。
在“组名:”文本框中修改选定的组 。完成时单击“确定”。
例如,将 scutters 更改为 scutter。
现在,位于 scutters 组中的所有用户都在 scutter 组中。
可使用以下过程删除组。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
启动 Solaris Management Console。
# /usr/sadm/bin/smc & |
有关启动 Solaris Management Console 的更多信息,请参见如何以超级用户或角色身份启动控制台或如何在名称服务环境中启动 Solaris Management Console。
在“导航”窗格中,单击“管理工具”图标下面的“本计算机”图标。
将显示类别列表。
(可选)选择与名称服务环境相对应的工具箱。
单击“系统配置”图标。
单击“用户”图标。
提供超级用户口令或角色口令。
单击“组”图标。
选择要删除的组。
例如,选择 scutter。
在弹出窗口中单击“确定”。
该组将从其所有的成员用户中删除。
为用户帐户指定普通口令
允许用户在首次登录期间创建其各自的口令
禁用或锁定用户帐户
指定生命期日期和口令生命期信息
如果使用 NIS+ 或 /etc 文件来存储用户帐户信息,可以为用户口令设置口令生命期。从 Solaris 9 12/02 发行版开始,LDAP 目录服务中也支持口令生命期。
借助于口令生命期,可以强制用户定期更改其口令,或防止用户在指定的时间间隔之前更改口令。如果希望阻止入侵者使用旧帐户或不活动帐户获取对系统未经检测的访问权限,还可以在帐户被禁用时设置口令生命期日期。可以用 passwd 命令或 Solaris Management Console 的“用户”工具设置口令生命期属性。
有关启动 Solaris Management Console 的信息,请参见如何以超级用户或角色身份启动控制台。
可以使用以下过程禁用用户帐户。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
启动 Solaris Management Console。
# /usr/sadm/bin/smc & |
有关启动 Solaris Management Console 的更多信息,请参见如何以超级用户或角色身份启动控制台或如何在名称服务环境中启动 Solaris Management Console。
在“导航”窗格中,单击“管理工具”图标下面的“本计算机”图标。
将显示类别列表。
(可选)选择与名称服务环境相对应的工具箱。
单击“系统配置”图标。
单击“用户”图标并提供超级用户口令或角色口令。
单击“用户帐户”图标。
双击该用户。
例如,选择 scutter2。
在“通用”选项卡功能的“帐户可用性”部分中选中“帐户已锁定”选项。
单击“确定”。
在用户忘记其口令时,可以使用以下过程。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
启动 Solaris Management Console。
# /usr/sadm/bin/smc & |
有关启动 Solaris Management Console 的更多信息,请参见如何以超级用户或角色身份启动控制台或如何在名称服务环境中启动 Solaris Management Console。
在“导航”窗格中,单击“管理工具”图标下面的“本计算机”图标。
将显示类别列表。
(可选)选择与名称服务环境相对应的工具箱。
单击“系统配置”图标。
单击“用户”图标。
提供超级用户口令或角色口令。
单击“用户帐户”图标,然后双击需要新口令的用户。
例如,选择 scutter1。
选择“口令”选项卡,然后选中“用户在下次登录时必须使用此口令”选项
输入用户的新口令并单击“确定”。
可使用以下过程为用户帐户设置口令生命期。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
启动 Solaris Management Console。
# /usr/sadm/bin/smc & |
有关启动 Solaris Management Console 的更多信息,请参见如何以超级用户或角色身份启动控制台或如何在名称服务环境中启动 Solaris Management Console。
在“导航”窗格中,单击“管理工具”图标下面的“本计算机”图标。
将显示类别列表。
(可选)选择与名称服务环境相对应的工具箱。
单击“系统配置”图标。
单击“用户帐户”图标并提供超级用户口令或角色口令。
单击“用户帐户”图标。
双击该用户,然后选择“口令选项”选项卡。
例如,选择 scutter2。
选择“口令选项”选项卡。
在“天数”选项中选择相应的“口令选项”并单击“确定”。
例如,选择“用户必须在以下时间内更改口令”可以设置用户必须更改其口令的日期。
可使用以下过程删除用户帐户。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
启动 Solaris Management Console。
# /usr/sadm/bin/smc & |
有关启动 Solaris Management Console 的更多信息,请参见如何以超级用户或角色身份启动控制台或如何在名称服务环境中启动 Solaris Management Console。
在“导航”窗格中,单击“管理工具”图标下面的“本计算机”图标。
将显示类别列表。
(可选)选择与名称服务环境相对应的工具箱。
单击“系统配置”图标。
单击“用户”图标。
提供超级用户口令或角色口令。
单击“用户帐户”图标。
双击要删除的用户帐户。
例如,选择 scutter4。
如果确定要删除用户帐户,请在弹出窗口中单击“删除”。
系统将提示您是否要删除用户的起始目录和邮箱内容。