我試圖建立在Linux/var/log目錄日誌文件,但得到許可被拒絕。任何最佳實踐,而不必更改目錄的所有權?Golang os.Create權限被拒絕
f, _ := os.Create("/var/log/go_server.log")
defer f.Close()
log.SetOutput(f)
我試圖建立在Linux/var/log目錄日誌文件,但得到許可被拒絕。任何最佳實踐,而不必更改目錄的所有權?Golang os.Create權限被拒絕
f, _ := os.Create("/var/log/go_server.log")
defer f.Close()
log.SetOutput(f)
你在那裏有一個標準的UNIX權限問題。鑑於該目錄的特殊性,您有三種選擇:
還要注意,systemd可以保存你的標準輸出/錯誤文件,如果你配置它的權利,你可以用journalctl瀏覽。事實上,讓程序愚蠢地將diag打印到stdout/err而不是分叉是最聰明的事情,systemd會爲你做所有這些事情(這樣,你可以專注於你的程序的功能,而不是重新發明輪子)守護進程和日誌記錄)。
對於所有的悲傷systemd得到,它實際上在這種使用情況相當不錯。
該機器在AWS雲中運行,並通過BeanStalk部署了go環境和代碼。所以沒有最終用戶對機器或程序用戶的控制。認爲有更好的方法。 – Bruce
從具有足夠權限的用戶帳戶運行程序。 – zerkms
該機器在AWS雲中運行,並通過BeanStalk部署了go環境和代碼。所以沒有最終用戶對機器或程序用戶的控制。認爲有更好的辦法。 – Bruce