如何授予java工具对/var/log的写权限?

如何授予java工具对/var/log的写权限?

我正在使用 cronjob 将 Java 工具作为命令行应用程序运行: java -jar /var/java/-myfile.jar

默认情况下我使用logback并写入/var/log/mylogfile.log

问题:运行 jar 的用户没有权限写入该/var/log/文件夹。该文件夹仅对“root syslog”具有权限。

问题:我应该以 身份运行 jar 吗sudo?或者我应该授予运行用户对该文件夹的写入权限吗?如果是,该怎么做?

答案1

我应该以 sudo 身份运行该 jar 吗?

不可以。这太危险了,因为您可以对系统进行任何更改,而一个放错位置的空间就可能毁掉整个系统。

或者我应该授予正在运行的用户对该文件夹的写权限吗?如果是,怎么做?

是的。两个主要命令是更改写入权限和更改日志文件的用户:

   sudo chmod 664 /var/log/{yourdir}/mylogfile.log
   sudo chown $USER:$USER /var/log/{yourdir}/mylogfile.log

其中 $USER 是您当前的活动用户,而 {yourdir}/ 是您定义的目录(例如,mysql 和 apache 使用它们自己的目录而不是/var/log/填充/var/log/)。这是一种略微好一点的方法。

相关内容