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

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 05 января 2011

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

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

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

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

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

1 голос
/ 05 января 2011

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

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

...