JavaScript is required to for searching.
跳过导航链接
退出打印视图
在 Oracle Solaris 11.1 中管理用户帐户和用户环境     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

1.  管理用户帐户和用户环境(概述)

2.  使用命令行界面管理用户帐户(任务)

使用 CLI 设置和管理用户帐户

使用 CLI 设置和管理用户帐户(任务列表)

收集用户信息

如何定制用户初始化文件

如何更改所有角色的帐户缺省值

设置用户帐户的准则

如何添加用户

如何修改用户

如何删除用户

如何添加组

如何共享作为 ZFS 文件系统创建的起始目录

手动挂载用户的起始目录

3.  使用用户管理器 GUI 管理用户帐户(任务)

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

使用 CLI 设置和管理用户帐户

以下任务介绍了如何使用 CLI 设置和管理用户帐户。

使用 CLI 设置和管理用户帐户(任务列表)

任务
说明
参考
收集用户信息。
使用标准表单收集用户信息有助于组织用户信息。
定制用户初始化文件。
您可以设置用户初始化文件,以便为新用户提供一致的环境。
更改所有角色的帐户缺省值。
更改所有角色的缺省起始目录和框架目录。
创建一个用户帐户。
使用您设置的帐户缺省值,通过 useradd 命令创建一个本地用户。
修改用户帐户。
修改系统上的用户登录信息。
删除用户帐户。
使用 userdel 命令删除用户帐户。
创建然后指定用于执行管理任务的角色。
使用您设置的帐户缺省值创建一个本地角色,以便用户可以执行特定的管理命令或任务。
创建一个组。
使用 groupadd 命令创建新组。
为用户帐户添加安全属性。
在设置本地用户帐户后,您可以添加所需的安全属性。
共享某个用户的起始目录。
您必须共享用户的起始目录,以便可以从用户的系统远程挂载该目录。
手动挂载用户的起始目录。
通常,您无需手动挂载作为 ZFS 文件系统创建的用户起始目录。起始目录在它创建时和从 SMF 本地文件系统服务引导时会自动挂载。

收集用户信息

在设置用户帐户时,您可以创建类似于以下表单的表单,用于在设置用户帐户之前收集用户的相关信息。

说明
用户名:
角色名:
配置文件或授权:
UID:
主组:
辅助组:
注释:
缺省 Shell:
口令状态和更新:
起始目录的路径名:
挂载方法:
起始目录的权限:
邮件服务器:
添加到下列邮件别名中:
桌面系统名称:

如何定制用户初始化文件

  1. 承担 root 角色或拥有 "User Management"(用户管理)权限配置文件的角色。
    $ su -
    Password: 
    #

    请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 为每种类型的用户创建一个框架目录。
    # mkdir /shared-dir/skel/user-type
    shared-dir
    可供网络上的其他系统使用的目录名称。
    user-type

    要用来存储某种类型用户的初始化文件的目录名称。

  3. 将缺省的用户初始化文件复制到为不同类型的用户创建的目录中。
  4. 编辑每种用户类型的用户初始化文件,并根据系统需要定制这些文件。

    有关用户初始化文件定制方法的详细说明,请参见定制用户的工作环境

  5. 设置用户初始化文件的权限。
    # chmod 744 /shared-dir/skel/user-type/.*
  6. 验证用户初始化文件的权限是否正确。
    # ls -la /shared-dir/skel/*

如何更改所有角色的帐户缺省值

在下面的过程中,管理员已定制了一个 roles 目录。管理员更改所有角色的缺省起始目录和框架目录。

  1. 承担 root 角色或拥有 "User Management"(用户管理)权限配置文件的角色。

    请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 创建一个定制的角色目录。例如:
    # roleadd -D
    group=other,1  project=default,3  basedir=/home  
    skel=/etc/skel  shell=/bin/pfsh  inactive=0  
    expire=  auths=  profiles=All  limitpriv=  
    defaultpriv=  lock_after_retries=
  3. 更改所有角色的缺省起始目录和框架目录。例如:
    # roleadd -D -b /export/home -k /etc/skel/roles
    # roleadd -D
    group=staff,10  project=default,3  basedir=/export/home  
    skel=/etc/skel/roles  shell=/bin/sh  inactive=0  
    expire=  auths=  profiles=  roles=  limitpriv=  
    defaultpriv=  lock_after_retries=

    将来可使用 roleadd 命令在 /export/home 中创建起始目录,并从 /etc/skel/roles 目录填充角色的环境。

设置用户帐户的准则

请注意以下有关使用 CLI 设置用户帐户的准则:

如何添加用户

在此发行版中,用户帐户将创建为 Oracle Solaris ZFS 文件系统。使用 useraddroleadd 命令创建的每个起始目录将作为单个 ZFS 文件系统放置在 /export/home 文件系统中,形成该用户的起始目录。

仅当-d 选项一起指定了 hostname:/pathname 时,useradd 命令才会在 auto_home 映射中创建条目。否则,指定的路径名会更新为 passwd 数据库中用户的起始目录,而不会创建 auto_home 映射条目。仅当启用了 autofs 服务时,才会挂载 auto_home 自动挂载程序映射中指定的起始目录。

  1. 承担 root 角色或拥有 "User Management"(用户管理)权限配置文件的角色。

    请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 创建一个本地用户。

    缺省情况下,用户是在本地创建的。如果包含 -S ldap 选项,可以在现有的 LDAP 系统信息库中创建用户。

    # useradd -d dir -m username
    useradd

    为指定的用户创建帐户。

    -d

    指定用户的起始目录的位置。

    使用 -d localhost:/export/home/username 而不是 -d /export/home/username 强制将条目写入 auto_home 中。

    -m

    在系统上为用户创建本地起始目录。

    如果按如下所示指定 -d dir 选项,创建的用户将不包含 auto_home 条目,且 passwd 条目将指定 /export/home/user1 作为用户的起始目录:

    # useradd -d /export/home/user1 user1

    如果按如下所示指定 -d dir 选项,用户将包含 auto_home 条目,且 passwd 数据库将包含 /home/user1,指示依赖于 autofs 服务:

    # useradd -d localhost:/export/home/user1 user1

    注 - 如果您希望用 pam_zfs_key 模块为用户创建加密的起始目录。在这种情况下,请不要useradd 命令中指定 -m 选项。请参见设置用户帐户的准则


    有关可以与 useradd 命令一起指定的所有选项和参数的详细说明,请参见 useradd(1M) 手册页。


    注 - 帐户将被锁定,直到您为用户指定口令。


  3. 为用户指定口令。
    # passwd username
    New password: Type user password
    Re-enter new password: Retype password

    有关更多命令选项,请参见 useradd(1M)passwd(1) 手册页。

另请参见

创建用户后,您可能需要执行一些其他任务,包括向用户添加和指定角色、列出和更改用户的权限配置文件以及更改用户的 RBAC 属性。有关更多信息,请参见下列参考信息:

如何修改用户

使用 usermod 命令更改用户登录定义以及为用户作出相应的与登录相关的文件系统更改。

  1. 承担 root 角色或拥有 "User Management"(用户管理)权限配置文件的角色。

    请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 根据需要修改用户帐户。

    有关可以与 usermod 命令一起指定的参数和选项的详细信息,请参见 usermod(1M) 手册页。

    例如,向用户添加角色,应键入:

    # usermod -R role username

示例 2-1 通过修改用户帐户设置每个用户的 PAM 策略

以下示例显示了如何修改用户以设置 PAM 策略。该特定修改指定对于所有 PAM 服务,只应使用 Kerberos V5 协议验证用户 jdoe。有关更多信息,请参见 pam_user_policy(5)

# usermod -K pam_policy=krb5_only jdoe

另请参见

有关修改用户的其他示例,请参见以下参考资料:

