Я работаю с OS X, Snow Leopard, и мне нужно разрешить пользователям делать копии файлов (шаблонов), находящихся в репозитории только для чтения, для последующего редактирования.
Репозиторий находится на отдельном физическом диске, подключенном к загрузочному тому OS X.
Поскольку это общий компьютер в школьной среде, все пользователи получают доступ к нему через единую учетную запись («user_local»).
Независимо от того, используются ли разрешения POSIX или списки управления доступом, для варианта использования требуется, чтобы права доступа к файлам изменялись с «чтение» на «чтение и запись» по мере их копирования в домашний каталог «user_local».
Поиск в Google не дал ничего, что указывало бы на то, что это возможно через систему разрешений Snow Leopard.
Вопрос 1:
Возможно ли это на самом деле через систему разрешений?
Если да, то как?
Вопрос 2:
Если это невозможно, как можно решить эту проблему?
Я полагаю, что это довольно распространенный вариант использования, поэтому для него должно быть работоспособное решение.
Спасибо.
Если вы сделаете оригинальные шаблоны для чтения / записи, но не записываемый local_user, тогда как Finder перетаскивает копию, так и cp
сохранит исходные права доступа к файлу, но не владельца.
Итак, если исходные файлы шаблонов имеют такие разрешения, как:
-rw-r--r-- 1 root wheel ... rw-file
-r--r--r-- 1 root wheel ... ro-file
Когда некоторые непривилегированный local_user копирует этот файл в свой собственный каталог, которым они станут:
-rw-r--r-- 1 local_user staff ... Documents/rw-file
-r--r--r-- 1 local_user staff ... Documents/ro-file
Убедитесь, что атрибуты 'rw-' корневого файла "rw-file" были сохранены, даже если владелец изменился в новых копиях.
Что я, вероятно, сделал бы, если бы это представил, так это написать небольшой сценарий bash. Вы можете использовать cp
команда для копирования файла. cp ссылка Команда chmod позволит вам изменить разрешения. ссылка chmod У вас должна быть возможность настроить задание cron для запуска каждую ночь или всякий раз, когда вам нужно. Убедитесь, что при запуске скрипта вы попали в sudo -s
или sudo
перед каждой командой. Есть способ заблокировать файл в ubuntu, поэтому вам не нужно вводить sudo
или sudo -s
но я не могу думать об этом с головы до ног.