异构环境“漫游”配置文件

Tom*_*nor 5 linux mount cifs windows-server-2008-r2

通过“漫游配置文件”,我的真正意思是“共享主目录”。

所以,我设置了一个 AD 对,并在\\ad-1\homes. 然后将 AD 用户对象设置为 mount H:\ = \\ad-1\homes\%username%。这在 Windows 上运行良好(如您所料)。

我还在用户的 OU 上的 GPO 上配置了文件夹重定向以指向文档\\ad-1\homes\%username%\Documents等等。

在 Windows 上,一切都如您所愿。好极了。

然而。

Linux 是另一回事。使用 Winbind 和 Samba,我加入了域。没问题。

# wbinfo -u
PRODUCT\administrator
PRODUCT\guest
PRODUCT\krbtgt
PRODUCT\aa
PRODUCT\ab
Run Code Online (Sandbox Code Playgroud)

我已经编辑了 AD uidNumber 和 gidNumber 以便我得到这个:

# wbinfo -i PRODUCT\\aa
PRODUCT\aa:*:10001:10000:aa:/home/PRODUCT/aa:/bin/bash
Run Code Online (Sandbox Code Playgroud)

我天真地以为,我可以\\ad-1\homes登上/home/$DOMAIN和用户名是相同的,我可以用它们作为主目录。

除了因为 cifs 共享是在启动时挂载的,作为 root,权限dwrxr-x-r-x root root .一直在目录树下,所以用户不能写入它们。

我已经尝试了几乎所有 mount.cifs 选项的组合,包括有希望的“ multiuser”,并发现使用sec=krb5i.

我想要的是能够挂载 \ad-1\homes 目录,在 /home/$DOMAIN 之上,并让它看起来像

name  owner
aa/ DOMAIN\aa
ab/ DOMAIN\ab
administrator DOMAIN\administrator
Run Code Online (Sandbox Code Playgroud)

等等。

有谁知道这是如何实现的?

Windows 2008 R2,安装在 SLES 11 SP2 上。

jsc*_*ott 5

我们正在使用我们的 Active Directory 域加入 (winbind) Debian 框来执行此操作。我们用来pam_mkhomedir在 /home/EXAMPLE/$USER 下为 AD 用户在登录时创建一个主文件夹。然后pam_mount执行 AD 主目录的挂载。在 Debian 上,我们需要安装libpam-mountpam_mkhomedir默认已安装

安装后修改以下文件:

/etc/security/pam_mount.conf.xml:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<pam_mount>
<debug enable="0" />
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other,workgroup,nosetuids,noexec,nosuid" />
<mntoptions require="nosuid,nodev" />
<logout wait="0" hup="0" term="0" kill="0" />
<mkmountpoint enable="1" remove="true" />
<!--
  Replace "fs1.ad.example.com" with your Windows file server.
  We mount our AD user homes under /home/EXAMPLE, change this to suit your needs.
  Edit "workgroup=EXAMPLE" to use your domain/realm.
-->
<volume fstype="cifs" server="fs1.ad.example.com" path="home/%(USER)" mountpoint="/home/EXAMPLE/%(USER)" user="*" options="workgroup=EXAMPLE,uid=%(USER),dir_mode=0700,file_mode=0700,nosuid,nodev" />
Run Code Online (Sandbox Code Playgroud)

/etc/pam.d/common-session:

# <snip>
# We use pam to create the AD user home drives
session required        pam_mkhomedir.so skel=/etc/skel/ umask=0077
session optional        pam_mount.so nullok try_first_pass
Run Code Online (Sandbox Code Playgroud)

例如,当我 (FCSD\jscott) 登录到 Linux 机器时,我的 AD 主文件夹 \\staff\home\jscott 挂载为 /home/FCSD/jscott。

在此处输入图片说明