繁体   English   中英

使用Linux用户权限限制应用程序存储在磁盘中的数据访问

[英]restricting application stored data access in disk using Linux user permissions

我正在开发将在Linux上运行的Java SE应用程序。 该应用程序在磁盘上存储一些文件和目录。

我只需要应用程序本身能够读取/写入这些文件/目录(即,当前登录的用户就不能使用OS File Manager读取/写入/复制这些文件)。
我试图创建一个用户和一个用户组,并将文件的权限更改为600,将目录的权限更改为700。
问题是应用程序以当前登录用户身份运行,因此它以当前用户作为所有者存储文件。
如果我对文件进行了chown ,那么应用程序将无法再读取文件!

我应该怎么做才能限制文件/目录对应用程序的访问?

我认为setuid是您的选择。 有关详细信息,请参见手册页。 这是wikipage ,也是很好的参考。

每个程序都有一个uid/gideuid/egid ,您应使其euid/egid与文件访问权限匹配。


详细地说,IIRC,您应该运行Java SE程序,例如java mainclassjava -jar main.jar 在脚本中编写启动命令,例如run.sh

开始运行文件

java mainclass # or java -jar main.jar choose one appropriate to you

文件结束

然后sudo chown root run.shsudo chmod ug+s run.sh

假设您在sudoer列表中。 如果没有,您必须求助于SA。

那是不可能的。 用户与其运行的程序之间的权限没有区别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM