3

TY заранее за любую помощь я получу по этому вопросу.

Я получил эту неприятную задачу по настройке сервера Ubuntu с samba для файлового сервера.

Чтобы сделать это более сложным, я должен сделать это следующим образом:

4 разные группы пользователей, около 15 пользователей в сети.

Четыре группы должны иметь разный уровень доступа к общим папкам.

FE: группы "высокий", "средний", "низкий" и "гость". У каждой группы должна быть своя собственная папка, названная в честь группы, и доступ к ее собственной папке и папкам, принадлежащим группам уровня LOWER. Группа "high" должна иметь доступ R/W ко всем папкам, "mid" не имеет доступа к папке "hihg", но R/W к папке mid и нижней папке.Низкая группа наследует это таким же образом.Может R/W низкая папка, но нет доступа к средней или высокой папки.

У меня есть свежая установка UBUNTU 12.04.1LTS и некоторые базовые знания Linux.


Любое руководство высоко ценится.

1 ответ1

1

Я собираюсь начать, предполагая, что у вас есть:

  1. Установленная Самба
  2. Иметь файловую структуру уже на месте (папки вашей группы, монтирования и т.д.)
  3. В основном сейчас работают над частью конфигурации.
  4. Поскольку существует 15 пользователей - я предполагаю, что у вас нет активного домена каталога, и он будет управляться вручную на сервере.

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

Теперь вам нужно поработать в файле /etc/samba/smb.conf (для этого потребуются права суперпользователя).

Базовая структура файла smb.conf:

[sharename]
    comment = Whatever comment you want
    path = /path/to/share
    browseable = no   ; I assume...
    read only = no
    writeable = yes   ; Redundant of read only, but whatever
    create mask = 0700
    directory mask = 0700
    valid users = @groupname

Так что для вашей ситуации это будет выглядеть примерно так:

[high]
    comment = The High User group
    path = /srv/high
    browseable = no
    read only = no
    writable = yes
    create mask = 0700
    directory mask = 0700
    valid users = @high
[mid]
    comment = The Mid User Group
    path = /srv/mid
    ... (copy from above)
    valid users = @high @mid
[low]
    comment = The Low User group
    path = /srv/low
    ...
    valid users = @high @mid @low
[guest]
    comment = The Guest User Group
    path = /srv/guest
    .... ; No valid users needed...

[Убедитесь, что у вас есть правильный путь, я бы смонтировал их так, но не уверен, что ваша структура]

Вам нужно добавить группы на свой компьютер:

addgroup {высокий, средний, низкий, гость}

Затем вам нужно, чтобы все пользователи были установлены на вашем сервере (если вы не хотите идти по пути smbusers , который может быть более применим, если вы собираетесь когда-либо масштабироваться):

useradd -m -g users -G high -s /bin/nologin USERNAME

Это добавляет пользователя с именем "USERNAME" к группе "users" и дополнительной группе "high". Затем установить пароль passwd USERNAME . Также устанавливает для своей оболочки значение nologin, чтобы они не могли локально входить на сервер и выполнять команды.

Затем добавьте этого пользователя в SAMBA:

smbpasswd -a USERNAME

Перезапустите Samba, чтобы попробовать это:

Systemd:

service smb restart

В этом:

/etc/init.d/smb reload

В разделе [global] я бы порекомендовал вам включить unix password sync = yes (я думаю, что это уже значение по умолчанию). Таким образом, каким бы ни был их пароль Unix, пароль для общего ресурса.

Чтобы смонтировать из windows, вы должны сделать: \\SERVERNAMEorIP\high из "подключить сетевой диск" в "Моем компьютере".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .