如何在 Solaris 上自动为 Active Directory 用户创建主目录(使用 PowerBroker)

如何在 Solaris 上自动为 Active Directory 用户创建主目录(使用 PowerBroker)

我有许多 Active Directory 中的现有用户需要创建主目录。他们不直接登录 Solaris,而是登录该机器上运行的服务。

如果我以他们的身份登录,则会创建他们的主目录,然后他们就可以登录。

对于新用户来说也是一样的!

由于用户很多,我需要一种方法来自动化执行此操作,以便新用户和现有用户能够自动创建它。

这可能吗??

答案1

与 Linux 不同,Solaris 上没有像 pam_mkhomedir 这样的标准 pam 模块来实现此任务。虽然编译此 pam 模块可能有效,但还有其他替代方法,例如如果 /etc/profile 中缺少主目录则创建主目录或设置可执行的 auto_home 映射。

使用 /etc/profile 创建用户的主目录需要使用 rbac 或 sudo,因此基于自动挂载程序的解决方案更容易实现,例如:

在该/etc/auto_master文件中,注释掉以下行:

# /home         auto_home       -nobrowse

并添加以下行:

/home           /opt/local/mkhomedir

注意:我在这里假设先前的 auto_home 映射尚未被实际用户使用。

/opt/local/mkhomedir使用以下内容创建脚本:

#!/bin/ksh -p
actual=/tmp/home # top directory to store user's home directories
homedir=$(echo ~$1)
hd=$actual/$1
if [ $(dirname $homedir) = /home -a ! -d $hd ]; then
  mkdir -p $hd
  chmod 0700 $hd
  chown $1 $hd
fi
echo localhost:$hd

就是这样。每个用户都将其主页配置为 /home/用户名如果需要,将在第一次访问时自动创建此目录。当然,您应该/tmp/home在脚本中用更持久的内容替换它mkhomedir,例如,/export/home这是 Solaris 上主目录后端存储的常用位置。

答案2

您有两个选择:

  • 如果您的服务可以使用 PAM,那么您可以让 pam_mkhomedir 为您创建它。
  • 您可以执行批量隔夜作业并根据用户列表创建主目录。

答案3

使用该项目

https://github.com/benr/solaris_pam_mkhomedir

如果需要,您可以使用现有的 SUNWgcc 包。

答案4

当用户登录计算机时,它会自动发生。抱歉,这是 MS 的设计方式。

最好的机会是通过 Windows 机器上的远程桌面登录(应该是可编写脚本的),并使用自动注销脚本;)

相关内容