Samba — первые шаги. Файловый сервер Samba Что такое samba

Основной файл настройки Samba - /etc/samba/smb.conf. Изначальный файл конфигурации имеет значительное количество комментариев для документирования различных директив настройки.

Не все возможные опции включены в файле настроек по умолчанию. Смотрите руководство man smb.conf или Сборник ЧаВо по Samba для уточнения деталей.

1. Сначала измените следующие пары ключ/значение в секции файла /etc/samba/smb.conf:

Workgroup = EXAMPLE ... security = user

Параметр security находится значительно ниже в секции и по умолчанию закомментирован. Также замените EXAMPLE на что-то более соответствующее вашему окружению.

2. Создайте новую секцию в конце файла или раскомментируйте один из примеров для каталога, который нужно настроить на общий доступ:

Comment = Ubuntu File Server Share path = /srv/samba/share browsable = yes guest ok = yes read only = no create mask = 0755

    comment : короткое описание разделяемого ресурса. Используется для вашего удобства.

    path : путь до разделяемого каталога.

    Этот пример использует /srv/samba/sharename поскольку, в соответствии со стандартом иерархии файловых систем (FHS), каталог /srv - это место, где должны находится все данные, относящиеся к данному сайту. Технически разделяемый ресурс Samba может быть размещен в любом месте файловой системы, где позволяют файловые ограничения доступа, но следование стандартам рекомендуется.

    browsable : позволяет клиентам Windows просматривать содержимое разделяемого каталога с помощью проводника Windows.

    guest ok : позволяет клиентам подключаться к разделяемому ресурсу без указания пароля.

    read only : определяет доступность ресурса только на чтение или с привилегиями на запись. Привилегии на запись доступны только при указании no , как показано в данном примере. Если значение yes , то доступ к ресурсу будет только на чтение.

    create mask : определяет какие права доступа будут установлены для создаваемых новых файлов.

3. Теперь, поскольку Samba настроена, требуется создать каталог и установить на него права доступа. Введите в терминале:

Sudo mkdir -p /srv/samba/share sudo chown nobody.nogroup /srv/samba/share/

параметр -p говорит mkdir создать полное дерево каталога, если оно не существует.

4. Наконец, перезапустите сервисы samba для применения новых настроек:

Sudo restart smbd sudo restart nmbd

Теперь вы можете находить Ubuntu файл сервер с помощью клиента Windows и просматривать его разделяемые каталоги. Если ваш клиент не показывает ваши разделяемые ресурсы автоматически, попробуйте обратиться к вашему серверу по его IP адресу, например, \\192.168.1.1, из окна проводника Windows. Для проверки, что все работает, попробуйте создать каталог внутри вашего разделяемого ресурса из Windows.

Для создания дополнительных разделяемых ресурсов создайте новую секцию в /etc/samba/smb.conf и перезапустите Samba. Просто убедитесь, что разделяемый каталог создан и у него корректные права доступа.

Разделяемый ресурс "" и путь /srv/samba/share - это просто примеры. Установите название ресурса и имя каталога в соответствии с вашим окружением. Хорошей идеей является использование в качестве названия ресурса имени его каталога в файловой системе. Другими словами ресурс можно указать как для каталога /srv/samba/qa.

В данной статье речь пойдет о создании беспроводной локальной сети для устройств под управлением различных операционных систем Windows, Linux, Android с помощью Samba.

В наше время практически в каждой квартире есть сеть Wi-Fi, а также имеется большое количество разнообразных устройств (ноутбуки, смартфоны, планшеты, Android TV Box). В связи с этим рано или поздно назревает необходимость объединить все доступные для использования устройства в одну домашнюю сеть, чтобы беспрепятственно получить доступ к всевозможным файлам с любого гаджета.

Собственно об этом и пойдет речь в настоящем опусе. Итак, приступим.

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

Программное обеспечение состоит из двух частей - серверной и клиентской. На одно из устройств, которое по определению будет главным, установим Samba server, на все остальные Samba клиент.

Установка серверной части Samba

В своем случае для серверного устройства я выбрал ноутбук, на котором паралельно установлены Windows 7 и Ubuntu Mate 16.04. Ниже подробно рассмотрим процесс установки и настройки Samba для обеих операционных систем.

Настройка samba server под Linux

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

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

Sudo apt install gadmin-samba

По окончанию установки запускаем Gadmin Samba. Интерфейс приложения не руссифицирован, но разобраться в настройках достаточно просто.


Настроек в программе много, но по большему счету, в нашем случае нас интересует вкладка "users". Переходим в нее и добавляем нового пользователя.


Нажимаем кнопку "New user", в обновившемся окне вводим имя пользователя, придумываем пароль, добавляем в группу (чтобы "не выдумывать велосипед", указываем существующую, а именно "sambausers") и устанавливаем домашнюю директорию для файлов. После этого жмем "Apply".


HD Videobox - новый пользователь

Для применения изменений перезапускаем сервер, кнопка "deactivate" и "activate", соответственно, расположенные в верхнем левом углу окна приложения.


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


Nautilus - изменение прав доступа


Nautilus - разрешение на запись файлов

Настройка samba server под Windows

В случае с Windows все гораздо прозаичней, так как Samba используется в данной операционной системе по умолчанию.

В принципе можно воспользоваться существующей учетной записью или же включить гостевой доступ. Как вариант можно создать еще одну учетную запись, данные которой будут использоваться для сетевого доступа

Для создания новой учетной записи необходимо зайти в "панель управления", выбрать пункт "управление учетных записей пользователей" и создать новый аккаунт с паролем.


Добавление новой учетной записи

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


На последнем этапе необходимо будет установить права для просмотра изменения "расшаренных" папок. Сделать это можно в стандартном проводнике Windows через пункт контекстного меню "свойства", применительно к нужной вам папке.


"Расшаривание" папки


Добавление пользователя и изменение прав папки

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

Установка клиентской части Samba на Android

Для доступа к серверу Samba и, соответственно сетевым дискам, на устройствах под управлением Android рекомендую использовать приложение Root Explorer (ссылка на скачивание полной версии без рекламы в конце статьи).

