---
# System prepended metadata

title: Linux 掛載NFTS資料夾維持原本權限資訊

---

# Linux 掛載NFTS資料夾維持原本權限資訊

* Linux 需要先加入網域透過 winbindd 整合網域帳號
* 建立 bash sript `CreateUserMapping.sh` 內容如下
  ```bash
  #!/bin/bash
  while IFS= read -r GroupName
  do
      #echo $GroupName
      Sid=`wbinfo -n "$GroupName" | cut -d ' '  -f 1`
      Gid=`wbinfo -S $Sid`
      echo :$Gid:$Sid
  done < <(wbinfo -g)
  
  while IFS= read -r GroupName
  do
      #echo $GroupName
      Sid=`wbinfo -n "$GroupName" | cut -d ' '  -f 1`
      Uid=`wbinfo -S $Sid`
      echo $Uid::$Sid
  done < <(wbinfo -u)
  ```
* `/CreateUserMapping.sh > UserMapping` 產生 Sid 與 uid gid 的對應檔
* 掛載 Ntfs 磁區，指定了 permissions 跟 usermapping ，掛載的時候需要一點時間，目前測試都在 1分多鐘左有，速度跟 UserMapping 的資訊量有關，UserMapping 資訊量少時時間也相對會變快
  ```
  ntfs-3g -o permissions,acl,usermapping=/mnt/UserMapping /dev/vdc2 /mnt/WinNtfs
  ```
* 當網域成員或群組有增刪的時候，網域中的 Sid 都會成生改變，上述的 `UserMapping` 也需要重新生成，磁區也要重新掛載，相關對應才會生效。
* 掛載的 NTFS 可以透過 Samba 進行分享，但透過網芳調整檔案權限時會發生錯誤，需要在本機透過 setfacl 指令調整 acl 權限。

