avatar OpenSUSE Настройка файлового сервера SAMBA на OpenSUSE 11.3

Какой дистрибутив выбрать для файлового сревера-личное дело каждого, я этом руководстве я постараюсь рассказать, насколько это легко сделать в OpenSUSE 11.3
Саму установку операционной системы оставлю за рамками этой статьи, ее пример можно прочитать здесь.
Для начала необходимо установить необходимые пакеты, мне не очень нравится текстовый редактор vim, по этому в дополнение к основным пакетам необходимым для работы SAMBA, я добавил текстовый редактор nano:
Перед началом установки необходимо войти в качестве супер-прользователя:

su

вводим пароль пользователя root который мы указали при установке и после этого устанавливаем необходимые пакеты.

yast -i cups-libs samba nano

переходим к редактированию основного конфигурационного файла севера SMABA

nano /etc/samba/smb.conf


В секцию [Global] необходимо добавить следующие строки

security = user
passdb backend = tdbsam


Это позволит пользователям системы, подключаться к нашему файловому серверу.

Теперь необходимо добавить сервер SAMBA в автозапуск системы, ну и запустить сам процесс.

chkconfig --add smb
/etc/init.d/smb start


Создадим необходимые директории

mkdir -p /home/shares/public
chown -R root:users /home/shares/public/
chmod -R ug+rwx,o+rx-w /home/shares/public/


Этим мы создаем директории, которые будут доступны всем пользователям.
Добавим информацию об этом в smb.conf –можно добавить в самый конец конфигурационного файла.

nano /etc/samba/smb.conf


[Public]
  comment = All Users
  path = /home/shares/public
  valid users = @users
  force group = users
  create mask = 0660
  directory mask = 0771
  writable = yes


Если необходимо дать доступ в домашние директории пользователей, то необходимо добавить следующие строки.

[homes]
   comment = Home Directories
   browseable = no
   valid users = %S
   writable = yes
   create mask = 0700
   directory mask = 0700


Сохраняем изменения и выходим

Перезапускаем сервер:
/etc/init.d/smb restart


Добавим нового пользователя с именем testuser:
useradd testuser -m -G users


Создадим для него пароль:
passwd testuser

Вводим пароль для пользователя testuser-2 раза!

Добавляем пользователя testuser в базу SMB:
smbpasswd -a testuser


Создаем, для него, пароль-который, в целях безопасности, должен отличаться от того что мы указали при создании данного пользователя ранее!

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

yast2 

переходим в: Безопасность и пользователи -> Брандмауэр -> Разрешенные службы
добавляем Sabma-server в доверенные службы

В разрешенных службах выбираем Samba-server и выбираем Добавить, затем Далее и Завершить. А затем и Выход и переходим обратно в консоль. После этого можно пробовать подключаться по IP адресу, набрав на клиентской машине \\ip_адрес нашего сервера.
И после ввода логина testuser и пароля( который мы указали при добавлении пользователя в базу SMB) Мы получаем доступ к домашним директориям.
Но тут нас поджидает еще один сюрприз, по умолчанию доступно множество папок через которые можно заходить в папки других пользователей, не очень понятно о чем думали те, кто собирал этот пакет, но они оставили огромную дыру в безопасности, например через папке Users можно зайти в домашний каталог любого пользователя системы.
Нам необходимо сделать так, чтобы пользователь после ввода логина и пароля видел всего 2 папки- Public и папка с его именем и все. Решить это не составляет труда- необходимо закомментировать разделы в файле smb.conf которые отвечают за эти ресурсы, а именно [profiles] [users] [groups] и привести их вид к тому что указан ниже.

#[profiles]
 #      comment = Network Profiles Service
 #       path = %H
 #       read only = No
 #       store dos attributes = Yes
 #       create mask = 0600
 #       directory mask = 0700
#[users]
#       comment = All users
#        path = /home
#        read only = No
#        inherit acls = Yes
#        veto files = /aquota.user/groups/shares/
#[groups]
#        comment = All groups
#        path = /home/groups
#        read only = No
#        inherit acls = Yes


Сохраняем изменения и перезапускаем самбу.
/etc/init.d/smb restart


Теперь если мы попробуем подключиться к нашему файловому серверу, то поле ввода логина и пароля мы должны увидеть 2 папки – Public-которая доступна всем пользователям и папку, которая соответствует имени пользователя с данными которого мы подключились, в нашем случае testuser. На этом можно и закончить, удачи в настройке.

0 комментариев

Есть что добавить? Регистрируйся и оставляй комментарии!