Настройка общих папок Samba на Ubuntu Server

В седьмой по счету статье по настройке Ubuntu Server  будет продолжена настройка сервера для школы или небольшой организации, в этой части будет произведена настройка Samba, сервиса для создания общих ресурсов и управления доступом к ним.

Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS.
ВикипедиЯ.

[nx_heading style=»underlined» heading_tag=»h3″ size=»28″]Содержание:[/nx_heading]

[nx_list icon=»icon: arrow-circle-right» icon_color=»#ED303C»]

[/nx_list]

Дата обновления статьи: 04.10.2016

[nx_spacer size=»80″]

[nx_heading style=»centerlined» heading_tag=»h3″ size=»24″ align=»center»]Создание папок для общего доступа и настройка прав доступа[/nx_heading]

По заданию, нам понадобится сделать три папки общего доступа:

  1. Share — папка с полным общим доступом на чтение и запись всем пользователям сети. Используется как «флешка» между компьютерами сети;
  2. Read — папка с доступом только на чтение, для пользователей сети.  Используется, для распространения файлов в сети, администратором сервера;
  3. Pasw — папка с доступом по логину и паролю. Для учителей и администратора сервера. Логин входа в сетевую папку — teacher.

Папки создадим в домашней директории home, в отдельной папке sharefolders.

Создаем три папки и устанавливаем разрешения безопасности файловой системы(не разрешения доступа по сети) на «полный доступ» на каждую из них.

Создание папки Share и установка полных прав доступа файловой системы, команды:

sudo mkdir -p /home/sharefolders/share
chmod 777 -R /home/sharefolders/share

Создание папки Read и установка полных прав доступа файловой системы, команды:

sudo mkdir -p /home/sharefolders/read
chmod 777 -R /home/sharefolders/share

Создание папки Pasw и установка полных прав доступа файловой системы, команды:

sudo mkdir -p /home/sharefolders/pasw
chmod 777 -R /home/sharefolders/pasw
Ubuntu Server создание общих папок samba - Mhelp.kz
Ubuntu Server: Окно файлового менеджера Midnight Commander

[nx_spacer size=»80″]

[nx_heading style=»centerlined» heading_tag=»h3″ size=»24″ align=»center»]Установка и настройка Samba, сетевых папок на чтение и запись “всем”[/nx_heading]

Устанавливаем samba, командой:

sudo apt-get install samba

Заводим себе хорошую традицию, перед изменением конфигурационных файлов, создавать резервную копию изначального файла конфигурации. Это так же поможет избавиться от не нужных на данный момент «избыточных» параметров  конфигурации и комментариев указанных в файле. В последующем, при наборе опыта работы в Ubuntu, вы можете править оригинальный файл конфигурации со всеми возможными параметрами.

Перемещаем с одновременным переименованием файл smb.conf  в smb.conf.bac, командой:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bac

Создаем пустой файл конфигурации, командой:

sudo touch /etc/samba/smb.conf

Открываем файл, командой:

sudo nano /etc/samba/smb.conf

И вносим в него следующий текст:

[global]
   workgroup = school.loc
   netbios name = gate
   server string = %h server (Samba, Ubuntu)
   dns proxy = yes
   log file = /var/log/samba/log.%m
   max log size = 1000
   map to guest = bad user
   usershare allow guests = yes

[Share]
   comment = Full Share
   path = /home/sharefolders/share
   guest ok = yes
   browsable =yes
   writable = yes
   read only = no
   force user = user
   force group = users

[Read]
   comment = Only Read
   path = /home/sharefolders/read
   guest ok = yes
   browsable =yes
   writable = no
   read only = yes
   force user = user
   force group = users
Ubuntu Server Samba и общих папок - Mhelp.kz
Ubuntu Server: Настройка Samba, изменение файла конфигурации

Подробней о ключах smb.conf (на русском) вы можете узнать с этого сайта.

Правим файл limits.conf, для изменения лимита одновременных подключений (это уберет ошибку rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384), командой:

sudo nano /etc/security/limits.conf

Добавляем в конец файла строки:

* - nofile 16384
root - nofile 16384
Ubuntu Server исправление ошибки rlimit_max increasing rlimit_max - Mhelp.kz
Ubuntu Server: Исправление ошибки rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)

