
У меня есть программа, которую будут использовать два пользователя. Она сохраняет свои данные в $HOME. Возможно ли поделиться файлами конфигурации (или только одним из них - базой данных) между двумя пользователями?
Моя идея была в символической ссылке. Однако файлы конфигурации имеют разрешения 0644, поэтому только символическая ссылка не будет решением. Если использование символической ссылки является лучшим решением, какова оптимальная настройка разрешений, чтобы только эти два пользователя могли иметь доступ на запись в файлы конфигурации.
Я использую Linux Mint 17 (производная Ubuntu)
решение1
Сделайте файловый режим 0664
, а затем chgrp
файл группой, содержащей обоих пользователей. Если такой группы нет, вам придется создать ее (с помощью groupadd
), а затем добавить в нее пользователей ( usermod --append --groups
) перед тем, как выходить из системы и входить обратно для каждого пользователя.
решение2
Хотя технически это возможно, необходимо учитывать последствия.
Что если user A
вошел в систему и использует приложение, а затем user B
вошел в систему и начал использовать приложение? Если оба что-то меняют в приложении, что нужно записать в базу данных, какой из них имеет приоритет?
Скорее всего, если приложение не предназначено для этого, оба попытаются записать в базу данных и повредить ее, и вы окажетесь в ситуации, когда никто не сможет получить к ней доступ. Или, в лучшем случае, один из них «победит», а работа другого пользователя будет потеряна.
Итак, суть в том, чтобы проверить, предназначено ли приложение для этого. Если нет, вы рискуете что-то испортить или потерять.