Samba - программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS. Имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущена под лицензией GPL.
Samba работает на большинстве Unix-подобных систем, таких как GNU/Linux, POSIX-совместимых Solaris и Mac OS X Server, на различных вариантах BSD, в OS/2, Windows. Samba включена практически во все дистрибутивы GNU/Linux, в том числе, конечно, и в Ubuntu.
Установка

Чтобы сделать общую папку в Ubuntu Desktop достаточно щёлкнуть правой кнопкой мыши на папке и выбрать пункт меню «Опубликовать папку». Никаких конфигурационных файлов при этом править не надо. Всё описанное ниже относится только к ручной настройке, например, в случае создания файлового сервера.
Для установки достаточно открыть терминал и ввести:

sudo apt-get install samba

Приложение будет автоматически загружено и установлено.

Настройка

При помощи терминала сделаем резервную копию начального файла конфигурации:

Sudo cp /etc/samba/smb.conf{,.bak}

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

Sudo nano /etc/samba/smb.conf Пример настройки Samba в качестве автономного файлового сервера с авторизацией: ; Глобальные настройки сервера ; General server settings ; Имя компьютера, которое будет отображаться в сетевом окружении netbios name = main-server server string = ; Рабочая группа клиентов workgroup = WORKGROUP announce version = 5.0 socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192 passdb backend = tdbsam security = user null passwords = true ; Файл для альясов имен юзеров username map = /etc/samba/smbusers name resolve order = hosts wins bcast ; wins support устанавливается в yes, если ваш nmbd(8) в Самба является WINS сервером. Не устанавливайте этот параметр в yes если у вас нет нескольких подсетей и вы не хотите чтобы ваш nmbd работал как WINS сервер. Никогда не устанавливайте этот параметр в yes более чем на одной машине в пределах одной подсети. wins support = no ; Поддержка принтеров printing = CUPS printcap name = CUPS ; Логи log file = /var/log/samba/log.%m syslog = 0 syslog only = no ; Настройка привязки к интерфейсам, на каких слушать, если не указано слушает на все интерфейсах; interfaces = lo, eth0 ; bind interfaces only = true ; ; ; path = /var/lib/samba/printers ; browseable = yes ; guest ok = yes ; read only = yes ; write list = root ; create mask = 0664 ; directory mask = 0775 ; ; ; path = /tmp ; printable = yes ; guest ok = yes ; browseable = no ; ; ;path = /media/cdrom ;browseable = yes ;read only = yes ;guest ok = yes ; Шара жесткого диска; Имя шары, видно у клиентов ; Путь к расшариваемому диску path = /media/sda1 ; Можно ли просматривать browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755 ; Привязка к определенному имени пользователя или группе, имена через пробел; force user = user1 user2 ; force group = group1 group2 ; Еще один жесткий диск, по аналогии с тем что выше path = /media/sde1 browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755

Теперь надо разобраться с пользователями.

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

Smbpasswd -a user

Вам будет предложено ввести пароль, пользователь будет добавлен в базу, теперь необходимо включить этого пользователя.

Smbpasswd -e user

Далее создадим псевдоним для имени пользователя user что бы облегчить себе доступ с Windows машины на которой у нас например пользователь с именем Admin, для этого создадим и отредактируем файл /etc/samba/smbusers:

Sudo touch /etc/samba/smbusers sudo gedit /etc/samba/smbusers

Впишите в файл пару строк

# Unix_name = SMB_name1 SMB_name2 user = Admin

На этом настройка закончена, перезапустите Samba.

Файловый сервер Samba для Windows сети

Очень часто Samba используют для создания файлового сервера в Windows сети.

Файловый сервер в составе домена Active Directory

Для того, чтобы создать файловый сервер, интегрированный в домен Active Directory, вам в первую очередь потребуется ввести вашу машину с Ubuntu в домен. Этому посвящена отдельная статья:

Для создания файлового сервера вам не нужно настраивать PAM, достаточно добавить доменных пользователей и группы через Winbind в систему.

После успешного входа в домен вам останется всего лишь настроить расшаренные ресурсы на вашем компьютере.

Тут стоит сразу обратить внимание на одну очень важную вещь: Samba пытается спроецировать права на файлы Windows на права Unix , однако из-за кардинальных различий в механизмах присвоения прав сделать это не всегда возможно. Учтите, что права на файлы всегда и в любом случае контролируются вашей файловой ситемой на компьютере с Ubuntu, самба может лишь подстраиваться под них, но не менять их поведение.

Поэтому по умолчанию на расшаренных ресурсах будут весьма скудные возможности контроля доступа — назначение разных прав для пользователя, группы и всех остальных. Однако это легко исправить, добавив в вашу ФС поддержку POSIX ACL . В этом случае можно будет назначать различные права различным пользователям и группам практически как в Windows.

Поддержка POSIX ACL есть как минимум в ext3/4, для её активирования вам необходимо просто добавить к опциям монтирования нужного раздела параметр acl .

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

Есть и ещё один весьма немаловажный момент: POSIX ACL не поддерживают наследование прав доступа от родительских каталогов, а в Windows эта возможность присутствует. Поэтому в Samba реализован дополнительный механизм сохранения информации о наследовании прав доступа, который использует расширенные атрибуты файловой системы. Поэтому чтобы Samba могла корректно обрабатывать наследование прав кроме acl к опциям монтирования файловой системы необходимо добавлять параметр user_xattr , который как раз и отвечает за включение поддержки расширенных атрибутов.

Например, я всегда использую для организации расшаренных ресурсов отдельные LVM диски и у меня строчки в fstab для них выглядят примерно так:

/dev/mapper/data-profiles /var/data/profiles ext3 defaults,noexec,acl,user_xattr 0 2

Опция noexec нужна потому, что на шарах для Windows 100% не должно быть исполняемых файлов Linux, и лишний раз перестраховаться не помешает.

Для работы с acl на Ubuntu необходимо установить пакет соответствующих утилит:

Sudo aptitude install acl

После чего посмотреть расширенные права (т.е. ACL) на файл или каталог можно будет командой

