![](/img/trans.png)
[英]Restricting access of a Web application using public key/ private key techniques
[英]restricting application stored data access in disk using Linux user permissions
我正在开发将在Linux上运行的Java SE应用程序。 该应用程序在磁盘上存储一些文件和目录。
我只需要应用程序本身能够读取/写入这些文件/目录(即,当前登录的用户就不能使用OS File Manager读取/写入/复制这些文件)。
我试图创建一个用户和一个用户组,并将文件的权限更改为600,将目录的权限更改为700。
问题是应用程序以当前登录用户身份运行,因此它以当前用户作为所有者存储文件。
如果我对文件进行了chown
,那么应用程序将无法再读取文件!
我应该怎么做才能限制文件/目录对应用程序的访问?
我认为setuid
是您的选择。 有关详细信息,请参见手册页。 这是wikipage ,也是很好的参考。
每个程序都有一个uid/gid
和euid/egid
,您应使其euid/egid
与文件访问权限匹配。
详细地说,IIRC,您应该运行Java SE程序,例如java mainclass
或java -jar main.jar
。 在脚本中编写启动命令,例如run.sh
开始运行文件
java mainclass # or java -jar main.jar choose one appropriate to you
文件结束
然后sudo chown root run.sh
和sudo chmod ug+s run.sh
假设您在sudoer列表中。 如果没有,您必须求助于SA。
那是不可能的。 用户与其运行的程序之间的权限没有区别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.