我正在使用python腳本創建linux文件系統的副本。我在創建的/ tmp目錄上遇到了許多問題。在/ tmp目錄下應該有1777組的權限,即:python創建tmp目錄權限
ls -l/
drwxrwxrwt 17 root root 16384 2011-03-01 09:50 tmp
當我這樣做,
os.mkdir('/mnt/tmp',1777)
我得到了奇怪的權限:
ls -l/
d-wxr----t 2 root root 4096 2011-03-01 09:53 tmp
然後,我想知道的umask和chmod ,所以我試過這個:
os.mkdir('/mnt/tmp')
old_mask=os.umask(0000)
os.chmod('/mnt/tmp',1777)
os.umask(old_mask)
個但我仍然得到意想不到的權限:
ls -l/
d-wxrwS--t 2 root root 4096 2011-03-01 09:57 tmp
然而,是什麼給我創建目錄的正確的權限如下:
os.mkdir('/mnt/tmp')
os.system("chmod 1777 /mnt/tmp")
我要指出,我通過運行此腳本sudo,但沒有提及/ etc/sudoers中的任何umask設置。以實際的root用戶身份運行它沒有任何區別。作爲一個普通用戶來運行它是不可能的,因爲我正在製作一個FS副本,其中必須包含只能在root下訪問的文件。
這裏的任何想法?任何幫助將不勝感激。
令人驚歎!謝謝你的提示。爲了記錄,我必須這樣做: os.umask(00000) os.mkdir('/ mnt/tmp',01777) 讓它正常工作。再次感謝! – 2011-03-01 15:14:39