使用Java运行需要“su”的Linux命令的最佳方法是什么?我希望它非常可靠,至于安全性,我并不关心它,系统不是生产服务器。没有人连接到机器,但我自己。我想过以root身份登录,所以我不必默认处理su命令及其禁用。我正在使用Debian 6.
唯一的一点是,我的一个要求是程序应该在普通用户登录后启动,而无需任何进一步的用户输入。我会为普通用户设置自动登录,当计算机打开时,在普通用户登录后,我希望Java程序以sudo运行,没有任何用户输入。那可能吗?
请告诉我一个简单可靠的解决方案。
此致
答案 0 :(得分:3)
请改用sudo
。
它可以配置为允许特定命令运行而无需输入密码。
答案 1 :(得分:0)
对于运行需要root访问权限的程序,应该使用sudo
运行它们。将要求用户输入密码。如前面的答案中所述,sudo
可用于配置以root身份运行的命令,不需要输入密码。请尝试查看sudo
的手册页,了解有关该页面的更多信息。
如果要在系统启动时运行程序,可以编写一个bash脚本,以便在用户登录时运行命令gksudo java -jar path
。这将提示用户输入密码对话框。
我还建议在程序开始时进行系统调用以确保root访问权。