Permissions
允許所有使用者在 NTFS 文件系統上使用 chmod
問題:
我有一台雙啟動 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
?如果不是,如果它只是執行
chmod
PATH 中的第一個程序,請嘗試創建一個目錄,其中僅包含一個名為 ‘chmod’ 的符號連結到/bin/true
.例如(作為根):
# mkdir /usr/local/dummy # ln -s /bin/true /usr/local/dummy/chmod
PATH="/usr/local/dummy:$PATH"
然後在執行程序之前將 PATH 設置為首先具有此目錄 ( )。您可以創建一個包裝腳本來設置 PATH,然後執行該程序。您可能也想創建一個符號連結
chown
。順便說一句,這是顯而易見的,但您不希望此 PATH 設置成為預設設置。只有在執行觸發問題的程序時才需要它。