Узнать пользователей samba linux

Установка и настройка файлового сервера Samba на Ubuntu

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

Подготовка сервера

1. Время

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

apt-get install chrony

Разрешим автозапуск сервиса:

systemctl enable chrony

2. Брандмауэр

По умолчанию, в системах на базе Debian брандмауэр разрешает все соединения. Но если в нашем случае мы используем брандмауэр, необходимо открыть порты:

iptables -I INPUT -p tcp —dport 445 -j ACCEPT

iptables -I INPUT -p udp —dport 137:138 -j ACCEPT

iptables -I INPUT -p tcp —dport 139 -j ACCEPT

* где порт 445 используется для samba, а порты 137, 138 и 139 — для работы NetBIOS (использование имени компьютера для доступа).

apt-get install iptables-persistent

Установка и запуск Samba

Установка выполняется из репозитория одной командой:

apt-get install samba

Разрешаем автостарт сервиса:

systemctl enable smbd

И проверим, что сервис запустился:

systemctl status smbd

Проверяем, что сервер самба позволяет к себе подключиться. Для этого можно с компьютера обратиться к серверу по SMB, например, на компьютере с Windows это можно сделать из проводника, прописав путь к серверу с двух слэшей:

* в данном примере мы подключаемся к серверу Samba с IP-адресом 192.168.1.15.

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

Создание первой шары и предоставление к ней гостевого доступа (анонимного)

Разберем самый простой пример предоставления доступа к папке — анонимный доступ всем пользователям без запроса пароля.

Открываем на редактирование конфигурационный файл samba:

И добавляем настройку для общей папки:

[Общая папка]
comment = Public Folder
path = /data/public
public = yes
writable = yes
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

  • [Общая папка] — имя общей папки, которое увидят пользователи, подключившись к серверу.
  • comment — свой комментарий для удобства.
  • path — путь на сервере, где будут храниться данные.
  • public — для общего доступа. Установите в yes, если хотите, чтобы все могли работать с ресурсом.
  • writable — разрешает запись в сетевую папку.
  • read only — только для чтения. Установите no, если у пользователей должна быть возможность создавать папки и файлы.
  • guest ok — разрешает доступ к папке гостевой учетной записи.
  • create mask, directory mask, force create mode, force directory mode — при создании новой папки или файла назначаются указанные права. В нашем примере права будут полные.

Создаем каталог на сервере и назначим права:

mkdir -p /data/public

chmod 777 /data/public

Применяем настройки samba, перезагрузив сервис:

systemctl restart smbd

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

Доступ к папке по логину и паролю

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

Открываем конфигурационный файл samba:

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

[Папка сотрудников]
comment = Staff Folder
path = /data/staff
public = no
writable = yes
read only = no
guest ok = no
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

* эти настройки, во многом, похожи на те, что использовались в примере выше. Вот основные различия:

  • path = /data/staff — используем новый путь до папки.
  • public = no — запрещаем публичный доступ.
  • guest ok = no — не разрешаем гостевое подключение.

Создаем каталог для новой папки:

Задаем права на созданный каталог:

chmod 777 /data/staff

Создаем пользователя в системе Linux:

* где staff1 — имя пользователя.

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

Теперь создадим пользователя в samba:

smbpasswd -a staff1

systemctl restart smbd

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

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

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

Теперь создадим папку, доступ к которой будут иметь ограниченное количество пользователей.

Открываем конфигурационный файл samba:

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

[Приватная папка]
comment = Private Folder
path = /data/private
public = no
writable = no
read only = yes
guest ok = no
valid users = admin, staff2, staff3, @privateusers
write list = admin, staff2
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
inherit owner = yes

* стоит обратить внимание на следующие настройки:

  • path = /data/private — используем новый путь до папки.
  • writable = no и read only = yes — в данном примере мы разрешим запись в каталог только некоторым пользователям. Поэтому общие настройки, разрешающие запись в папку, должны быть запрещены.
  • valid users — список пользователей, которым разрешено подключаться к каталогу. В данном примере разрешения работают для пользователей admin, staff2 и staff3, а также для всех, кто входим в группу privateusers.
  • write list — список пользователей, которые имеют доступ к папке на чтение и запись. В данном примере мы разрешаем это только для пользователей admin и staff2.
  • inherit owner — опция позволяем включить наследование владельца при создании папок и файлов.

