我有一个unix系统用户teamcity
,它在unix目录中解压tar。
tar 包含一个 jar 文件和其他包含配置文件的目录。它还具有一个日志目录和一个文件 /log/abc.log
。
由于 teamcity
正在运行 tar 命令,因此生成的提取中的所有文件和目录都将 teamcity
作为所有者和组。
我有另一个系统用户运行 jar 文件,即: 诽谤者
。
当我作为 abcuser
运行 jar 文件时,并且当程序尝试访问 /log/abc.log
文件时,出现以下异常:
Nested:java.io.FileNotFoundException: log/abc.log (Permission denied)
这个问题有什么解决办法吗?我无法将任何用户 teamcity
和 abcuser
设置为管理员。
最佳答案
这里有几个选项。
1。允许所有本地用户读取/log/abc.log
sudo chmod o+r /log/abc.log
2。将 teamcity 和 abcuser 放在一个公共(public)组中。
sudo groupadd loggingGroup
sudo usermod -g loggingGroup abcuser
sudo usermod -g loggingGroup teamcity
仅允许组成员访问/log/abc.log
sudo chmod g+r /log/abc.log
关于java - java程序中的权限被拒绝问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43673278/