假设我的 bash 文件包含
chmod -R 777 $backup_files/app/webroot/uploadedFiles/
当我使用 /permission.sh
通过 root 权限运行它时它工作正常但是当我尝试通过像
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("/permission.sh");
printBufferedReaderOutputFromProcess(process);
process.waitFor();
它给了我以下错误:
chmod: changing permissions of `/home/app/webroot/uploadedFiles/A.jpg': Operation not permitted
我能解决什么问题?
最佳答案
我怀疑您之前没有使用过 sudo,但是在脚本上使用 setuid 的替代方法是授予用户以 root 身份对脚本执行 sudo 的权限。即
sudo permisions.sh
这可以作为 root 运行而无需输入密码。你必须在 sudoers.conf 中设置它
关于java - 当 bash 脚本通过 Java 代码运行时,如何在 Linux 中将用户设置为 root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8514672/