Проверяем файл конфигурации samba, командой:

sudo testparm /etc/samba/smb.conf

Если все записано верно, перезапускаем сервер samba, командой:

sudo /etc/init.d/samba restart

Проверяем доступ к сетевым папкам Share и Read с компьютеров локальной сети. Если все сделано верно, обе папки открываются без ввода пароля, папка  Share имеет полный доступ, а папка Read, при попытке записать/удалить файл выдает сообщение о недостатке прав.

Самая простая настройка Samba выполнена, переходим к настройке папки с доступом по паролю.

[nx_spacer size=»80″]

[nx_heading style=»centerlined» heading_tag=»h3″ size=»24″ align=»center»]Настройка сетевой папки с парольным доступом[/nx_heading]

Заведем пользователя teacher в группе пользователей samba, учетная запись которого будет иметь право на полный доступ к сетевой папке Pasw.

Создадим группу пользователей samba — smbuser, командой:

sudo groupadd smbuser

Создадим пользователя teacher в этой группе, командой:

sudo useradd -g smbuser teacher

Создадим пароль пользователю:

sudo passwd teacher

Задаем пароль на пользователю для samba:

sudo smbpasswd -a teacher

Добавляем в файл конфигурации samba, следующий блок описывающий нашу сетевую папку Pasw:

[Pasw]
   comment = Only password
   path = /home/sharefolders/pasw
   valid users = teacher
   read only = no

Проверяем файл конфигурации, командой:

sudo testparm /etc/samba/smb.conf
Ubuntu Server проверка файла конфигурации samba - Mhelp.kz
Ubuntu Server: Проверка файла конфигурации samba

Если все записано верно, перезапускаем сервер samba, командой:

sudo /etc/init.d/samba restart

После этих манипуляций на сервере gate у нас появляется третья папка Pasw, для доступа к которой запрашивается имя пользователя и пароль, при этом две папки Share и Read все так же доступны любому пользователю.

Задача настройки сетевых папок — выполнена.

[nx_spacer size=»80″]

[nx_heading style=»centerlined» heading_tag=»h3″ size=»24″ align=»center»]Отключение доступа по SSH пользователя группы samba[/nx_heading]

В предыдущем шаге, мы создали нового пользователя на сервере, который по-умолчанию имеет доступ к серверу посредством SSH, что нам абсолютно не нужно. Запретим доступ пользователю teacher посредством ssh. Откроем файл конфигурации ssh:

sudo nano /etc/ssh/sshd_config

Добавим в конец файла строку:

DenyUsers teacher
Ubuntu Server запрет входа через SSH определенному пользователю - Mhelp.kz
Ubuntu Server: Запрет входа через SSH определенному пользователю

И перезапустим ssh сервер, командой:

sudo service ssh restart

На этом «упрощенная» настройка службы Samba и папок общего доступа завершена. Разобраны три примера доступа к сетевым ресурсам, кстати общие ресурсы (папки и принтеры) это не все возможности samba, но о других возможностях Вам расскажет уже поисковик Google.

Папка Share имеет общий полный доступ для всех, если не настроить квоты или не выделить под нее отдельный ограниченный раздел, пользователи могут занять все свободное место на сервере, про это нужно помнить.

На этом данная настройка Samba завершена и доступ к сетевым папкам организован.

 

[nx_heading style=»coloredline» heading_tag=»h4″ size=»24″ align=»left»]От автора:[/nx_heading]

Если проблема решена, один из способов сказать «Спасибо» автору — здесь.

Если же проблему разрешить не удалось и появились дополнительные вопросы, задать их можно на нашем форуме, в специальном разделе.

[nx_box title=»Поделиться этой статьей» style=»glass» box_color=»#ED303C»]Если данная статья вам помогла и вы хотели бы в ответ помочь проекту Mhelp.kz, поделитесь этой статьей с другими:

[/nx_box]
Настройка Samba в Ubuntu Server - Mhelp.kz