Используйте папки общих данных для двух пользователей вместо отдельных

У меня есть 15,04 машин с в основном 2 учетными записями пользователей, администратором и ограниченным пользователем. То, что я хочу, - то, что они оба имеют отдельные корневые каталоги (для системы/параметров настройки приложения и т.д.), но используют те же каталоги данных:

  • Рабочий стол
  • Документы
  • Музыка
  • Изображения
  • Общественность
  • Шаблоны
  • Видео
  • и возможно еще немного, определенные для программы папки данных...

Те каталоги поэтому должны быть за пределами корневого каталога тех двух пользователей, например, быть расположены в /home/shared-data/ или чему-то как этот и оба пользователя нужен полный доступ на них.

Если я перешел через тот каталог и назад вверх в иерархии, я хочу выйти в корневом каталоге того же пользователя, где я запустил, если это возможно. И реальный общий каталог не должен быть публично доступным новыми пользователями, только теми пользователями, которых я конкретно разрешил.

Кроме того, новые файлы и папки, созданные там, должны автоматически быть доступны для обоих пользователей.

Таким образом, что самый легкий путь состоит в том, чтобы переместить все данные от текущих корневых каталогов пользователей до этого внешнего местоположения, затем заменив исходные папки links/mounts/whatever к новому общему каталогу, так, чтобы это было похоже прежде?

2
задан 30 October 2015 в 18:17

1 ответ

Ничего не перемещайте. Просто используйте ссылки. Например, скажите, что Ваш обычный пользователь usera и Ваш второй userb. По-видимому, userb совершенно новая учетная запись и не имеет никаких данных, которые Вы хотите сохранить. Так, удалите рассматриваемые каталоги и воссоздайте их как ссылки, затем настройте правильные полномочия:

  1. Удалите каталоги и воссоздайте как ссылки

    sudo rmdir ~userb/{Desktop,Documents,Music,Pictures,Public,Templates,Videos}
    for i in Desktop Documents Music Pictures Public Templates Videos; do
        sudo -u userb ln -s ~usera/"$i" ~userb
    done
    
  2. Создайте новую группу и добавьте обоих пользователей к этой группе:

    sudo groupadd foo
    sudo usermod -aG foo usera
    sudo usermod -aG foo userb
    
  3. Измените владение группы каталогов, которые Вы хотите совместно использовать этой новой группе:

    chgrp -R foo ~usera/{Desktop,Documents,Music,Pictures,Public,Templates,Videos}
    
  4. Установите полномочия на целевых каталогах к rwx для группы и набора SETGID обдумал каталог так, чтобы новые файлы принадлежали правильной группе.

    chmod -R g+rwxs ~usera/{Desktop,Documents,Music,Pictures,Public,Templates,Videos}
    
  5. Установите настройки Access Control List для установки полномочий для недавно созданных файлов/каталогов:

    setfacl -d -m g:foo:rwx ~usera/{Desktop,Documents,Music,Pictures,Public,Templates,Videos}
    

Именно. Теперь, каталоги в ~/userb ссылки на тех, которые в ~/usera и у обоих пользователей есть доступ для чтения-записи к ним.

1
ответ дан 2 December 2019 в 05:04

Другие вопросы по тегам:

Похожие вопросы: