linux/var/logディレクトリにログファイルを作成しようとしていますが、アクセス権が拒否されています。ディレクトリの所有権を変更することなく、すべてのベストプラクティス?Golang os.Create permission denied
f, _ := os.Create("/var/log/go_server.log")
defer f.Close()
log.SetOutput(f)
linux/var/logディレクトリにログファイルを作成しようとしていますが、アクセス権が拒否されています。ディレクトリの所有権を変更することなく、すべてのベストプラクティス?Golang os.Create permission denied
f, _ := os.Create("/var/log/go_server.log")
defer f.Close()
log.SetOutput(f)
標準のUNIXのアクセス許可の問題があります。そのディレクトリの特別な性質を考えると、次の3つのオプションがあります。
また、systemdはstdout/errを正しく設定して、次にjournalctlで参照できる場合、ファイルにstdout/errを保存できることにも注意してください。確かに、あなたのプログラムをstdout/errに愚かに印刷して、それをフォークしないようにすることは、systemdがあなたのためにすべてのものを(今のところ、あなたのプログラムが何をしているのかに焦点を当てることができ、デーモンとロギング)。
すべての悲しみのために、このユースケースではかなり良いです。
マシンはAWSクラウドで、BeanStalkを介して展開された環境とコードでスピンアップされます。そのため、マシンまたはプログラムのユーザのエンドユーザ制御はありません。良い方法があると思った。 – Bruce
十分な権限を持つユーザーアカウントからプログラムを実行します。 – zerkms
マシンはAWSクラウドで、BeanStalkを介して展開された環境とコードでスピンアップされます。そのため、マシンまたはプログラムのユーザのエンドユーザ制御はありません。良い方法があると思った。 – Bruce