Permissions

允許所有使用者在 NTFS 文件系統上使用 chmod

  • July 18, 2021

問題:

我有一台雙啟動 PC Ubuntu / Windows 10,它共享對 NTFS 磁碟分區的訪問權限(像/DATA/在 Ubuntu 中一樣安裝)。

chmod當對此類共享分區中的文件執行命令時,無論使用者呼叫此命令,我都需要避免“權限被拒絕”錯誤。這是因為我chmod是作為更大程序的一部分被呼叫的,使用者不能只是避免它們,當他們返回錯誤時,整個程序就會停止。

我嘗試了什麼:

/DATA/現在正在使用permissions選項(映射文件已啟動)並在 ID 為 1001 的非 root 使用者下掛載,並且所有使用者都是 ID 為 1003 的組的一部分,rwx允許訪問該組,即:

UUID=...  /DATA  ntfs  auto,users,rw,permissions,umask=007,uid=1001,gid=1003  0  0

這個解決方案幾乎可以工作。每個人都可以 r+w,並且當使用者 1001 呼叫時,chmod我們不會收到錯誤消息。它確實沒有任何改變,但這不是問題。問題是對於其他使用者,該命令chmod仍然會觸發錯誤,因為他們不被視為文件的所有者。


有沒有辦法將掛載的分區的所有權/DATA/授予所有使用者?或者至少是第一次登錄的使用者?

或者至少讓chmod命令永遠不會返回錯誤?

呼叫 chmod 的程序是否對路徑進行硬編碼/bin/chmod

如果不是,如果它只是執行chmodPATH 中的第一個程序,請嘗試創建一個目錄,其中僅包含一個名為 ‘chmod’ 的符號連結到/bin/true.

例如(作為根):

# mkdir /usr/local/dummy
# ln -s /bin/true /usr/local/dummy/chmod

PATH="/usr/local/dummy:$PATH"然後在執行程序之前將 PATH 設置為首先具有此目錄 ( )。您可以創建一個包裝腳本來設置 PATH,然後執行該程序。

您可能也想創建一個符號連結chown

順便說一句,這是顯而易見的,但您不希望此 PATH 設置成為預設設置。只有在執行觸發問題的程序時才需要它。

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