Getfacl file

А установить командой

Setfacl file

На всякий случай хочу обратить внимание на то, что механизм POSIX ACL не имеет никакого отношения к Samba — это просто надстройка над стандартным механизмом разграничения прав в Linux. Соответственно Samba может его использовать, но не может как-либо изменить или обойти.

Для работы с расширенными атрибутами ФС потребуется очень похожий на acl пакет утилит — attr , поставить который можно командой

Sudo aptitude install attr

Для просмотра расширенных атрибутов можно использовать команду

Getfattr file

А для установки

Setfattr file

Однако тут есть одна небольшая загвоздка. Дело в том, что Samba хранит всю информацию о наследовании в бинарном виде в единственном расширенном атрибуте user.SAMBA_PAI . Поэтому поменять что-то с помощью setfattr вам не удастся, только разве что полностью удалить расширенные атрибуты (иногда такое может потребоваться сделать).

Ну а управлять наследованием прав вам придётся с Windows машины с помощью штатных инструментов этой системы. Либо же с помощью утилиты smbcacls , если вы разберётесь, как ей пользоваться.

Существует так же экспериментальный VFS модуль acl_xattr, который позволяет хранить NT ACL полностью в расширенных атрибутах. К сожалению, документации по нему нет, поэтому что-то вразумительное сказать по его поводу сложно. Ожидается, что в Samba 4 будет полная интегрированная поддержка NT ACL , а пока что можно пользоваться тем, что есть.

Если вам есть что добавить по поводу расширенных атрибутов в Samba и методах работы с ними — обязательно напишите в эту тему на форуме. Буду благодарен за любые ссылки, статьи и комментарии по теме.

Кроме того, расширенные атрибуты файловой системы позволяют включить в Samba полную поддержку файловых атрибутов DOS, таких как скрытый, архивный и пр.

Итак, будем считать что у вас есть в системе каталог, который вы хотите расшарить через Samba (и он находится на диске, подмонтированном с поддержкой acl и user_xattr). Теперь необходимо собственно настроить его расшаривание. Для этого нужно внести соответствующую информацию в файл /etc/samba/smb.conf .

Начнём с общих настроек, которые можно добавить в секцию этого файла (это далеко не все возможные параметры, просто несколько достаточно полезных из них):

# Отключить расшаривание принтеров. Если вы конечно и вправду не хотите их расшаривать. # Для полного отключения нужно указывать все 4 строки, приведённых ниже load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes # Сделать скрытыми при просмотре с Windows файлы со следующими именами hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/ # Использовать для шар с публичным доступом следующего UNIX пользователя в качестве Guest guest account = nobody # Воспринимать как guest незарегистрированных пользователей map to guest = Bad User ## Настройки, использующие расширенные атрибуты файловой системы # Обрабатывать наследования прав с помощью расширенных атрибутов ФС map acl inherit = yes # Использовать расширенные атрибуты ФС для хранения атрибутов DOS store dos attributes = yes # Отключить маппинг DOS атрибутов на UNIX права, включённый по умолчанию # Согласно man smb.conf при использовании расширенных атрибутов эти опции обязаны быть отключены map archive = no map system = no map hidden = no map readonly = no

Теперь настройки непосредственно расшаренного ресурса. У меня он называется profiles , а физически на Ubuntu машине находится по адресу /var/data/profiles :

# Комментарий comment = User Profiles # Путь до папки, которую расшариваем path = /var/data/profiles/ # Пользователи с неограниченными правами доступа к шаре # У меня стоит группа администраторов домена. # Эти пользователи при работе с файлами воспринимаются как локальный root admin users = "@DOMAIN\Администраторы домена" # Скрыть папки, к которым у пользователя нет доступа hide unreadable = yes # Доступ не только на чтение read only = no # Маски для создаваемых файлов - можно задать по желанию #create mask = 0600 #directory mask = 0700 # Отключение блокировок - лучше отключить locking = no

Есть множество других опций — за подробностями стоит обратиться к документации по Samba.

Не забудьте поставить правильного владельца и права доступа на папку, которую вы расшариваете, а то несмотря на любые настройки самбы в неё может быть запрещена запись на уровне прав Linux. Я делаю обычно так:

Sudo chmod ug+rwx /var/data/profiles sudo chown root:"пользователи домена" /var/data/profiles

Обратите внимание, так как ваша Ubuntu машина введена в домен, то вы можете использовать пользователей и группы домена в качестве владельцев файлов прямо в Ubuntu.

Проверьте правильность конфигурации Samba командой

Testparm

После чего перезапустите Samba:

Sudo /etc/init.d/samba restart

Теперь вы можете с любой машины домена получить доступ к расшаренному ресурсу.

Кстати, не забывайте про SGID и Sticky биты для каталогов. Они позволят вам наследовать группу-владельца и запрещать пользователям удаление не своих файлов — это может быть очень удобно для многопользовательских хранилищ. Однако в отличие от редактирования прав из Windows поменять эти биты на папках на расшаренном ресурсе не получится — только вручную непосредственно на Ubuntu компьютере.

Кроме всего прочего Samba позволяет организовывать хранение предыдущих версий файлов, что бывает иногда полезно при создании общих ресурсов с пользовательскими данными.

Автономный файловый сервер

Домен Active Directory есть далеко не у всех. Поэтому часто возникает необходимость организовать на Linux машине автономное файловое хранилище со своей собственной системой авторизации. Это сделать очень просто.

Основной особенностью такой организации файлового хранилища будет то, что вся информация о пользователях будет храниться в базе данных Samba, соответственно добавлять и удалять пользователей на самбу надо будет вручную.

Самое главное — определиться с используемым способом доступа к ресурсу. Для его изменения надо правильно установить значение параметра security в секции файла /etc/samba/smb.conf . Подробней об этом параметре можно почитать или же в официальной документации.

Обычно используется значение share или user .

Автономный файловый сервер без авторизации

Для дома удобно чтобы все видели всех. Это можно сделать если добавить 4 строчки в секцию файла /etc/samba/smb.conf. Некоторые могут уже существовать.