如何删除用户

  1. 承担 root 角色
    $ su -
    Password: 
    #

    注 - 无论 root 是用户帐户还是角色,此方法都是可行的。


  2. 归档用户的起始目录。
  3. 运行以下命令之一:
    • 如果用户有一个本地起始目录,请删除此用户和起始目录。
      # userdel -r username
      usesrdel

      删除指定用户的帐户。

      -r

      从系统中删除帐户。

      因为用户起始目录现在是 ZFS 数据集,所以,要为已删除的用户移除本地起始目录,首选方法是随 userdel 命令指定 -r 选项。

    • 否则,只能删除用户。
      # userdel username

      在远程服务器上,您必须手动删除用户的起始目录。

    有关命令选项的完整列表,请参见 userdel(1M) 手册页。

接下来的步骤

如果您删除的用户具有管理职责(例如创建 cron 作业)或该用户在非全局区域中具有其他帐户,则可能需要执行额外的清除操作。

如何添加组

管理员创建组时,系统会将 solaris.group.assign/groupname 指定给此管理员,并向管理员赋予对该组的完全控制权。如果其他拥有相同授权的管理员创建了组,则该管理员可以控制此组。对其中一组具有控制权的管理员无法管理其他管理员的组。有关更多信息,请参见 groupadd(1M) 和 groupmod (1M) 手册页。

  1. 承担 root 角色或拥有 solaris.group.manage 授权的管理员。

    请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 列出现有组。
    # cat /etc/group
  3. 创建新组。
    $ groupadd -g 18 exadata
    groupadd

    通过向 /etc/group 文件中添加相应的条目,在系统上创建新的组定义。

    -g

    为新组指定组 ID。

    有关更多信息,请参见 groupadd(1M) 手册页。

示例 2-2 用 groupadduseradd 命令设置组和用户

下面的示例说明如何使用 groupadduseradd 命令向本地系统上的文件中添加 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) 手册页。

如何共享作为 ZFS 文件系统创建的起始目录

在此 Oracle Solaris 发行版中,您可以通过设置 share.nfs 属性或 share.smb 属性来共享 ZFS 文件系统。或者,您可以通过使用 zfs share 命令来创建文件系统共享。缺省情况下,所有文件系统都不共享。

缺省情况下,pool/export/home 数据集已挂载在 /export/home 中。useradd 命令自动将每个用户的数据集创建为该数据集的子项。作为管理员,您可以选择为用户起始目录创建一个新池。以下过程说明了各个步骤。

有关共享和取消共享文件系统的更多信息,请参见《Oracle Solaris 11.1 管理:ZFS 文件系统》中的"共享和取消共享 ZFS 文件系统"

  1. 承担 root 角色。

    请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 为用户起始目录创建一个独立的池。例如:
    # zpool create users mirror c1t1d0 c1t2d0 mirror c2t1d0 c2t2d0
  3. 为起始目录创建一个容器。例如:
    # zfs create users/home
  4. 为起始目录设置共享属性。例如,要创建 NFS 共享以及为 users/home 设置 share.nfs 属性,应键入:
    # zfs set share.nfs=on users/home

    使用此新语法时,每个文件系统将包含一个“自动共享”,此共享是在将该文件系统的 share.nfs 属性(或 share.smb 属性)设置为 on 后立即创建的。前一命令将共享名为 users/home 的文件系统及其所有子系统。

  5. 确认后代文件系统共享也已发布。例如:
    # zfs get -r share.nfs users/home

    -r 选项可显示所有的后代文件系统。

手动挂载用户的起始目录

作为 ZFS 文件系统创建的用户帐户通常不需要进行手动挂载。通过 ZFS,文件系统在创建时自动挂载,然后在引导时通过 SMF 本地文件系统服务进行挂载。

在创建用户帐户时,请确保起始目录的设置与名称服务(位于 /home/username)中的设置相同。然后,确保 auto_home 映射表示用户起始目录的 NFS 路径。有关与任务相关的信息,请参见《在 Oracle Solaris 11.1 中管理网络文件系统》中的"Autofs 管理的任务概述"

如果需要手动挂载用户的起始目录,请使用 zfsmount 命令。例如:

# zfs mount users/home/alice

注 - 确保用户的起始目录已共享。有关更多信息,请参见如何共享作为 ZFS 文件系统创建的起始目录