在Linux上使用su的Java切换用户

时间:2013-08-23 23:23:45

标签: java linux su

由于在不同于applmgr的用户上定义的特定权限,我正在编写一个需要切换用户的Oracle EBS Java程序。 我们采用的方法是创建一个java类,它将在单独的会话中切换用户,然后从新用户可以访问的文件夹中列出该文件。

有任何可用选项吗?

到目前为止,我可以创建两个shell脚本文件,然后运行这些shell脚本,一个将存储环境变量,另一个将实际切换用户并列出文件。

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

您可以更改文件的组权限。你可以启动一个System.process(“su user&& cat file”);您可以让其他用户使用cronjob将文件复制给您...

答案 1 :(得分:0)

您可以尝试让Java在系统上启动本地命令,然后作为该命令的一部分启动另一个程序(远非非常干净,但可能会起作用)

查看此类文件以获取有关启动本地命令的示例:

https://github.com/SnakeDoc/RPi_SerialGPS/blob/master/src/com/vanomaly/rpi/serial/gps/util/System.java

答案 2 :(得分:0)

你应该能够使用setuid - 我希望Java中有一个版本可以直接使用,但除此之外,制作你自己的JNI代码应该不那么难。

但是,运行切换用户的命令(例如,使用susudo)然后运行所需的Java代码可能更简单。