Я хотів би дозволити певному користувачеві, який не володіє файлами в каталозі, виконувати chmod
над ними. В інтерактивному режимі я знаю, що я можу це зробити, конфігуруючи sudo
з файлами конфігурації sudoers, і я також можу визначити псевдонім, як
alias chmod='sudo chmod'
в .bashrc, .profile або .bash_profile, щоб користувачеві більше не потрібно було друкувати sudo chmod
. Цей підхід, хоча chmod
і не виконується з командного рядка в оболонці bash, але з програми. Як я можу змусити це все ще працювати?
Фон полягає в налаштуванні Syncthing , який я хочу використовувати для синхронізації файлів від різних користувачів. Крім того, він syncthing
не працює root
як користувач syncuser
. syncuser
Користувач не має дозволів для виконання chmod
на файли , які він не володіє , але які він синхронізується (права на читання / запис керованих груп), і це, де він виходить з ладу.
Така ситуація повинна виникати частіше. Я майже впевнений, що є інше рішення, ніж працювати syncthing
як root
, але на даний момент я не бачу, як ...
chmod
не є можливим для проблеми, яку ви викликаєте. Другий (зробіть копію, обмежте доступ до виконуваного файлу) розумний! Синхронізація написана на Go і, здається, закликає os.chmod()
виконувати a chmod
. Мені цікаво, чи все-таки твій фокус все-таки спрацював би, але, мабуть, ні. Якщо іншої ідеї немає, я спробую все одно!