Windows

安裝在 Unix 中的 Windows 文件夾,無法觸摸任何“權限被拒絕”

  • January 7, 2012

我有一個在虛擬機 vm 中執行 centos 的 Windows 系統。

我有一個在 Windows 中共享的目錄,並從 centos 掛載到 fstab 中,如下所示:

//<ip address>/head_build  /mnt/company-build  cifs  user,uid=0,gid=0,rw,auto,exec,suid,username=uname,password=pword,iocharset=utf8 0 0

在子文件夾中,我有一個腳本。如果我嘗試執行它,我會得到錯誤'bad interpreter',我相信它可以用 dos2unix 修復。

但是,我似乎對此腳本無能為力。dos2unix 說Failed to open output temp file: Permission denied

chmod 和 chown 也說權限被拒絕。lsattr 說'Inappropriate ioctl for device while reading flags'

編輯: 我在 centos 機器上以 root 身份登錄。windows中的共享文件夾已授予每個人執行所有操作的權限(掛載的使用者也對windows中的文件夾具有權限)。

編輯 2: 我嘗試添加 file_mode=777, dir_mode=777 (如評論中所建議),以及 umask=777 和 noperm (認為有人會這樣做),但沒有運氣。

編輯 3: 與 S19N 聊天后,我同意問題似乎出在安裝的伺服器端,即 windows。但是共享文件夾具有我能想到的所有權限。是否有一些秘訣可以從 cifs 掛載到 Windows 中獲取執行權限?

編輯 4:calcs這是我在 Windows 上共享的目錄 的輸出:

c:\company\builds\head>cacls build
c:\company\builds\head\build computer-name\uname:(OI)(CI)F
                           BUILTIN\Administrators:F
                           BUILTIN\Administrators:(OI)(CI)(IO)F
                           NT AUTHORITY\SYSTEM:F
                           NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F
                           Everyone:(OI)(CI)F

這似乎表明該文件夾在安裝時將允許所有權限。

編輯 5: 根據 Jim 的評論,我檢查net session了 windows 框上的 ,以查看我在安裝時所連接的內容。當我嘗試使用我的 unname 帳戶(我用來掛載的帳戶)執行 net session 命令時,我被拒絕訪問。

當我使用 時run as administrator,我可以看到我正在使用 uname 帳戶訪問掛載。我在 uname 帳戶上禁用了 UAC(UAC 是 Windows 7 中的系統,它會詢問您是否要允許某些操作繼續進行)。這實際上允許 uname 帳戶正常執行net session

但是,uname 帳戶仍然無法從掛載中執行任何操作:touch: cannot touch 'test': Permission denied

編輯 6: 我剛剛在 windows 框中啟動了真正的管理員帳戶(如此所述),並將其用作掛載的使用者。以為這樣就可以了。仍然從坐騎內部獲得許可被拒絕。

一時興起,我還嘗試從管理員​​帳戶執行 virtualbox 機器。同樣的問題。

謝謝!

從 Linux 來看,文件(和父目錄)權限是什麼?

嘗試在您的選項中添加file_mode=777dir_mode=777:如果伺服器不支持 CIFS Unix 擴展,這將覆蓋預設文件模式或目錄的預設模式。

另外:你試過bash <script>嗎?

引用自:https://serverfault.com/questions/347544