Я хотів би дозволити певному користувачеві, який не володіє файлами в каталозі, виконувати 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. Мені цікаво, чи все-таки твій фокус все-таки спрацював би, але, мабуть, ні. Якщо іншої ідеї немає, я спробую все одно!
