Try   HackMD
tags: МДК02.05 Организация администрирования операционных систем Linux Linux

Лабораторная работа №8. Настройка файлового сервера samba.

Тема: Настройка файлового сервера samba.

Цель работы: Научиться настраивать samba сервер на OC Linux.
Необходимые материалы: Пк с доступом в интернет. Виртуальные машины с Linux Debian и Ubuntu. Виртуальная машина Windows 7 или 10.

Теоретическая часть

Приложение Samba известно тем, что для доступа к файлам использует протокол SMB - протокол работы с файловым серверам от Microsoft. На самом деле сейчас Samba умеет работать не только файловым сервером, но еще и контроллером доменов, совместимым с Microsoft Active Directory с немного урезанными групповыми политиками.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Конфигурационный файл samba находиться в файле /etc/samba/smb.conf.

Конфигурация сервера состоит из нескольких секций. Основная секция [global] и каждая шара будет настроена отдельной секцией, также обозначенной квадратными скобками. К примеру [share1], [share2], [Music], [Video] и т.д.

Параметры секции global:

  • server string = Test Fileserver Samba - Имя сервера. Под этим именем он будет виден в сетевом окружении. Обычно его делают таким же как имя самого сервера, но это необязательно.
  • workgroup = WORKGROUP - В сети windows рабочей группой обозначается идентификатор, общий для всех компьютеров, которые должны видеть друг друга в сетевом окружении. По умолчанию это WORKGROUP.
  • server role = standalone server - этим параметром задаеться роль сервера. В конфигурационном файле задаем роль - обычный файловый сервер.
  • security = user - казываем тип авторизации. Может принимать значения:
    • user - авторизация по логину и паролю
    • domain - авторизация по логину, паролю и домену, если сервер введен в домен.
    • share - анонимная шара. без авторизации совсем.

Параметры сеций "share":

  • [FirstTestShare] - В первую очередь надо определить имя шары. Под этим именем расшаренная папка будет видна из сети. Можно использовать кириллицу, но лучше воздержаться от служебных символов. Не все ОС распознают эти символы правильно.
  • comment = Our First Test Share - Комментарий это подсказка, которая будет высвечиваться если навести на расшаренную папку курсор мышки.
  • path = /opt/FirstTestShare - этот параметр определяет путь к расшариваемой папке в нашей файловой системе. Путь должен быть абсолютным.
  • browseable = yes - Явно указываем, что эта папка должна быть видима. Если поставить no, то она будет скрыта, но по прямому пути будет доступна.
  • writeable = yes - Разрешаем запись в нашу шару.
  • create mask = 0775 - Определяем права, которые будут выдаваться файлам, залитым на шару. Записываются они аналогично тому, как мы это делаем для утилиты chmod.
  • directory mask = 0775 - Определяем права, которые будут выдаваться директориям, созданным или залитым на шару.

Есть также другие параметры информацию о которых вы можете найти в официальной документации.

Практическая часть

  1. Установите samba на Debian server.
apt update 
apt install samba
  1. Создайте директорию в которой будут папки пользователей:
mkdir /var/smb
  1. Создайте пользователей для samba:
groupadd smb
useradd  CLI2
useradd  CLI1
usermod -aG smb CLI1
usermod -aG smb CLI2
  1. Создайте две папки в каталоге /var/smb для пользователкй CLI и CLI2.
  2. Назначьте владельцем директории cli1 пользователя CLI1 и группу smb. Назначьте владельцем директории cli2 пользователя CLI2 и группу smb.
  3. Создаем пароли для пользователей:
smbpasswd -a CLI1
smbpasswd -a SRV1
  1. Откроем файл конфига /etc/samba/smb.conf и изменим следующим образом:
[global] workgroup = WORKGROUP interfaces = ip_адрес/маска ens33 server role = standalone server security = user [smb] path = /var/smb #guest ok = yes valid users = @smb browsable = yes writable = yes create mask = 0775 directory mask = 0775
  1. Проверьте конфиг и перезагрузите samba.
cd /etc/samba
testparm -s
service samba restart #Если samba не сработает используй smbd
  1. Подключение сетевого хранилища в клиенте Windows под пользователем CLI1 (если необходимо создайте виртуальную машину Windows):
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  2. Создайте файл и впишите в него свое имя. Отключите сетевую папку и подключите от пользователя CLI2. Попробуйте изменить файл созданный пользователем CLI1. Если удалось изменить файл сделайте так чтобы это сделать было нельзя.
  3. Подлючите сетевую папку к Ubuntu. Для этого установите пакет:
apt-get install smbclient
  1. Для подключение к сетевому хранилищу используйте команду:
smbclient -U CLI1 \\\\ip_адрес_сервера_samba\\smb 
  1. Для монтирование директории с SAMBA используйте:
mount -t cifs -o user=CLI1 //ip_адрес_сервера_samba/smb /mnt
  1. Проверьте примонтирована ли директория:
df -h
  1. Создайте 2 секцию для сетевого доступа с коментарием при наведение: "15 пункт задания", в качестве имени директории укажите свою фамилию. Создайте пользователя для samba в качестве имени пользователя используйте свое имя. Задайте параметр create mask таким образом, чтобы абсолютные права доступа к файлу были только у пользователя. У группы права только на чтения, а для остальных пользователей запретите любые действия с файлом. Подключите сетевой диск на Windows клиенте. Проверьте работу параметра create mask.

Контрольные вопросы

1. Какими возможностями обладает приложение samba?
2. Какой основной протокол использует samba?
3. Опишите структуру конфигурационного файла.