[ global] workgroup = WORKGROUP map to guest = Bad User netbios name = NOTEBOOK security = user

NOTEBOOK — имя компьютера которое будет в сети. Кроме этого надо установить дополнительные программы:

sudo apt-get install samba

Для kubuntu надо еще установить smb4k . После редактирования конфигов надо перезапустить службы. В systemd (начиная с 15.04) перезапуск выглядит так:

sudo systemctl restart smbd.service nmbd.service

Посмотреть «шары» можно через файловый броузер nautilus, konkueror или так:

Smbclient -L 127.0.0.1

. Официальная документация на английском.

Расшаривание папки на ubuntu

Cоздайте папку для обмена файлов.

mkdir ~/ share

Добавьте в конец файла /etc/samba/smb.conf следующие строки, yuraku1504 замените на имя пользователя компьютера с самбой:

[ MyShareWork] comment = Anonymous Samba Share path = / home/ yuraku1504/ share guest ok = yes browsable =yes writable = yes read only = no force user = yuraku1504 force group = yuraku1504

Папка будет открыта для чтения и записи.

Сейчас уже довольно часто в одной локальной сети можно встретить компьютеры под управлением Linux и Windows. Причины такого симбиоза могут быть разными: например, у владельцев интернет-кафе не хватило средств на приобретение лицензионной ОС для всех компьютеров, или системного администратора просто привлекли положительные стороны Linux. Популярность операционных систем от Microsoft во многом определятся клиентским ПО для Windows. Не секрет, что этот сектор программного обеспечения развит очень сильно. Множество фирм приложили к этому серьезные усилия и создали действительно хорошие, а главное, удобные в использовании программы, которые без труда может освоить даже рядовой пользователь. Зато в качестве сервера позиция Windows уже не так однозначна. Сервер под управлением Unix традиционно отличается надежностью, стабильностью в работе, безопасностью и зачастую меньшими требованиями к системным ресурсам. Но в любом случае, просто подключив компьютеры с разными программными платформами в сеть, мы не получим ожидаемого результата. Вся проблема в том, что у этих двух систем используются разные принципы организации сетевых ресурсов, несовместимые между собой.
Так как милости Microsoft ждать не приходится, и Windows вряд ли научится работать с сетевой файловой системой Unix (NFS) стандартными средствами, а программ сторонних производителей, если честно, я не знаю, то наиболее популярным способом является попытка научить Unix «притворяться», будто бы он — Windows NT.

Взаимодействие в сети компьютеров под управлением Windows построено на использовании протокола SMB (Server Message Block) — блоках серверных сообщений. Он обеспечивает выполнение всех необходимых в этих случаях задач по открытию и закрытию, чтению и записи, поиску файлов, созданию и удалению каталогов, постановке задания на печать и удалению его оттуда. Все необходимые для этого действия реализуются в Unix-подобных операционных системах посредством использования пакета SAMBA . Возможности его условно можно разделить на две категории: предоставление ресурсов (под коими понимается доступ к системе принтеров и файлам) для клиентов Windows и доступ к ресурсам клиентов. То есть, компьютер под управлением Linux может выступать как в роли сервера, так и клиента. Для начала рассмотрим вариант SAMBA-сервера.

Что же должен обеспечить SAMBA для нормальной работы в сети Windows-машин? Во-первых, контроль доступа, который может быть реализован либо на уровне ресурсов (share level), когда какому-либо ресурсу в сети назначается пароль и соответствующие правила использования (например, «только для чтения»), при этом имя пользователя не имеет абсолютно никакого значения; либо же более совершенную и гибкую организацию на уровне пользователя, когда для каждого пользователя создается учетная запись, где помимо имени и пароля содержится вся необходимая информация о правах доступа к ресурсу. Прежде чем получить доступ к требуемому ресурсу, каждый пользователь проходит аутентификацию, после чего ему и предоставляются права согласно учетным записям. Во-вторых, необходима эмуляция прав доступа, определяемых файловой системой. Все дело в том, что у рассматриваемых систем права доступа к файлам и каталогам на диске организованы по-разному. В Unix традиционно существует три категории пользователей файлов: владелец (owner) , группа (group) и остальные (other) . Каждому из этих субъектов могут быть предоставлены права на чтение (read) , запись (write) и выполнение (execute) . В Windows NT система доступа несколько гибче, доступ предоставляется нескольким группам или пользователям, причем соответствующие права доступа определяются раздельно для каждого субъекта. Поэтому полноценно эмулировать средствами SAMBA права доступа, заложенные в NTFS, невозможно.

С клиентами, работающими под управлением Windows 9x , дело обстоит иначе. Еще со времен дедушки ДОСа, по причине того, что система однопользовательская и о никаких пользователях и тем более группах и не могло быть речи, для файловой системы FAT определено всего четыре атрибута — только чтение (read only), системный (system), архивный (archive) и скрытый (hidden) . Плюс ко всему в Windows, в отличие от Unix, имеет особое значение расширение файла — те, что предназначены для выполнения, имеют расширения.exe, .com или.bat. При копировании файлов с Unix-машин на компьютеры под управлением Windows атрибуты устанавливаются так:

только для чтения — чтение, запись для владельца;

архивный — выполнение для владельца;

системный — выполнение для группы;

скрытый — выполнение для группы.

Сеть Windows-машин может быть организована как рабочая группа (workgroup), когда компьютеры независимы друг от друга и на каждом имеется своя база паролей и логинов со своей политикой безопасности, а также как домен NT. Вся база для аутентификации пользователей и компьютеров управляется главным контролером домена (PDC, Primary Domain Controler) , т.е. централизовано. Samba позволяет ограничивать доступ на всех этих уровнях и выполняет функции «главного браузера» в контексте рабочей группы или контролера домена.

С общеорганизационными вопросами разобрались. Давайте посмотрим теперь конкретно на реализацию и настройку SAMBA-сервера в Linux. Для работы Samba-сервера необходимо, чтобы были запущены два демона: smbd , обеспечивающий работу службы печати и разделения файлов для клиентов Samba (таких как Windows всех мастей), и nmbd , обеспечивающий работу службы имен NetBIOS (он может использоваться и для запроса других демонов служб имен). Для доступа к клиентам используется протокол TCP/IP . Как правило, Samba устанавливается вместе с дистрибутивом Linux. Как проверить? Просто дайте команду:

$ whereis samba

и вы должны получить что-то вроде этого:

Samba: /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

Если его не окажется в стандартной поставке, то добро пожаловать на ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz или практически на любой сервер с программами для Linux. Пакет прост в установке, поэтому, чтобы не занимать места, будем считать, что он у вас установлен. Теперь давайте проверим, запущен ли демон:

$ ps -aux | grep smbd root 1122 0.0 0.6 4440 380 ? S 16:36 0:00 smbd -D

У меня уже, как видите, запущен. Если у вас нет, а вы хотите, чтобы он запускался при загрузке системы, то в Linux Mandrake, например, отметьте нужный пункт в DrakConf стартовые сервисы или в Red Hat Сontrol-panel Servise Configuration , обычно этого бывает достаточно. Или запускайте вручную: ./etc/rc.d/init.d/smb start. Единственный конфигурационный файл Samba называется smb.conf и обычно находится в каталоге /еtc (хотя в AltLinux, например, он лежит в каталоге /etc/samba). Сервис SAMBA считывает его каждые 60 секунд, поэтому изменения, внесенные в конфигурацию, вступают в силу без перезагрузки, но не распространяются на уже установленные соединения.

Вот за что я люблю Linux, это за то, что конфигурационные файлы являются обычными текстовыми (к тому же хорошо комментированными внутри), и для того чтобы задействовать большинство параметров, достаточно только раскомментировать соответствующую строчку. Файл smb.conf — не исключение. Он состоит из именованных разделов, начинающихся с имени раздела, заключенного в квадратные скобки. Внутри каждого раздела находится ряд параметров в виде key=value. Файл конфигурации содержит четыре специальных раздела: , , и отдельные ресурсы (shares). Как следует из названия, раздел содержит наиболее общие характеристики, которые будут применяться везде, но которые, впрочем, затем можно переопределить в секциях для отдельных ресурсов. Некоторые параметры этого раздела имеют отношение и к настройке клиентской части Samba.

Значения типичных параметров секции global :

Workgroup = имя_группы # название рабочей группы в сети Windows netbios name = имя сервера в сети server string = комментарий, который виден в окне свойств просмотра сети guest ok = yes # разрешение гостевого входа (guest ok = no — гостевой вход запрещен) guest account = nobody # имя, под которым разрешен гостевой вход в систему security = user # Уровень доступа. user — на уровне пользователя, security = share — аутентификация на основе имени и пароля. При хранении базы паролей на другом SMB-сервере используется значения security = server и password server = name_server_NT. В случае, если сервер является членом домена, используется значение security = domain, пароль для доступа указывается в файле, определенном с помощью опции smb passwd file = /path/to/file.

Кроме того, при регистрации могут использоваться шифрованные (encrypted) и незашифрованные (plain-text) пароли . Последние используются в старых Windows (Windows for Workgroups, Windows 95 (OSR2), всех версиях Windows NT 3.x, Windows NT 4 (до Service Pack 3)). Для включения варианта использования шифрованного пароля используется опция encrypt password = yes. Прошу обратить особое внимание на эту опцию. В старых дистрибутивах Linux, которые создавались в эпоху Windows 95 (и с более старой версией Samba) по умолчанию шифрование паролей отключено, а samba до версии 2.0 данного режима вообще не поддерживает (кстати, эта опция и подобные ей — те, что не касаются доступа к конкретным ресурсам — используются и в клиенте).

Для правильного отображения русских имен файлов нужны следующие опции: client code page = 866 и character set = koi8-r. В дистрибутивах с хорошей локализацией, например, производных от Mandrake и русских эта строка уже есть, иногда ее достаточно просто раскоментировать, но в большинстве других ее надо дописать самому.

Опция interfaces = 192.168.0.1/24 указывает, в какой сети (интерфейсе) должна работать программа, если сервер подключен сразу к нескольким сетям. При установке параметра bind interfaces only = yes сервер будет отвечать на запросы только из этих сетей.

hosts allow = 192.168.1. 192.168.2. 127. — определяет клиентов, для которых разрешен доступ к сервису.

В секции global возможно использование различных переменных для более гибкой настройки работы сервера. После установки соединения вместо них подставляются реальные значения. Например, в директиве log file = /var/log/samba/%m.log, параметр %m помогает определить отдельный лог-файл для каждой клиентской машины. Вот наиболее употребительные переменные используемые в секции global:

%a — архитектура ОС на клиентской машине (возможные значения — Win95, Win NT, UNKNOWN и т.д.);

%m — NetBIOS-имя компьютера клиента;

%L — NetBIOS-имя сервера SAMBA;

%v — версия SAMBA;

%I — IP-адрес компьютера клиента;

%T — дата и время;

%u — имя пользователя, работающего с сервисом;

%H — домашняя директория пользователя %u.

Также для более гибкой настройки применяется директива include, использующая приведенные выше переменные. Например: include = /etc/samba/smb.conf.%m — теперь при запросе с компьютера sales при наличии файла /etc/samba/smb.conf.sales конфигурация будет взята из этого файла. Если отдельного файла для какой-то машины не будет, то для работы с ней задействуется общий файл.

Также имеется интересная возможность создания виртуального сервера . Для этого используется параметр netbios aliases:

Netbios aliases = sales accounting admin

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

Include = /etc/samba/smb.conf.%L

В окне обозревателя сети будет видны три сервера: sales , accounting , admin .

Включение параметров preserve case и short preserve case заставляют сервер сохранять всю вводимую информацию с учетом регистра символов (в Windows регистр не имеет значения, во всех Unix — наоборот).

Раздел позволяет пользователям подключаться к своим рабочим каталогам без явного их описания. При запросе клиентом своего каталога //sambaserver/sergej, машина ищет соответствующее описание в файле и если не находит его, то просматривает наличие этого раздела. Если раздел существует, то просматривается файл паролей для поиска рабочего каталога пользователя, направившего запрос, и при нахождении делает его доступным для пользователя.

Типичное описание данного раздела выглядит так:

Comment = Home Directories # комментарий, который виден в окне свойств сети browseable = no # определяет, выводить ли ресурс в списке просмотра. writable = yes # разрешает (no — запрещает) запись в домашнюю директорию create mode = 0750 # права доступа для вновь созданных файлов directory mode = 0775 # тоже, но только для каталогов

После настройки параметров по умолчанию вы можете создать сетевые ресурсы, доступ к которым может получить определенный пользователь или группа пользователей. Создается такой ресурс из уже существующего каталога, для этого в файле пишем:

Comment = Public Stuff path = /home/samba public = yes writable = no printable = no write list = administrator, @sales

Параметр path указывает на каталог, в котором располагается ресурс; параметр public указывает, может ли пользоваться ресурсом гость, а printable — может ли использоваться данный ресурс для печати. Параметр write list позволяет определить пользователей, которым разрешена запись в ресурс независимо от значения writable (в данном примере это пользователь administrator и группа sales). Возможно использование и противоположного списка — read list. Если есть необходимость скрыть некоторые файлы, то в Unix/Linux для этого имя файла должно начинаться с точки (параметр hide dot files, который регулирует отображение скрытых файлов, по умолчанию равен yes ). Кроме того, есть возможность задать шаблоны имен скрытых файлов, для чего используется параметр hide files. Каждый шаблон начинается и заканчивается с символа косой черты (/) и может содержать символы, применяемые в регулярных выражениях. Например: hide files = /*.log/??.tmp/. Такие ухищрения обходятся пользователям Windows всего лишь установкой режима «Показывать скрытые и системные файлы» Проводника. Для уверенного ограничения доступности (возможности удаления) файла (каталога) используйте параметры veto files и delete veto files.

С CD-приводами дело обстоит несколько сложнее. Все дело в том, что в Unix-подобных системах понятие диска отсутствует как таковое, и для того чтобы получить доступ к нужному устройству, оно первоначально должно быть смонтировано в дерево каталогов (# mount -t iso9660 /dev/cdrom /mnt/cdrom), а после использования, чтобы не разрушить файловую систему, обязательно размонтировано (# umount /dev/cdrom), иначе устройство просто не отдаст диск. Если у вас на сервере запущен демон autofs , то проблема решается просто. Для того чтобы устройство, которое не используется в течение некоторого времени, было автоматически размонтировано, установите нужное значение параметра timeout в файле /etc/auto.master. Например:

/mnt/auto/etc/ --timeout=5

(подобная строка уже там есть, ее нужно только раскомментировать). Затем установите параметры для соответствующего устройства в файле /etc/auto.tab:

Cdrom -fstype=auto,ro:/dev/cdrom

После всего этого прописываем в /etc/smb.conf следующие строки, чтобы сделать доступным данный ресурс:

Path = /mnt/cdrom writable = no

Второй вариант состоит в использовании директив preexec и postexec, которые указывают, какие команды необходимо выполнить при обращении к ресурсу и после отсоединения от него (эти параметры можно указать для любого ресурса и даже в секции global, что открывает большие возможности).

Path = /mnt/cdrom read only = yes root preexec = mount /mnt/cdrom # монтировать ресурс имеет право только root root postexec = umount /mnt/cdrom # естественно, эти точки монтирования должны быть описаны в файле /etc/fstab, иначе необходимо указать и остальные данные.

Теперь при обращении к ресурсу автоматически монтируется CD-ROM, а иногда и размонтируется. Вся проблема в том, что решение о закрытии ресурса должен принять сервер — клиенты, как правило, не извещают об этом. Но обычно это происходит оттого, что ресурсом одновременно пользуются сразу несколько пользователей или на одном компьютере оставлен открытый файл на данном ресурсе (Device busy). Поэтому CD-ROM автоматически не размонтируется, единственный же приемлемый способ, чтобы освободить ресурс — посмотреть с помощью утилиты smbstatus номер процесса, использующего данный ресурс, и убить его командой # kill pid_number (или kill -s HUP pid_number).

Установив необходимую конфигурацию, теперь создадим учетные записи пользователей (за исключением гостевого входа с минимальными правами nobody). Для идентификации пользователей SAMBA используется файл /etc/samba/smbpasswd, в котором содержатся имена и зашифрованные пароли пользователей. Так как механизм шифрования в сетях Windows-машин не совместим со стандартными Unix-механизмами, для заполнения файла паролей используется отдельная утилита — smbpasswd .

# useradd -s /bin/false -d /home/samba/sergej -g sales sergej # smbpasswd -a sergej # smbpasswd -е sergej

В этом примере добавляется новый пользователь sergej , принадлежащий группе sales , с фиктивной оболочкой (возможны варианты /sbin/nologin, /dev/null) и домашним каталогом /home/samba/sergej. Затем создаем пароль для пользователя sergej и последним шагом включаем доступ пользователю, т.к. по умолчанию он отключен. Интересный момент, который может порой сбить с толку. Дело в том, что при подключении к SAMBA-серверу компьютера с Windows NT/2000 пользователю предлагается ввести, как и положено, логин и пароль, а если для доступа используется компьютер с ОС Windows 9x/Me, то пользователю предлагается ввести только пароль, а логин формируется автоматически на основе регистрационного имени.

Можно также сопоставить нескольких пользователей Windows одному пользователю Linux/Unix. Для этого создается файл сопоставления /etc/smbusers.map, в котором отдельной строкой задается каждое сопоставление:

Пользователь_ Linux = user_win1 user_win2 user_winN

В секции добавьте строку username map = /etc/smbusers.map. При этом пользователь Windows должен регистрироваться с паролем того пользователя, с которым он сопоставлен.

С помощью SAMBA можно организовать возможность сетевой печати с компьютеров под управлением Windows (если планируется отдельный сервер печати, то для этого бывает достаточно и машины на базе 486-процессора).

Для этого в секции необходимо записать такие строки:

Printcap name = /etc/printcap # файл описания принтеров, подключенных к системе load printers = yes # указывает на необходимость автоматического включения в список сетевых ресурсов printing = lprng # система печати (для Linux может еще использоваться bsd).

Path = /var/spool/samba # указывает на каталог, в который помещаются задания на печать browseable = yes printable = yes read only = yes

После создания файла протестируйте его с помощью утилиты testparm . К сожалению, при помощи данной программы можно обнаружить лишь синтаксические ошибки, а не логические, поэтому нет никакой гарантии, что описанные в файле сервисы будут корректно работать (при тестировании будут выведены все установки, даже те, которые установлены по умолчанию, — поэтому внимательно просмотрите результат). Но если программа не ругается, можете надеяться, что при запуске файл будет загружен без проблем. Корректность работы принтеров, перечисленных в файле /etc/printcap, с сервером SAMBA можно проверить с помощью утилиты testprns . Плюс не забывайте о.log-файлах: при возникновении проблем там иногда можно найти решение.

Теперь немного о хорошем. Конфигурирование Samba — довольно сложная процедура, но с дистрибутивом поставляется инструмент администрирования на основе Web, который называется swat (Samba Web Administration Tool, ). Swat запускается в виде сервиса или с помощью сервера Apache и предназначен для редактирования файла smb.conf, а также для проверки состояния, запуска и остановки демонов Samba, смены паролей пользователей. Чтобы он работал в виде сервиса, в файле /etc/services должна обязательно присутствовать строка swat 901/tcp, а в файле /etc/inetd.conf — swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat (это если используется сетевой демон inetd , как правило в старых дистрибутивах; в современных дистрибутивах используется более защищенный вариант — xinetd ). Для того чтобы использовать при этом swat в каталоге /etc/xinet.d, создайте файл swat такого содержания:

Service swat { disable = no port = 901 socket_type = stream wait = no only_from = 127.0.0.1 # это строка для запуска только с локальной машины user = root server = /usr/sbin/swat log_on_failure += USERID }

Теперь для запуска Swat в окне браузера введите:

Http://localhost:901

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

После всех изменений в файле smb.conf иногда потребуется перезапустить демон:

Smb: /etc/rc.d/init.d/smb restart

Если после всех перечисленных действий так и не удалось организовать доступ к ресурсам SAMBA, то в дальнейшей настройке помогут такие утилиты как ping (для проверки доступности узла в сети), nmblookup (для запроса имен NetBIOS), или на крайний случай tcpdump . И не забывайте про права доступа, ведь назначив для пользователя каталог /gde/to/w/glubine, вы предоставите ему возможность прочитать (право на выполнение) и предыдущие каталоги.

Теперь поговорим об использовании клиента Samba, ведь нам (пользователям Linux) также хочется работать и с сетевыми ресурсами Windows. Для того чтобы узнать, какие ресурсы доступны, необходимо ввести команду /usr/bin/smbclient -L host_name. Программа запросит пароль, в ответ на что в большинстве случаев достаточно нажать Enter. Теперь, чтобы подключится к требуемому ресурсу, введите имя компьютера и требуемый ресурс. Например:

# /usr/bin/smbclient \\Alex\Sound

(здесь мы пробуем подключиться к папке Sound на компьютере Alex). В результате, если команда введена правильно и такой сетевой ресурс существует, вы должны получить приглашение на ввод пароля. Введите его или нажмите Enter, если пароль не нужен для доступа. В ответ вы получите приглашение samba-клиента: smb: >. В дальнейшем работа происходит путем набора команд, с помощью которых можно произвести все необходимые операции по работе с файлами (копирование, создание, перемещение и т.д.). Для получения справки введите smb: > help. Этот режим несколько неудобен, поэтому в большинстве случаев используют модуль smbfs , входящий в состав samba; но в старых дистрибутивах ядро может быть собрано без поддержки smbfs, и тогда его придется пересобрать. Для того чтобы смонтировать необходимый ресурс, наберите что-нибудь вроде этого:

Mount -t smbfs -o username=user,password=123456,iocharset=koi8-r,codepage=866 //alex/sound /mnt/sound.

Если не указать имя пользователя и пароль, то система сама его у вас спросит. Не забывайте, что, просмотрев файл ~HOME/.bash_history, можно по командам, которые вы набирали, узнать пароль. Еще одна тонкость: если программа smbclient правильно отображает файлы с русскими именами, то модуль smbfs иногда не обращает на другую кодировку абсолютно никакого внимания, даже если указать ее явно. Говорят, это можно исправить патчем, но я для своего Red Hat его еще не нашел.

Если вы хотите, чтобы ресурс SMB монтировался автоматически при запуске системы, добавьте в файл /etc/fstab примерно такую строку:

//guest@alex/sound /mnt/alex/sound smbfs rw, noauto 0 0.

В этом примере от имени пользователя guest (если ресурс поддерживает данного пользователя и если данный пользователь имеет доступ только по паролю, то не волнуйтесь: у вас его непременно спросят) сетевой ресурс sound на компьютере alex монтируется в папку /mnt/alex/sound с возможностью записи в данный каталог. Кстати, клиент Samba отлично видит скрытые сетевые ресурсы, т.е. те, у которых сетевое имя заканчивается знаком $.

Как видите, приходится работать с командной строкой, которая у современного пользователя вызывает тихий ужас. И здесь мир OpenSource пошел ему навстречу — создано много утилит, позволяющих работать с Samba-ресурсами более привычным путем, нажимая кнопки в графических оболочках. Самая популярная программа, входящая в дистрибутив Mandrake и производных от него, а также Debian — gnomba . В любом случае ее можно найти на большинстве серверов с ПО для Linux (на ftp://ftp.altlinux.ru/ видел точно). Данная утилита позволяет просмотреть доступные сетевые ресурсы () и при необходимости смонтировать в нужный каталог, при этом возможен вариант монтирования с указанием лог ина и пароля для тех ресурсов, которые этого требуют. Возможен запуск файлового менеджера при монтировании (по умолчанию gmc ), создание каталогов для монтируемых ресурсов, задание опции автоматического сканирования при запуске программы (возможно с использованием протокола SMB по умолчанию) и сканирования по IP-адресам (планируется с использованием WINS-протокола). По невыясненным мною причинам в некоторых дистрибутивах при сканировании с помощью SMB-протокола не выводились сетевые ресурсы, поэтому я всегда использую второй метод, благо он действует безотказно, необходимо лишь задать диапазон IP-адресов для сканирования (если знаете). Для того чтобы отображались правильно русские имена файлов, не забудьте установить шрифты koi8-r во вкладке Опции > Выбор шрифта , а также проверить строки, указывающие кодировку кириллицы в файле smb.conf (см. выше).

Если gnomba может только монтировать и размонтировать ресурсы, то программа xsmbrowser позволяет еще и заходить в них как в папки на локальном компьютере (). Правда, мне пока не удалось заставить эту программу понимать файлы с русскими названиями, но есть и положительные стороны: при работе данной программы все команды по монтированию и различные сетевые запросы выводятся на консоль, что позволяет хорошо разобраться в них. Разработчики KDE тоже постарались: через Preferences > Information доступна утилита Samba Status , отображающая все подключения к/от локального компьютера, одновременно являющаяся удобным средством просмотра.log-файлов. Аналогичную информацию представляет и утилита komba , которую можно найти на http://linux.tucows.com/ ().

Как бы я ни хотел рассказать вам больше, но журнал есть журнал — всего не уместишь. Далее в помощь вам придут вездесущие man и info. Также всю необходимую справочную информацию можно получить из утилиты SWAT, к тому же в Red Hat 7.3 обнаружилась книга Using Samba Robert"a Eckstein"a (язык английский — плохо, совершенно бесплатно — хорошо: /usr/share/swat/using_samba), доступная также из SWAT (). В каталоге /usr/share/doc/samba можно найти дополнительную документацию, FAQ и примеры конфигурационных файлов. В различных форумах можно встретить довольно противоречивые мнения о работе Samba, от крайне отрицательных до полного восторга. Лично я на стороне сторонников этого эмулятора Windows NT, к тому же по результатам тестов при одинаковом оборудовании сервер Samba показывает производительность примерно на 25-30% выше, чем компьютер под управлением системы от Microsoft. Успехов.

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

Samba работает на большинстве Unix-подобных систем, таких как GNU/Linux, POSIX-совместимых Solaris и Mac OS X Server, на различных вариантах BSD, в OS /2, Windows. Samba включена практически во все дистрибутивы GNU/Linux, в том числе, конечно, и в Ubuntu .

Установка

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

Для установки достаточно открыть терминал и ввести:

Sudo apt-get install samba

Приложение будет автоматически загружено и установлено.

Настройка

При помощи терминала сделаем резервную копию начального файла конфигурации:

Sudo cp /etc/samba/smb.conf{,.bak}

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

Sudo nano /etc/samba/smb.conf

Написанное далее вообще говоря всего лишь один конкретный сценарий использования Samba, и в огромном количестве случаев всё настраивается абсолютно не так. Статью необходимо исправить, сделав акцент на возможностях Samba, а не только на применении этой программы в качестве файлохранилища с локальной авторизацией. Пример же с файлохранилищем лучше вынести в отдельную подробную статью.

Пример настройки Samba в качестве автономного файлового сервера с авторизацией:

; Глобальные настройки сервера ; General server settings ; Имя компьютера, которое будет отображаться в сетевом окружении netbios name = main-server server string = ; Рабочая группа клиентов workgroup = WORKGROUP announce version = 5.0 socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192 passdb backend = tdbsam security = user null passwords = true ; Файл для альясов имен юзеров username map = /etc/samba/smbusers name resolve order = hosts wins bcast ; wins support устанавливается в yes, если ваш nmbd(8) в Самба является WINS сервером. Не устанавливайте этот параметр в yes если у вас нет нескольких подсетей и вы не хотите чтобы ваш nmbd работал как WINS сервер. Никогда не устанавливайте этот параметр в yes более чем на одной машине в пределах одной подсети. wins support = no ; Поддержка принтеров printing = CUPS printcap name = CUPS ; Логи log file = /var/log/samba/log.%m syslog = 0 syslog only = no ; Настройка привязки к интерфейсам, на каких слушать, если не указано слушает на все интерфейсах; interfaces = lo, eth0 ; bind interfaces only = true ; ; ; path = /var/lib/samba/printers ; browseable = yes ; guest ok = yes ; read only = yes ; write list = root ; create mask = 0664 ; directory mask = 0775 ; ; ; path = /tmp ; printable = yes ; guest ok = yes ; browseable = no ; ; ;path = /media/cdrom ;browseable = yes ;read only = yes ;guest ok = yes ; Шара жесткого диска; Имя шары, видно у клиентов ; Путь к расшариваемому диску path = /media/sda1 ; Можно ли просматривать browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755 ; Привязка к определенному имени пользователя или группе, имена через пробел; force user = user1 user2 ; force group = group1 group2 ; Еще один жесткий диск, по аналогии с тем что выше path = /media/sde1 browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755

Теперь надо разобраться с пользователями.

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

Smbpasswd -a user

Вам будет предложено ввести пароль, пользователь будет добавлен в базу, теперь необходимо включить этого пользователя.

Smbpasswd -e user

Далее создадим псевдоним для имени пользователя user что бы облегчить себе доступ с Windows машины на которой у нас например пользователь с именем Admin, для этого создадим и отредактируем файл /etc/samba/smbusers:

Sudo touch /etc/samba/smbusers sudo gedit /etc/samba/smbusers

Впишите в файл пару строк

# Unix_name = SMB_name1 SMB_name2 user = Admin

На этом настройка закончена, перезапустите Samba.

Установить самый простой GUI для Samba можно командой:

Sudo apt-get install system-config-samba

Запускается он командой:

Sudo system-config-samba

Все изменения он записывает в конфигурационный файл samba.

Для удалённого администрирования Samba в качестве web-интерфейса для Samba отлично подойдёт