隨着GHC 8.0.2如果我在開始此發出警告ghci的在我的項目目錄中創建一個.ghci文件模式644:項目具體ghci的初始化文件的權限警告
*** WARNING: .ghci is writable by someone else, IGNORING!
Suggested fix: execute 'chmod go-w .ghci'
在採用這個建議,在啓動時ghci然後我們得到:
*** WARNING: . is writable by someone else, IGNORING!
Suggested fix: execute 'chmod go-w .'
通過此建議使警告消失。這很好,但是這很乏味和煩人,特別是因爲使用堆棧,默認創建的目錄權限並不是ghci看起來想要的。
爲什麼添加一個.ghci文件會導致這種行爲,ghci擔心的是什麼?沒有本地目錄.ghci文件ghci不會抗議權限。
雖然我認爲ghc不應該指示我如何管理我個人系統的安全性,但我現在明白ghci可以用'!'運行任意shell命令。命令,並且如果本地.ghci包含在外部下載的軟件包中,這些命令可能會在不知不覺中注入到會話中。所以設計決策正試圖避免這種風險。我同意設置一個更嚴格的umask就是答案,但人們往往不會在單個用戶工作站上自動執行此操作。 – andro