* если мы хотим, чтобы доступ к каталогу был полный у определенных пользователей (без разделения на тех, кто может только читать и тех, кто может также писать в папку), то опцию write list можно не указывать, а опции writable и read only оставить как в примерах выше.

Источник

Linux.yaroslavl.ru

Samba
Пред. Глава 9. Сетевые сервисы След.

Samba

Данный раздел документации предназначен прежде всего для тех, кто только начинает знакомиться с Samba, но между тем уже имеет достаточные знания в области TCP/IP и сетей Microsoft™.

Все, что сказано ниже, относится непосредственно к пакету samba-2.2.3, входящему в состав ALTLinux Master; тем не менее, многое будет справедливо как для предыдущих, так и для последующих версий.

Общие сведения о Samba

Данный продукт представляет собой комплект серверного и клиентского программного обеспечения для осуществления связи UNIX-машин с сетями Microsoft™ и LanManager, которые сами по себе представляют собой подклассы [8] сетей SMB.

Исходно сети SMB были разработаны фирмой IBM™, базировались на протоколе NetBIOS, предназначились прежде всего для сетей Token Ring и были в полной мере реализованы в OS/2 Warp LanServer. Позднее в Windows 95 этот протокол был заменен на NetBEUI (несколько упрощенная версия NetBIOS).

Чуть ранее в OS/2 Warp и NT 3.5 была реализована более удобная для сложных гетерогенных сетей реализация, работающая поверх TCP/IP — “NetBIOS over TCP/IP”. Ввиду явных преимуществ данного подхода он используется и поныне. Когда где-либо в Windows вы организовываете работу с сетевыми разделяемыми ресурсами по TCP/IP, то на самом деле используется “NetBIOS over TCP/IP” (о чем, например, в Win95 в свойствах TCP/IP в закладке NetBIOS есть соответствующая отметка).

Читайте также:  Linux find the time

Samba также использует протокол “NetBIOS over TCP/IP”, что позволяет ей успешно взаимодействовать с такими реализациями SMB, как входящие в OS/2 3-4, Windows 9X-ME, NT3.5-4/2000/XP, UNIX-системами с Samba и, возможно, другими подобными. Менее очевидно то, что Samba не может работать без использования TCP/IP (на NetBIOS и NetBEUI). Об этом не стоит забывать при проектировании сетей.

Итак, для работы в сетях SMB необходимы:

Все это есть в пакетах samba-client, samba-client-cups, samba-common, samba, samba-swat, входящих в состав дистрибутива.

При использовании SMB доступны следующие ресурсы:

прямые пути к дискам;

доменная авторизация и управление.

Первые три пункта поддерживаются Samba в полном обьеме, последний — частично, но это направление стремительно развивается и весьма полно реализовано в Samba 3.0, описанной ниже.

Также доступен весьма объемный комплект документации в пакете samba-doc; большинство ссылок данного раздела будут указывать именно на содержимое этого пакета.

Краткий обзор каталогов и файлов

Все файлы конфигурации и авторизации Samba расположены в каталоге /etc/samba и его подкаталогах. Рассмотрим их несколько подробнее.

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

каталог, содержащий файлы с таблицами перекодировки;

то же, что и /etc/hosts, но предназначен для преобразования IP ⇔ NetBIOS. Как правило содержит только одну запись:

но можно считать удачной идеей [9] заносить туда хосты из других подсетей (когда по ряду причин невозможно надежно провести преобразование IP ⇔ NetBIOS ни широковещательными запросами, ни с использованием WINS) или наоборот — ключевые сервера собственного домена;

