2014-01-07 54 views
1

我面臨着以下問題:如何以安全的方式在Python創建目錄

用戶有一些問題需要同步的,所以我寫一個腳本文件,從用戶的目錄拷貝加密文件到服務器中的臨時目錄,然後在其他5臺服務器中分發。

最初的複製是通過創建一個文件夾與用戶的名字並把文件放在那裏。 的用戶可以自由更改用戶名,因此,如果有人改變了他的用戶名難聽服務器(S)的擁有者/

我不得不使用文件夾名稱的用戶名,因爲這確實在同步使用文件夾中的腳本某種類型的元數據的用戶名。

那麼,有什麼辦法來逃避用戶名,​​並確保一切都在主文件夾下創建?

+2

一般來說,這個東西是由權限在操作系統級處理...你運行該腳本根? – mgilson

+2

防止出現問題的最好方法是利用'realpath',我不確定它是如何在Python/Bash中完成的,但是在php和perl中'basepath'可以用來驗證沒有目錄遍歷發生 – nrathaus

+0

@mgilson我不知道腳本將被調用的權限,這就是爲什麼我想使它儘可能萬無一失,因爲我可以 – ndp

回答

1

由於nrathaus建議你可以使用os.path.normpath得到「歸一化」的路徑,並檢查是否有安全問題

相關問題