Установка и настройка Samba в Ubuntu
Файловый сервер Samba позволяет передавать файлы между серверами и компьютерами по сети. С его помощью, к примеру, вы можете получить доступ к файлам на сервере со своего рабочего компьютера или ноутбука. Ниже я расскажу, как установить и настроить файловый сервер Samba на Ubuntu.
Если вы только планируете устанавливать ubuntu, то можете воспользоваться моей подробной статьей на этот счет — установка ubuntu server. Так же вам может быть интересен мой обзор и сравнение сервера убунту с другими linux системами — Ubuntu Server — обзор для начинающих, сравнение, отзывы.
Введение
Из статьи вы узнаете:
- Как настроить файловый сервер Samba
- Как передавать файлы по локальной сети
- Ubuntu Server
- Локальная сеть для передачи файлов
Если у вас все готово, то приступаем к настройке.
Установка Samba
Для установки Samba, выполняем в консоли:
После того, как установка будет завершена, проверьте, куда установлена samba:
Вы должны увидеть примерно следующее:
Настройка Samba
Когда Samba установлена, можно приступить к настройке. Нам необходимо создать директорию для сетевой папки.
Команда выше создаст пустую папку, которую мы сделаем сетевой. Для этого настраиваем конфиг Самбы. Он живет по адресу /etc/samba/smb.conf . Отредактируем его и добавим новую сетевую директорию.
Добавляем туда следующие строки:
Нажмите Ctrl-O, чтобы сохранить и Ctrl-X, чтобы выйти из редактора nano.
Что мы настроили:
- path — директория для нашей сетевой папки samba
- read only — указали, что файлы в сетевой папке не только для чтения, а значит могут быть изменены
- browsable — сделали возможным просмотр сетевой папки в сетевом окружении обозревателя файлов в операционных системах
Сетевую папку мы настроили, теперь нужно перезагрузить Samba:
Разрешим работу Samba в фаерволе, если он у вас включен:
Все, на этом настройка Samba закончена. Переходим к проверке работы.
Добавление пользователя сетевого диска
Для того, чтобы получить доступ к сетевой папке Samba, необходимо задать пароль пользователя шары. Он уже должен существовать в системе.
shareuser — системный пользователь, у которого будет доступ к сетевой папке. Если получите ошибку:
Failed to add entry for user shareuser.
Значит у вас нет системного пользователя. Добавьте его следующим образом:
Подключение к сетевому диску
Теперь попробуем зайти на сетевой диск Samba. Для этого в обозревателе файлов перейдите по адресу \\10.20.1.16 , где 10.20.1.16 это ip адрес сервера, на котором мы выполняли настройку samba.
Появится запрос на авторизацию. Укажите имя пользователя и пароль, которые мы задали этапом раньше. Вы окажетесь в сетевой директории. Попробуйте туда скопировать несколько файлов.
Если получите ошибку — Нет доступа к целевой папке, Вам необходимо разрешение на выполнение целевой операции, значит у пользователя shareuser нет unix прав на запись в директорию /mnt/share . Исправляем это:
Попробуйте скопировать еще раз. Теперь должно быть все в порядке.
Все, на этом настройка Samba закончена. Удачной работы и хорошего аптайма!
Видео
Samba на Ubuntu Server в домене Windows
Samba — ПО на Linux для организации общего доступа к файлам в среде Windows. Серверная часть открывает общий доступ к папкам Ubuntu для внешних пользователей. Клиентская часть позволяет получить доступ к сетевым папкам samba.
Есть у меня аппаратный сервер с операционной системой Ubuntu Server 18.04.5 LTS. На сервере имеется большой том, который планируется использовать в качестве файлового хранилища.
IP и DNS
Серверу назначен прямой IP адрес, hostname внесён в DNS сервер. Причём DNS сервер для Linux машин отдельный от доменного, но оба они умеют резолвить адреса друг друга. Подробно на этом не будем останавливаться.
AD аутентификация
В операционной системе уже настроена доменная аутентификация, можно логиниться на сервер под учётной записью Active Directory, права доступа тоже управляются с помощью доменных групп. Аутентификацию на сервере не я настраивал, поэтому описывать процесс подробно не буду. Скажу только, что доменную аутентификацию можно сделать разными способами. Читайте про krb5-user (пакет для протокола Kerberos, который используется для аутентификации в Windows) и/или winbind (позволяет использовать учетную запись пользователя из Active Directory). Я winbind не использую.
NTP
Время должно быть синхронизировано. Если расхождение по времени больше пяти минут, то мы не получим тикет от Kerberos. В общем, аутентификация не заработает. Не буду описывать процесс настройки ntp.
Ссылки
Установка samba
Самба настраивается в файле /etc/samba/smb.conf. Старый файл можно переименовать в smb.conf.bak, чтобы подсматривать параметры по умолчанию:
Указываем глобальные настройки:
- workgroup — NETBIOS ИМЯ ДОМЕНА (или РАБОЧАЯ ГРУППА, если нет домена), в заглавном регистре
- realm — ДОМЕН, в заглавном регистре
- server string — имя сервера, которое будет отображаться в сетевом окружении
- log file — логи
- max log size — размер логов
- log level — уровень логирования
- panic action — действия при краше самбы, по умолчанию отправляет письмо админу
- passdb backend — место хранения паролей
- obey pam restrictions — поддержка PAM аутентификации, непонятно зачем она включена по умолчанию, потому что PAM аутентификация не может использоваться при «encrypt passwords = yes», а encrypt passwords при этом устарел и по умолчанию включен.
- unix password sync — синхронизация паролей пользователей samba с локальными паролями, в AD не работает
- passwd program — программа для синхронизации паролей, в AD не работает
- passwd chat — текст для работы с паролями, в AD не работает
- pam password change — поддержка смены пароля в PAM
- security = ads — поддержка AD, самба ведёт себя как член домена.
- dns proxy — обращаться ли к DNS для определения DNS имени по NETBIOS имени.
- domain master — главный обозреватель домена
- local master — главный обозреватель подсети
- preferred master — предпочтительный обозреватель домена
- load printers — загружать принтеры
- printing — интерпретация статуса принтеров
- show add printer wizard — отображать иконку добавления принтера
- printcap name — определение списка принтеров
- disable spoolss — поддержка SPOOLSS (для принтеров)
- usershare max shares — папки пользователей
- usershare allow guests — папки гостей
- idmap config — настройки сопоставления SID с пользователями и группами POSIX
Давайте расшарим какую-нибудь папку, например, /u01/cron/, создаю её.
Назначаю владельца и группу папки (пользователь и группа доменные!)
Добавляем секцию в /etc/samba/smb.conf:
- [NAME] — имя шары
- path — путь к папке
- valid users — кому можно войти
- read list — кто имеет права на чтение
- write list — кто имеет право на запись
- read only — только чтение
После изменения файла smb.conf не помешает проверить его утилитой testparm:
Добавим сервер в домен:
В случае успеха увидим что-то типа:
У меня надпись немного другая:
Сервер в домен добавился, но не прописался в DNS. В моём случае это нормально, потому как сервер прописан в DNS другой зоны, отличной от доменной. В AD сразу переношу его из папки Computers в нужный мне организационный юнит.
Дадим 10 минут на распространение DNS зон, проверяем:
Настройка общих папок 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»]
Дата обновления статьи: 04.10.2016
[nx_heading style=»centerlined» heading_tag=»h3″ size=»24″ align=»center»]Создание папок для общего доступа и настройка прав доступа[/nx_heading]
По заданию, нам понадобится сделать три папки общего доступа:
- Share — папка с полным общим доступом на чтение и запись всем пользователям сети. Используется как «флешка» между компьютерами сети;
- Read — папка с доступом только на чтение, для пользователей сети. Используется, для распространения файлов в сети, администратором сервера;
- Pasw — папка с доступом по логину и паролю. Для учителей и администратора сервера. Логин входа в сетевую папку — teacher.
Папки создадим в домашней директории home, в отдельной папке sharefolders.
Создаем три папки и устанавливаем разрешения безопасности файловой системы(не разрешения доступа по сети) на «полный доступ» на каждую из них.
Создание папки Share и установка полных прав доступа файловой системы, команды:
Создание папки Read и установка полных прав доступа файловой системы, команды:
Создание папки Pasw и установка полных прав доступа файловой системы, команды:
Ubuntu Server: Окно файлового менеджера Midnight Commander
[nx_heading style=»centerlined» heading_tag=»h3″ size=»24″ align=»center»]Установка и настройка Samba, сетевых папок на чтение и запись “всем”[/nx_heading]
Устанавливаем samba, командой:
Заводим себе хорошую традицию, перед изменением конфигурационных файлов, создавать резервную копию изначального файла конфигурации. Это так же поможет избавиться от не нужных на данный момент «избыточных» параметров конфигурации и комментариев указанных в файле. В последующем, при наборе опыта работы в Ubuntu, вы можете править оригинальный файл конфигурации со всеми возможными параметрами.
Перемещаем с одновременным переименованием файл smb.conf в smb.conf.bac, командой:
Создаем пустой файл конфигурации, командой:
Открываем файл, командой:
И вносим в него следующий текст:
Ubuntu Server: Настройка Samba, изменение файла конфигурации
Подробней о ключах smb.conf (на русском) вы можете узнать с этого сайта.
Правим файл limits.conf, для изменения лимита одновременных подключений (это уберет ошибку rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384), командой:
Добавляем в конец файла строки:
Ubuntu Server: Исправление ошибки rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Проверяем файл конфигурации samba, командой:
Если все записано верно, перезапускаем сервер samba, командой:
Проверяем доступ к сетевым папкам Share и Read с компьютеров локальной сети. Если все сделано верно, обе папки открываются без ввода пароля, папка Share имеет полный доступ, а папка Read, при попытке записать/удалить файл выдает сообщение о недостатке прав.
Самая простая настройка Samba выполнена, переходим к настройке папки с доступом по паролю.
[nx_heading style=»centerlined» heading_tag=»h3″ size=»24″ align=»center»]Настройка сетевой папки с парольным доступом[/nx_heading]
Заведем пользователя teacher в группе пользователей samba, учетная запись которого будет иметь право на полный доступ к сетевой папке Pasw.
Создадим группу пользователей samba — smbuser, командой:
Создадим пользователя teacher в этой группе, командой:
Создадим пароль пользователю:
Задаем пароль на пользователю для samba:
Добавляем в файл конфигурации samba, следующий блок описывающий нашу сетевую папку Pasw:
Проверяем файл конфигурации, командой:
Ubuntu Server: Проверка файла конфигурации samba
Если все записано верно, перезапускаем сервер samba, командой:
После этих манипуляций на сервере gate у нас появляется третья папка Pasw, для доступа к которой запрашивается имя пользователя и пароль, при этом две папки Share и Read все так же доступны любому пользователю.
Задача настройки сетевых папок — выполнена.
[nx_heading style=»centerlined» heading_tag=»h3″ size=»24″ align=»center»]Отключение доступа по SSH пользователя группы samba[/nx_heading]
В предыдущем шаге, мы создали нового пользователя на сервере, который по-умолчанию имеет доступ к серверу посредством SSH, что нам абсолютно не нужно. Запретим доступ пользователю teacher посредством ssh. Откроем файл конфигурации ssh:
Добавим в конец файла строку:
Ubuntu Server: Запрет входа через SSH определенному пользователю
И перезапустим ssh сервер, командой:
На этом «упрощенная» настройка службы Samba и папок общего доступа завершена. Разобраны три примера доступа к сетевым ресурсам, кстати общие ресурсы (папки и принтеры) это не все возможности samba, но о других возможностях Вам расскажет уже поисковик Google.
Папка Share имеет общий полный доступ для всех, если не настроить квоты или не выделить под нее отдельный ограниченный раздел, пользователи могут занять все свободное место на сервере, про это нужно помнить.
На этом данная настройка Samba завершена и доступ к сетевым папкам организован.
[nx_heading style=»coloredline» heading_tag=»h4″ size=»24″ align=»left»]От автора:[/nx_heading]
Если проблема решена, один из способов сказать «Спасибо» автору — здесь.
Если же проблему разрешить не удалось и появились дополнительные вопросы, задать их можно на нашем форуме, в специальном разделе.