Я только начал работать в небольшой компании, у которой есть глобальная общая папка, запускаемая с файлового сервера Ubuntu (Raid 5 и т. Д.), Совместно используемого Samba.
Все рабочие станции (Centos) настроены на fstab для монтирования этого общего ресурса samba в их корневую файловую систему -> /Data/
.
Конфиги клиента fstab:
//10.1.1.3/DATA01 /DATA01 cifs username=username,password=password 0 0
Конфигурация самбы для доли:
[DATA01]
path = /DATA01
writeable = yes
Перед тем, как я начал, босс решил, что у него достаточно разрешений unix и «проблем с несоответствием пользователей», поэтому каждая рабочая станция и сервер имеют одинаковое имя пользователя и группы (текущее имя проекта) - мы назовем это project
. Он также удостоверился, что пользовательский UID на каждой машине был идентичным - я не уверен, насколько это важно на практическом уровне.
Короче говоря, ls -l /Data
приводит к предметам, которые съедают project : project
.
Это то, во что я только что вошел. Моя работа здесь состоит в том, чтобы управлять всем этим, но я добавлю, что я программист Windows по опыту, поэтому мои знания системного администратора Linux скорее теоретические, чем практические (я взял эту работу, чтобы изучить их отрасль, поскольку я пытаюсь сделать карьерный поворот ).
Итак, установка работает до некоторой степени, поскольку Bob
и Mary
может добавлять / редактировать файлы и т. д. в /Data
и никаких ошибок типа «у вас нет разрешения» не происходит, что, я считаю, было главной проблемой Босса. Мне это кажется странным, поскольку безопасность полностью исключена, но она практически работает.
Но это пугает меня, когда project
отделка и project2
начинается. До этого 3 месяца, и я не знаю, как с этим справиться. Я знаю, он скажет "просто chown -R project2:project2 /Data
, измените образ всех машин, чтобы на них был этот пользователь, и двигайтесь дальше ", но я уверен, что есть лучшее решение.
Из этой настройки мне интересно, как я могу управлять уникальными пользователями /Data
не вызывая ошибок типа "у вас нет разрешения"?
Вдобавок мне интересно, есть ли что-то вроде Linux-эквивалента Active Directory, который можно настроить для управления пользователями и группами (для проектов) в компании? Я понятия не имею, как обычно решают эту проблему в мире Linux.
А что еще я должен учитывать?
Извините, если это что-то вроде Linux 101, но я не уверен, как с этим обычно справляются и как это практически реализуется.
Так получилось, что последняя версия Samba действительно может предоставить полную службу контроллера домена Active Directory, однако мне кажется, что ваш начальник просто не хочет иметь дело с какими-либо ограничениями типа учетной записи, поэтому это, вероятно, не сработает. хорошо.
Было бы полезно увидеть раздел в текущей конфигурации Samba, который определяет общий ресурс / Data и параметры монтирования в клиентских системах, чтобы понять, как это работает для вас сейчас.
РЕДАКТИРОВАТЬ: Судя по предоставленной информации, похоже, что все удаленные пользователи сопоставляются с пользователем на сервере. Это означает, что любой может удалить все данные там (случайно или иначе), и это, безусловно, не лучший подход - - но он имеет то преимущество, что он очень прост.
С точки зрения «наилучшей практики», сначала поместите учетные данные для монтирования в файл, доступный для чтения только root, а затем укажите их в монтировании как credentials = filename.
Кроме того, если вы можете организовать, чтобы сервер и клиенты имели одинаковые uid и gid для пользователей, использование параметра setuid гарантирует, что файлы правильно отображаются на общем ресурсе их создателями, и вы можете применить стандартные разрешения группы unix Кто может изменить какой файл.