在不使用sudo的情况下更改root用户拥有的文件的权限

时间:2018-09-28 09:29:57

标签: linux root sudo chmod linux-capabilities

我有一个文件由“ 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”。

1 个答案:

答案 0 :(得分:0)

GNU / Linux强烈反对在shell脚本上进行AT_SECURE转换(包括文件系统功能):

您可以使用一个小的C程序解决该问题,但是即使由于文件系统争用条件而将root_file.txt的路径更改为绝对路径时,您尝试执行的操作仍然可能非常不安全。诸如777之类的宽松文件模式也会导致安全问题。我建议研究其他解决您原始问题的方法。