2014-02-27 33 views
0

我的python腳本創建一個文件夾,每個用戶一個。我想創建權限/授予權限,只有一個特定的用戶只能訪問一個特定的目錄,而不能訪問其他文件夾。例如,python腳本創建文件夾1,文件夾2,...我希望folder1只能被用戶1讀取,而folder2只能被user2 ...等。在Windows Server 2008上工作。 謝謝。如何獲得特定用戶目錄的權限?

+0

嘗試使用os.chown,然後使用os.chmod –

回答

0

os.chown(path, uid, gid)更改路徑所有者,然後os.chmod(path, mode)與模式700(只有您可以讀取,寫入或執行路徑)。我認爲應該工作..

---編輯---

apparantly chown窗戶dosent工作。看起來你需要win32security模塊,它是pywin32的一部分。 here是演示如何使用它更改權限的答案。

+1

這些只能在UNIX上使用,並且在Windows上不可用。 –

+0

@BurhanKhalid - 文檔陳述了這個關於chomd的問題:「可用性:Unix,Windows。」 - 請參閱http://docs.python.org/2/library/os.html#os.chmod – WeaselFox

+0

@BurhanKhalid - 等待,chown僅適用於Unix,謝謝 – WeaselFox

0

Win32安全API不適合那些膽小的人。最簡單的解決方案是使用外部Microsoft程序,如caclsicacls從Python調用,使用subprocesssystemcacls是相當混亂:

cmd = r"echo y|cacls gash.txt /E /G BUILTIN\\Users:R" 

cacls在線幫助(Windows XP)和here中記錄。它可能會輸出提示(取決於操作)「您確定(是/否)?」,這就是爲什麼我們在示例中有echo y|(請參閱here)。或者使用Windows Resource Kit中的xcacls.exe - 此版本不提示。

在Windows Vista和Windows 7中,cacls程序仍然有效,但不推薦使用功能更強大的icacls程序,該程序很幸運沒有提示。對不起,我沒有Windows 8.

+1

問題標記爲windows。 – WeaselFox

+0

糟糕,沒有注意到。 – cdarke

相關問題