在java程序中权限被拒绝的问题

时间:2017-04-28 06:19:36

标签: java unix permissions

我有一个unix系统用户teamcity,用于解析unix目录中的tar。

tar包含一个jar文件和包含配置文件的其他目录。它还有一个日志目录和一个文件/log/abc.log

由于teamcity正在运行tar命令,因此生成的数据提取中的所有文件和目录都将teamcity作为所有者和组。

我有另一个系统用户运行jar文件即。 abcuser

当我以abcuser运行jar文件时,当程序试图访问/log/abc.log文件时,我得到以下异常:

Nested:java.io.FileNotFoundException: log/abc.log (Permission denied)

这是什么解决方案?我无法将任何用户teamcityabcuser设为管理员。

1 个答案:

答案 0 :(得分:0)

这里有几个选项。

1。允许所有本地用户阅读/log/abc.log

sudo chmod o+r /log/abc.log 

2。将teamcity和abcuser放在一个共同的小组中。

sudo groupadd loggingGroup
sudo usermod -g loggingGroup abcuser
sudo usermod -g loggingGroup teamcity

仅允许该组成员访问/log/abc.log

sudo chmod g+r /log/abc.log