2016-01-07 28 views
0

我剛碰到一個問題,可能很容易解決 - 好吧,對於你們。 我嘗試創建一個目錄,更改爲它,在該目錄中創建一個文件並將其添加到該文件。一切工作正常 - 除了它將目錄/文件標記爲鎖定,這對我來說不是很方便。 我以root身份運行我的腳本,因爲我需要。當我正常運行時,問題不會發生。我在Ubuntu上,下面是一些示例代碼以及給定文件權限的圖片,謝謝!Python在Ubuntu上創建鎖定的文件

import os 

os.makedirs("foo", exist_ok = True) 
os.chdir("foo") 

with open("oof", "a") as f: 
    f.write("something" + "\n") 

A picture of the permissions of the given file

+0

@Leo是的,我忘了提及,對不起。我需要雖然 - 我正在編碼一個數據包分析器。 – Reum12

+1

請參閱[os.seteuid()](https://docs.python.org/2/library/os.html#os.seteuid)。 – msw

+1

另請參見[最小特權原則](https://en.wikipedia.org/wiki/Principle_of_least_privilege)。不要以root身份運行,或者如果你這樣做,除了實際需要的那一點以外,減少你的權限(通過seteuid)。這是一個系統問題,根本不是Python或Ubuntu特有的。 – msw

回答

0

正如你說你運行該腳本以root身份,以便其他用戶無法訪問該文件。
您可以更改目錄權限:

from subprocess import call 

call(['chmod', 'mode', 'path'])