Изменить разрешение файла, принадлежащего пользователю root, без использования sudo - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть файл, принадлежащий «root», и скрипт, принадлежащий «не-root» пользователю.Я пытаюсь изменить разрешение для файла, принадлежащего пользователю root, используя скрипт «non-root» и получаю сообщение об ошибке ниже:

$ 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

Я пытался добавить возможности в сценарий non_root_script, но все еще получаю ту же ошибку.

$ sudo setcap CAP_FOWNER+ep non_root_script
$ ./non_root_script
chmod: changing permissions of 'abc.txt': Operation not permitted

Есть ли какие-либо другие возможности, которые мне нужно предоставить, если так, пожалуйста, предложите.Также я не хочу использовать "sudo chmod".

1 Ответ

0 голосов
/ 28 сентября 2018

GNU / Linux настоятельно не рекомендует переходы AT_SECURE (включая возможности файловой системы) в сценариях оболочки:

Вы можете обойти это, используя небольшую программу на C, но то, что вы пытаетесь сделать, может быть очень небезопасным, даже если вы измените путь на root_file.txt на абсолютный путь из-за состояния состязания файловой системы.Очень разрешительные режимы файлов, такие как 777, также приводят к проблемам безопасности.Я предлагаю исследовать другие решения ваших первоначальных проблем.

...