Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Samba. Пример. 30 компов.  (Прочитано 861 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн de-nos

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Samba. Пример. 30 компов.
« : 04 Февраля 2011, 10:19:59 »
Приветствую.
Есть конкретная задача. Реализовать файловый сервер, который бы обслуживал 30 компов. В организации несколько отделов. Сотрудник отдела имеет доступ только к папкам своего отдела (ко всем только на чтение, и к некоторым на запись).
Комп Athlon II X2 250 3GHz, RAM 2Gb, Ubuntu 10.10.
Установил сервер Samba (sudo apt-get install samba).
В /etc/samba/smb.conf установил параметры workgroup и netbios name. На каждый отдел добавил :
[<НазваниеОтдела>]
  path = /mnt/files/<НазваниеОтдела>/
  read only = no
  browseable = yes
  valid users = Пользователь1 Пользователь2 Пользователь3   #Сотрудники данного отдела

Создал для каждого отдела группу:
sudo groupadd <Отдел>

Создал пользователей, выполнив для каждого следующее:
sudo useradd -m -g <Отдел> <Пользоветель>
sudo passwd <Пользоветель>
sudo smbpasswd - a <Пользоветель>
sudo smbpasswd - e <Пользоветель>

Создал каталоги в /mnt/files/<НазваниеОтдела>/<НазваниеПроекта> и назначил им владельцев (Пользователей, которые имеют полный доступ).
Суть такая, что каждый проект ведёт (может редактировать) только один Пользователь, остальные могут только читать.

Всё это работает, но не знаю как сделать следующее:
Нужно, чтобы в каждом проекте существовал каталог, в который могли бы записывать и удалять все сотрудники отдела.
Создал там каталог от рута о назначил ему права 775. Записывать туда могут все, НО удалять непустые каталоги, которые записали другие пользователи НЕ МОГУТ (т.к. права у них 755). Можно попробовать запустить от рута скрипт, который бы менял права в этих каталогах на 775. Собственно вопрос, как можно это решить, помимо скрипта?
Буду рад любым ссылкам и предложениям.

PS. Эти каталоги в проектах нужны для того, чтобы другие сотрудники отдела могли скидывать информацию, относящуюся к проектам, которые они не ведут. А сотрудник, который ведёт этот проект просто проверяет этот каталог и если он не пустой сортирует новую информацию, тем самым освобождая этот каталог.

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Samba. Пример. 30 компов.
« Ответ #1 : 04 Февраля 2011, 10:59:34 »
Цитата: man smb.conf
      directory mask (S)

           This parameter is the octal modes which are used when converting DOS modes to UNIX modes when creating UNIX directories.

           When a directory is created, the necessary permissions are calculated according to the mapping from DOS modes to UNIX permissions, and the
           resulting UNIX mode is then bit-wise ´AND´ed with this parameter. This parameter may be thought of as a bit-wise MASK for the UNIX modes of a
           directory. Any bit not set here will be removed from the modes set on a directory when it is created.

           The default value of this parameter removes the ´group´ and ´other´ write bits from the UNIX mode, allowing only the user who owns the
           directory to modify it.

           Following this Samba will bit-wise ´OR´ the UNIX mode created from this parameter with the value of the force directory mode parameter. This
           parameter is set to 000 by default (i.e. no extra mode bits are added).

           Note that this parameter does not apply to permissions set by Windows NT/2000 ACL editors. If the administrator wishes to enforce a mask on
           access control lists also, they need to set the directory security mask.

           Default: directory mask = 0755

           Example: directory mask = 0775
параметр задается на уровне ресурса (шары)

Оффлайн de-nos

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: Samba. Пример. 30 компов.
« Ответ #2 : 04 Февраля 2011, 11:46:22 »
параметр задается на уровне ресурса (шары)
Для данной задачи нужно, чтобы права 775 были только для некоторых каталогов. Т.е. все проекты (проект - дерево каталогов с файлами) были с правами 755, но в каждом проекте (в корне дерева) был каталог с правами на запись для группы (775).

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Samba. Пример. 30 компов.
« Ответ #3 : 04 Февраля 2011, 11:50:16 »
chmod g+s на каталог попробуй поставить, будет сохраняться группа на всех создаваемых файлах и подкаталогах

Оффлайн de-nos

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: Samba. Пример. 30 компов.
« Ответ #4 : 04 Февраля 2011, 13:02:52 »
chmod g+s на каталог попробуй поставить, будет сохраняться группа на всех создаваемых файлах и подкаталогах
Группа у меня и так только одна на отдел. Хорошо бы если можно было наследовать не только группу, но и пользователя (chmod u+s не наследуется), или можно было бы наследовать права (в данном случае 775).

Как я понимаю, chmod g+u влияет только на запуск приложений (под какой группой будет выполнятся приложение).
« Последнее редактирование: 04 Февраля 2011, 13:17:35 от de-nos »

Оффлайн de-nos

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: Samba. Пример. 30 компов.
« Ответ #5 : 13 Февраля 2011, 12:10:30 »
Получилось решить через расширенные права ACL.

 

Страница сгенерирована за 0.06 секунд. Запросов: 25.