我在Active Directory中有许多现有用户需要创build主目录。 他们不直接login到Solaris,而是login到在该服务器上运行的服务。
如果我login他们的主目录被创build,然后他们可以login。
这对新用户也是一样的!
由于有很多用户,我需要一种自动化的方法,以便新用户和现有用户自动创build它。
这可能吗??
与Linux不同的是,没有像pam_mkhomedir这样的标准pam模块来在Solaris上完成这个任务。 虽然编译这个pam模块很可能会起作用,但如果在/ etc / profile中缺less主目录,或者设置可执行的auto_home映射,还有其他select。
使用/ etc / profile来创build用户的主目录需要使用rbac或sudo,所以基于自动加载程序的解决scheme更容易实现,例如:
在/etc/auto_master文件中,注释掉这行:
# /home auto_home -nobrowse
并添加这一行:
/home /opt/local/mkhomedir
注意:我在这里假设前面的auto_home地图还没有被实际用户使用过。
使用以下内容创build/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
就是这样。 每个configuration为拥有/ home / 用户名的用户将在第一次访问时自动创build该目录(如有必要)。 当然,你应该用mkhomedir脚本中更持久的东西replace/tmp/home ,例如/export/home ,这是Solaris上主目录后端存储的常用位置。
你有两个select:
当用户login到计算机时,它会自动发生。 对不起,这是MSdevise它的方式。
最好的机会是通过远程桌面在Windows机器上login(应该脚本化),并注销一个自动脚本;)