Mount

如何為普通使用者使用 kerberos 掛載 cifs?

  • May 10, 2019

我可以在我的 AWS Workspace 上手動掛載公司共享目錄,但我需要為所有使用者執行此操作。

$ sudo ksu
[sudo] password for <Domain>\<User.Name>: 
Leaving uid as root (0)
$ mount -t cifs //<Domain>/<Path> /home/*/<Mount\ Point\ Name> -o multiuser,sec=krb5
$ exit

我需要它為所有使用者工作,這意味著我需要一個通用的解決方案。

Amazon Workspaces 為每個使用者創建一個虛擬機。我需要創建我的作業系統映像以與其他使用者共享。因此,即使我以某種方式使用我的憑據創建 fstab 條目,這些憑據對任何其他使用者的工作區都無效。

我可能有錯誤的一端,這可能無法實現。

我想像上面這樣的東西,可以通過創建一個在使用者登錄時執行的腳本來工作,因為使用者使用 ksu 創建上下文,然後在使用者的主目錄中安裝一個目錄。因此,使用者的憑據在執行時將不可用,因為他們只是登錄。

先擺出店面,再說吧。目標是在使用者登錄到工作區時掛載網路共享。限制:必須使用kerberos,提前不知道使用者是誰,不能使用任何儲存的憑據。

以上是我所能看到的一條死胡同。

所以我正在使用的解決方案:pam_mount

編輯兩個文件:

  1. /etc/pam.d/system-auth
  2. /etc/security/pam_mount.conf.xml

根據您的發行版,編輯第一個文件可能是可選的,添加兩行:

auth        optional      pam_mount.so
session     optional      pam_mount.so

嘗試遵循系統身份驗證的約定並將這些行添加到適當的部分。

將以下內容添加到第二個文件:

<!-- Using CIFS -->
 <volume
     fstype="cifs"
     path="//server_name/share_name"
     mountpoint="~/mnt/share_name"
     uid="10000-19999"
     options="sec=krb5i,vers=3.0,cruid=%(USERUID)"
 />

更新此部分以反映您的需求。

有關更多資訊,請查看上述源頁面:

TechRepublic - 使用 pam_mount 在登錄時自動掛載文件系統

Arch Wiki - pam_mount

引用自:https://unix.stackexchange.com/questions/516143