我有一个文件由“ root”拥有,而脚本由“ non-root”用户拥有。我正在尝试使用“非root”脚本更改“ root”拥有文件的权限,并出现以下错误:
$rows = $repository
->initQuery()
->selectRows()
->orderByDate()
->getResult()
;
我尝试向non_root_script添加功能,但仍然出现相同的错误。
$ cat root_file
echo "HELLO WORLD"
$ cat non_root_script
chmod 777 root_file.txt
$ ./non_root_script
chmod: changing permissions of 'abc.txt': Operation not permitted
我是否需要提供其他功能,如果可以的话,请提出建议。另外我也不想使用“ sudo chmod”。
答案 0 :(得分:0)
GNU / Linux强烈反对在shell脚本上进行AT_SECURE转换(包括文件系统功能):
您可以使用一个小的C程序解决该问题,但是即使由于文件系统争用条件而将root_file.txt
的路径更改为绝对路径时,您尝试执行的操作仍然可能非常不安全。诸如777
之类的宽松文件模式也会导致安全问题。我建议研究其他解决您原始问题的方法。