поделиться каталогом с разными пользователями на рабочей станции в linux/bsd

Я настраиваю рабочую станцию ​​​​для разработки, на которой раньше была только одна общая учетная запись, чтобы иметь учетную запись для каждого разработчика, который может ее использовать.

Мы часто меняем рабочие станции. Я хотел бы, чтобы определенные каталоги были доступны всем пользователям прозрачным образом.

Я создал каталоги /usr/local/share/workspace и /usr/local/share/rvm, которые имеют символические ссылки на ~/workspace и ~/.rvm.

Подкаталоги/файлы, созданные в каталоге, также должны быть доступны для записи всеми разработчиками по умолчанию (без использования sudo). Я также предпочел бы не устанавливать каталог доступным для записи всем, поскольку ruby ​​выдает мне предупреждение, потому что каталог rvm находится на пути (однако меня не волнуют последствия для безопасности).

Как мне это сделать? Существуют ли какие-либо ресурсы, описывающие передовой опыт?


person Brian Takita    schedule 04.01.2011    source источник


Ответы (2)


Если вы хотите открыть общий доступ к каталогу на одной рабочей станции, поместите всех соответствующих пользователей в группу (см. man addgroup и /etc/group), а затем запустите «chgrp -R yourgroup yourdir» в ваших деревьях каталогов. Чтобы дать права на запись, запустите «chmod -R g+w yourdir».

Если вы хотите поделиться им между разными компьютерами, вы можете использовать NFS. См., например, это HOWTO.

person krakover    schedule 05.01.2011

Я предполагаю, что /usr/local/share/workspace и все содержащиеся в нем файлы/каталоги принадлежат группе, в которой находятся все пользователи. Если это так, то все, что вам нужно сделать, это применить setgid и групповые биты выполнения к каждому каталогу, а также установить группа записывает бит в каждый файл и каталог:

find /usr/local/share/workspace -type d -exec chmod +s {} \;
chmod -R g+wX /usr/local/share/workspace

Бит setgid применительно к каталогам означает, что:

  • Все файлы и каталоги, созданные в каталоге, по умолчанию будут принадлежать группе, принадлежащей владельцу каталога.
  • Все каталоги, созданные в каталоге, также будут иметь установленный бит setgid, так что это действует и для новых каталогов. (Другими словами, этот бит автоматически применяется рекурсивно к новым каталогам.)

Пользователям также потребуется предоставить umask, который разрешает доступ для записи другим членам группы. Так что они должны поставить что-то вроде umask 002 в свой ~/.profile. Если они этого не сделают, то любые созданные ими файлы или каталоги могут быть недоступны для записи другими членами группы.

person cdhowie    schedule 05.01.2011