ключевой файл для идентификации машины в домене сети Microsoft™. С точки зрения безопасности имеет ту же ценность, что и файлы /etc/tcb/*/shadow — а потому права доступа должны быть root.root 0600;

основной конфигурационный файл Samba. Он нужен не только серверной части, но и всем остальным компонентам этой системы;

аналог /etc/passwd и /etc/tcb/*/shadow — файл пользователей сервера Samba с паролями. С точки зрения безопасности имеет ту же ценность, что и /etc/tcb/*/shadow — а потому права доступа должны быть root.root 0600. Соответствие пользователей Samba и системных производится на основе общего UID; данный файл используется Samba при отсутствии данных о пользователе на PDC или при отсутствии самого PDC;

файл соответствий имен сетевых и локальных пользователей SMB; это удобный метод для организации административных и гостевых входов на сервер. Соответствие пользователей Samba и системных производится на основе символьных имен;

лог-файлы серверной части Samba. Из них log.smbd, log.nmbd, log.winbind — журналы соответствующих процессов, а все прочие — логи взаимодействия сервера с отдельными клиентскими хостами в формате именования по умолчанию log. . При превышении заданного в smb.conf предела производится ротация логов и формируются файлы *.old;

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

файлы (как правило, двоичные базы данных), формируемые в процессе работы различных компонентов Samba. Наиболее примечательны:

текстовые файлы, их названия говорят сами за себя;

базы данных доменных пользователей, формируемых winbind (см. “Использование winbind”). Время от времени их необходимо архивировать: если при апгрейде, “переезде” или переустановке сервера winbind сгенерирует эти файлы с нуля, то соответствия системных и доменных символьных и числовых имен изменятся и права доступа на восстановленные из архива файлы окажутся заведомо перепутанными. Поэтому настоятельно рекомендуется архивировать файлы /var/cache/samba/winbindd*.tdb;

служебные каталоги для администратора сервера.

Список выполняемых файлов Samba можно получить командой:

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

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

сервер преобразования имен и адресов;

сервер импорта пользователей и групп с PDC;

средство конфигурирования Samba с web-интерфейсом;

управляющие скрипты инициализации сервисов.

Следует отметить, что у скрипта /etc/init.d/smb есть два режима рестарта — restart и reload, которые радикально отличаются следующими особенностями:

restart производит полный рестарт процессов smbd и nmbd со сбросом текущих соединений. Как правило, клиенты сами производят автоматический реконнект к ресурсам, однако если в момент рестарта были открыты файлы, то возможны проблемы с клиентскими приложениями (например, MS Office и 1C);

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

интерактивное приложение для просмотра сетевых ресурсов;

/sbin/mount.smb, /sbin/mount.smbfs, /usr/bin/smbumount, /usr/sbin/smbmnt, /usr/bin/smbmount

средства монтирования/размонтирования сетевых файловых систем.

управление пользователями и подключением к домену;

отображение списка пользователей, импортированных winbindd;

проверка синтаксиса конфигурационных файлов;

отображение статуса процессов smbd и nmbd;

программа разрешения имен WINS (аналог nslookup для DNS).

Настройка

В большинстве случаев настройка Samba заключается в редактировании основного конфигурационного файла /etc/samba/smb.conf и управлении пользователями с помощью smbpasswd. Если это непривычно — попробуйте использовать web-интерфейс SWAT (Samba Web Administration Tool); для этого установите пакет samba-swat и откройте URL http://localhost:901/ в браузере.

Обычный сервер

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

Для того, что бы создать такой сервер, необходимо лишь немного подправить стандартный конфигурационный файл smb.conf (подставить требуемые имя рабочей группы и имена ресурсов) и создать учетные записи пользователей, как описано ниже, а также учесть рекомендации по безопасности, изложенные в конце параграфа.

Вот основные записи в smb.conf, которые создадут нам “обычный сервер”.

Ну а теперь надо определить, какие именно каталоги мы предоставим в сеть. Для каждого ресурса существует отдельная секция.

Самый простейший вариант для обычных ресурсов — обычный каталог с именем public [10] :

Подобным образом можно создать различные сетевые ресурсы сервера с различными правами доступа; за более подробной справкой по директивам и их синтаксису обратитесь к справочному руководству.

Поскольку Samba исполняется не в chroot, внутри ресурсов можно использовать любые символические ссылки на расположенные локально и в сети (NFS, SMB, Coda и т.д.) файловые объекты, что очень удобно в плане администрирования системы.

Особые ресурсы — например, домашние каталоги пользователей:

Сервер в составе существующего домена NT

Подключим вновь созданную машину Samba с именем COMP к существующему домену DOM, администратором которого является пользователь Administrator и PDC этого домена реализован на другом компьютере.

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

На машине COMP в /etc/samba/smb.conf необходимо внести следующие изменения:

После чего необходимо остановить Samba-сервер, если он работает, командой service smb stop.

Теперь необходимо послать запрос на PDC с целью авторизации нового члена домена с помощью следующей команды:

и в ответ на запрос ввести пароль пользователя Administrator — тот самый, с которым этот пользователь зарегистрирован в домене.

Если получено сообщение:

все работает; иначе в smb.conf надо написать:

повторить последнюю команду и по подробным логам разбираться, что не так. При таком уровне log level в log.smbd содержится подробный отчет об обмене с PDC. Вполне возможно, что были допущены ошибки в написании имен или ошибочно введен пароль; также возможны какие-либо неполадки на стороне PDC.

Читайте также:  Установить darknet windows 10

С этого момента, когда к Samba обратился пользователь “user123” с паролем “passw”, она:

сначала ищет его в /etc/samba/smbpasswd, если пароль и имя совпадают — пускает, иначе отказывает в авторизации или считает гостем (в зависимости от настройки);

если такого имени в упомянутом файле нет — смотрит в /etc/passwd (проверив соответствия через файл /etc/samba/smbusers) и

если такой пользователь есть — спрашивает PDC, числится ли за пользователем “user123” полученный пароль “passw”;

если это так — пускает, иначе отказывает в авторизации либо переключает на гостевой заход, в соответствии с настройкой.

Обычно при работе в домене на рядовых рабочих станциях /etc/samba/smbpasswd должен быть абсолютно пустым либо содержать только административные учетные записи, с доменом никак не связанные.

Данная логика работы применима только в том случае, если не используется winbind. Для того, чтобы доменные пользователи автоматически оказывались в /etc/passwd при первом же удачном обращении (правильность паролей была подтверждена PDC), в /etc/samba/smb.conf необходимо написать одну строку

соответственно каталоги /home/domain и /etc/skel_domain, а также группа 600 должны уже существовать. Все конкретные имена и опции useradd можно менять в зависимости от конкретных применений.

По директиве add user script, которая активизируется в тех случаях, когда пользователь еще не зарегистрирован на данной машине, можно вызывать не только /usr/sbin/useradd с ключами, но и любые другие программы; если подойти с фантазией, то с помощью данной директивы можно делать очень интересные вещи.

Не стоит забывать и о безопасности — программы, запущенные при помощи add user script, будут выполняться от всемогущего в пределах системы пользователя root, а параметры их вызова частично определяются пользователем, что потенциально опасно!

Теперь можно включить сервер Samba командой: service smb start и работать в домене сети Windows на правах рядового члена домена.

Сервер как PDC домена

Для создания Primary Domain Controller (PDC) необходимо в smb.conf внести/изменить следующие записи

Также необходимо создать ресурсы для работы домена.

Ресурс netlogon необходим для работы PDC и домена в целом. Он просто должен существовать.

Данный ресурс необходим для создания и хранения профайлов пользователей домена:

При создании пользователя домена в /var/lib/samba/profiles автоматически создается каталог с именем, идентичным имени создаваемого пользователя и принадлежащий ему (с правами 0700). В этом каталоге будут храниться личные настройки пользователя.

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

Прежде всего необходимо создать локального пользователя системы с именем, соответствующим NetBIOS-name подключаемой к домену машины. К имени на конце добавляется символ “$”. Для добавления машины с именем machine_name необходимо от имени пользователя root выполнить следующие команды:

Теперь, когда создан пользователь (символ “$” в конце имени означает что это NetBIOS-имя компьютера, а не имя пользователя), можно добавить его в домен, выполнив от имени root команду: smbpasswd -a -m machine_name.

Теперь компьютер подключен к домену.

Работу со созданию машинного акаунта можно переложить на Samba, включив в smb.conf следующую запись:

Теперь Samba будет принимать от клиентских машин запросы на включение в домен и автоматически регистрировать их аналогично NT Server.

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

Учетные записи пользователей

Все учетные записи хранятся в файле /etc/samba/smbpasswd.

Учетные записи пользователей, используемые Samba делятся на две категории:

записи о компьютерах, входящих в домен;

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

Следует учитывать, что для того, что бы создать и использовать любую учетную запись в /etc/samba/smbpasswd, предварительно необходимо создать соответствующую запись в /etc/passwd. Общее правило — для каждого пользователя в /etc/samba/smbpasswd обязательно должен существовать пользователь в /etc/passwd. Обратное утверждение неверно.

Для управления учетными записями предназначена утилита smbpasswd; полный список ее возможностей можно узнать из соответствующей man-страницы, здесь же рассмотрим наиболее частые методы использования.

Создание нового пользователя:

Смена пароля у существующего пользователя:

Удаление существующего пользователя:

Приостановление учетной записи без удаления:

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

Использование winbind

Сервис winbind является новым средством, предназначенным для более полной интеграции Samba в домены Windows; он появился, начиная с Samba 2.2.0. Данный сервис считывает свою конфигурацию из /etc/samba/smb.conf и динамически взаимодействует с PDC домена, автоматически синхронизируя списки пользователей и групп домена и машины Samba. Таким образом, winbind является весьма удобным средством для автоматического поддержания актуальности базы пользователей домена на рабочих станциях Samba.

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

Для того, что бы при рестарте компьютера (или только сервиса winbindd) не нарушались соответствия внутренних UID и доменных SID, он сохраняет текущее состояние списков в файлах /var/cache/samba/winbindd*.tdb.

Для нормального функционирования winbindd в файле /etc/samba/smb.conf обязательно должны быть объявлены следующие директивы:

Также необходимо внести изменения в файле /etc/nsswich.conf в разделы passwd и group, вписав директиву winbind — например, таким образом:

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

По умолчанию Samba сконфигурирована на использование CUPS в качестве спулера печати. Подразумевается, что CUPS уже настроен и запущен. В /etc/samba/smb.conf присутствуют следующие директивы:

Также необходимо создать ресурс [printers]; его создание и назначение директив подробно описано в разделе “Обычный сервер” в части Особые ресурсы.

Особенности локализации клиента и сервера

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

Далее приводятся наборы значений этих директив и системных кодировок, наиболее часто используемых в России, Белорусии и на Украине:

В двух последних случаях 1251U — специальное обозначение внутри Samba для комбинации локально “1251 — удаленно 1125”. В Samba определение удаленной кодировки делается по имени локальной [11] .

Также необходимо проследить, чтобы на тех компьютерах Windows, с которыми предполагается взаимодействие через Samba, были установлены соответствующие системные настройки локализации. В противном случае велика вероятность, что вместо кириллических символов будут отображены знаки “?” либо другие непрошенные символы.

Указанные директивы /etc/samba/smb.conf воздействуют на работу всех компонентов Samba — и серверных, и клиентских. На данный момент поддерживаются кириллические написания имен — файлов, каталогов и ресурсов.

Некоторые вопросы безопасности

Данный раздел относится в основном к серверной части Samba.

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

Например, для того, чтобы ограничить прослушивание локальным хостом и первой сетевой картой, необходимо написать в /etc/samba/smb.conf:

Далее можно ограничить диапазоны адресов, с которых позволительно обращаться к данному серверу. Действие данных директив аналогично воздействию /etc/hosts.allow и /etc/hosts.deny на xinetd и ssh: если IP-адрес хоста не подпадает под разрешающее правило, то соединение не будет установлено вовсе. Для того, что бы ограничить доступ двумя подсетями и локальной системой, дополнительно исключив при этом один хост, можно написать:

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

Читайте также:  Aliexpress приложение для windows

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

Файл переопределений имен пользователей является весьма мощным средством управления пользовательскими акаунтами, однако при неразумном использовании это средство опасно и поэтому по умолчанию отключено. Внимательно ознакомьтесь с содержимым файла /etc/samba/smbusers, прежде чем использовать его.

Обычный клиент

Клиентские функции Samba представлены средствами просмотра сетевого окружения и монтирования файловых систем /usr/bin/smbclient и /usr/bin/smbmount соответственно. Также доступны mount.smb и mount.smbfs, являющиеся символическими ссылками на /usr/bin/smbount.

При запуске эти программы считывают текущую конфигурацию из файла /etc/samba/smb.conf и используют доменные функции в случае, если машина подключена к домену Windows.

Также файловые системы возможно монтировать системной командой mount, указав в качестве типа файловой системы smbfs, и использовать эти записи в /etc/fstab для автоматического монтирования при загрузке системы.

Например, для того что бы смонтировать в каталог /mnt/disk ресурс public с машины SMALLSERVER под именем cooluser, нужно выполнить команду: smbmount //smallserver/public /mnt/disk -o username=cooluser

Регистр написания имен компьютеров, ресурсов и пользователей роли не играет. Для того, что бы получить список Samba-ресурсов данной машины и список машин рабочей группы или домена достаточно выполнить команду: smbclient -L localhost -N

Более подробные сведения можно прочесть в man-страницах по smbclient и smbmount.

В составе дистрибутива поставляются два графических клиентских приложения — LinNeighborhood и gnomba [12] , которые работают поверх утилит smbclient и smbmount.

chadspen/homepage.html можно получить весьма качественное графическое клиентское приложение xSMBrowser.

Клиент в составе существующего домена NT

Подключение происходит аналогично рассмотренному в п. “ Сервер в составе существующего домена NT ”. Далее вся работа происходит точно так же, как описано в предыдущем пункте.

Особенности использования Samba 3.0

Samba 3.0 имеет заметные отличия от более ранних версий; наиболее выдающимися из них являются улучшенная по сравнению с версией 2.2 поддержка Unicode, поддержка гораздо большего количества кодовых страниц, новая утилита администрирования net, призванная заменить smbpasswd.

В поставку входят пакеты samba3-client, samba3-client-cups, samba3-common, samba3, samba3-swat.

Задание кодовых страниц

Для задания кодировок используются следующие новые параметры smb.conf:

где — любая кодировка, поддерживаемая iconv. Список возможных кодировок можно узнать, выполнив команду iconv -list.

Параметры client code page и character set больше не поддерживаются. Параметр unix charset указывает кодировку, в которой будут храниться файлы на диске, в которой заданы параметры в smb.conf. Наконец-то появилась возможность хранить имена файлов в UTF-8!

Параметр dos charset указывает кодировку, в которой Samba будет общаться с клиентами, не поддерживающими Unicode. Все версии Windows, начиная с 95, понимают Unicode — но все же стоит установить dos charset = cp866, что соответствует client code page = 866 в более старых версиях.

Параметр display charset указывает в какой кодировке должны выводить информацию программы, непосредственно обменивающиеся информацией с пользователем, например smbclient, net, wbinfo и другие.

Утилита net

Утилита net призвана заменить smbpasswd и обеспечивает гораздо большие возможности по получению информации о сети и управлению сетью. Формат команд утилиты очень похож на формат одноименной команды Windows NT/2000.

Основные применения команды net:

создание и удаление пользователей: net user

включение машины в домен: net ads join — Active Directory; net rpc join — NT Domain;

получение информации о домене, машине, открытых файлах, сессиях: net info, net ads status, net rpc status;

создание и удаление разделяемых ресурсов на удаленных машинах: net share;

синхронизация времени с windows-сервером: net time

Управление машиной с Samba из Microsoft Management Console

Начиная с версии 2.2, Samba имеет возможность удаленного администрирования из MMC (Microsoft Management Console). Эта возможность полезна, когда Samba является членом NT-домена или AD. Администратор домена может создавать, удалять и изменять сетевые ресурсы на UNIX-машине с запущенной Samba.

Как сконфигурировать Samba для удаленного администрирования? Для управления ресурсами служат параметры /etc/samba/smb.conf:

Параметр указывает скрипт, который будет вызван при попытке создания нового ресурса в MMC. Скрипту передается четыре параметра:

имя конфигурационного файла (например, /etc/samba/smb.conf);

имя создаваемого ресурса;

путь к существующей директории на диске;

Скрипт должен завершаться с кодом 0 в случае успешного создания и ненулевым в случае ошибки.

Параметр указывает скрипт, который будет вызван при попытке изменения существующего ресурса в MMC. Скрипту передается четыре параметра:

имя конфигурационного файла (например, /etc/samba/smb.conf);

имя создаваемого ресурса;

путь к существующей директории на диске;

Скрипт должен завершаться с кодом 0 в случае успешного создания и ненулевым в случае ошибки.

Параметр указывает скрипт, который будет вызван при попытке удаления существующего ресурса в MMC (Stop sharing). Скрипту передается два параметра:

имя конфигурационного файла (например, /etc/samba/smb.conf);

имя создаваемого ресурса;

Скрипт должен завершаться с кодом 0 в случае успешного создания и ненулевым в случае ошибки.

Чтобы скрипты могли изменять конфигурационные файлы Samba, они должны выполняться с правами root. Для этого нужно установить отображение пользователей домена, имеющих право изменять ресурсы, в root. Это можно сделать либо с помощью файла /etc/samba/smbusers, прописав там строку вида

либо с помощью параметра admin users в /etc/samba/smb.conf:

При создании нового ресурса Windows позволяет просматривать дерево директорий. Для этого в /etc/samba/smb.conf нужно задать служебные ресурсы, заканчивающиеся символом “$”, например:

После этого при создании нового ресурса можно будет просматривать и выбирать все директории ниже /drives/c.

Работа в среде Active Directory

Для объединения компьютеров в домены Widows 2000 Server использует схему, отличную от NT-доменов, которая называется Active Directory; эта схема обладает гораздо большей масштабируемостью и позволяет централизованно администрировать машины, входящие в домен. Active Directory базируется на протоколе авторизации Kerberos, при котором имя пользователя и пароль не передаются по сети, а используется механизм так называемых билетов, выдаваемых сервером на определенное время. Получив билет, машина, входящая в домен, может авторизоваться на других машинах домена без участия сервера.

Установка Samba

Samba 3.0, в отличие от более ранних версий Samba, имеет возможность работать в сетях Wndows, работающих в режиме Active Directory (или Windows 2000 native mode). Если требуется эта функциональность, следует установить пакет samba3-3.0 вместо samba-2.2.

Active Directory имеет другую схему именования доменов, компьютеров и пользователей, основанную на DNS. Допустим, существует сеть с именем my.firm.com и компьютерами host1.my.firm.com, host2.my.firm.com, host3.my.firm.com; тогда домен Active Directory будет называться my.firm.com, а пользователи Active Directory будут иметь имена вида user@my.firm.com.

Настройка

/etc/krb5.conf должен содержать по крайней мере следующие строки:

где MY.FIRM.COM — имя домена (или “царства”, в терминологии Kerberos; задается обязательно в верхнем регистре), а your.kerberos.server — имя или IP-адрес KDC (Kerberos Domain Controller), аналог PDC (Primary Domain Controller) в доменах Windows NT — например, server.my.firm.com или 192.168.117.11.

Правильность указания параметров можно проверить, выполнив команду (замените имя пользователя на актуальное — например, administrator@MY.FIRM.COM):

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

Вы также должны убедиться, что возможно получить имя KDC по его IP адресу (так называемый Reverse DNS lookup). Имя KDC должно либо совпадать с NetBIOS-именем компьютера (имя машины в сети Windows без указания домена) либо состоять из NetBIOS-имени и имени домена. Если получить имя KDC по адресу невозможно, вы получите ошибку “local error” при попытке войти в домен.

Если ваш DNS не поддерживает Reverse lookup либо KDC не зарегистрирован в DNS, вы можете указать соответствие IP-адреса и имени в /etc/hosts.

Источник

Оцените статью