Установка Ubuntu 8.04.1 как Samba Domain Controller с LDAP (OpenLDAP)
Предисловие.
Этот документ представляет собой пошаговое руководство по настройке Ubuntu 8.04.1, как Samba Domain Controller с LDAP (OpenLDAP).
Примечания перед установкой:
* hostname во время установки был установлен в: PDC
* полное доменное имя будет: pdc.matrix.local
* Моя область LDAP: matrix.local
* Все используемые пароли «12345» .
* я не использую TLS или SSL для моего справочника LDAP.
* пароль, который я назначал во время установки: 12345
1. Первоначальная установка
Перед установкой рекомендуется «сделать» root’у пароль:
следующие действия производим от рута
если не установлен ssh-server, то устанавливаем:
также для удобства я устанавливаю Midnight Commander
2: Устанавливаем OpenLDAP
задаем пароль админу:
Admin password: 12345
Confirm password: 12345
Теперь нам нужно сконфигурировать OpenLDAP:
отвечаем на следующие вопросы так:
No # Не выполнять настройку сервера OpenLDAP?
DNS domain name: matrix.local # Доменное имя DNS:
Name of your organization: matrix.local # Название организации:
Admin password: 12345 # Пароль
Confirm password: 12345 # Подтверждение
OK
BDB # Используемые серверы баз данных:
No # Удалять базу данных при вычистке slapd?
Yes # Переместить старую базу данных?
No # Включить протокол LDAPv2?
Если не возникло никаких ошибок переходим к установке Самбы
3: Устанавливаем SAMBA
Устанавливаем необходимые пакеты для Самбы
4: Настраиваем OpenLDAP для использования с SAMBA
Для того чтобы использовать LDAP и SAMBA, и нам необходимо настроить /etc/ldap/slapd.conf
Скопируем файл samba.schema в каталог /etc/ldap/schema/
а так как он запакованный с помошью gzip, распаковываем его
затем редактируем файл: /etc/ldap/slapd.conf
находим и изменяем строку access to attrs
сохраняем файл и рестартуем OpenLDAP
5: Конфигурируем SAMBA
Переходим в каталог Самбы
затем редактируем файл smb.conf
находим и изменяем следующие строки
затем вставляем следующий листинг:
При этом не забыв подставить свои значения в сторках (ldap admin dn и ldap suffix)
закоментируем следующие строки:
#если нужно чтобы каждый пользователь имел свою директорию и мог туда записывать данные, находим и изменяем следующие строки (позже можно будет добавить и/или изменить другие шары)
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = yes
read only = yes
share modes = no
проверяем конфиг самбы на наличине ошибок
если все ОК рестартуем Самбу
Если есть ошибки открываем конфиг и ищем где ошиблись 🙂
Далее задаем пользователю SAMBA «Admin» пароль для LDAP дерева.
6: Настраиваем SMBLDAP-Tools пакет
Открываем директорию examples пакета smbldap-tools
копируем конфигурационные файлы в /etc/smbldap-tools
теперь идем в /etc/smbldap-tools
Получаем SID (идентификатор Безопасности) для нашего домена Samba.
редактируем файл /etc/smbldap-tools/smbldap.conf
# находим строку SID и изменяем ее таким образом:
SID=»S-1-5-21-3547352230-2808561415-2391782970″ # (ВНИМАНИЕ! у вас SID будет отличаться от указанного здесь)
Находим и изменяем в конфиге следующие строки
создаем необходимые каталоги
затем открываем файл /etc/smbldap-tools/smbldap_bind.conf для редактирования
и меняем следующие строки:
так как в этом файле пароли хранятся в открытом виде меняем парметры доступа
Step 7: Populate LDAP using smbldap-tools
Теперь мы должны заполнить наш каталог LDAP
# Выполняем команду, чтобы заполнить каталог.
# введите пароль для root:
# Проверьте, что в каталоге есть информация, выполнив команду:
8: добавляем пользователя в систему LDAP
Настало время для нас, чтобы добавить пользователя LDAP. Мы будем использовать эту учетную запись пользователя для проверки работы LDAP.
# Здесь приведено описание параметров, которые мы использовали.
-a указывает что является пользователем Windows (в противном случае, только Posix)
-m создает домашнюю директорию пользователя
-M задает email пользователя
-c добавляет «Полное Имя» пользователя
# задаем пароль для нового пользователя
9: Конфигурирование сервера для использования аутентификации LDAP.
# Устанавливаем необходимое программное обеспечение:
# Отвечаем на вопросы следующим образом:
Should debconf manage LDAP configuration?: Yes
LDAP server Uniform Resource Identifier: ldapi://127.0.0.1
Distinguished name of the search base: dc=matrix,dc=local
LDAP version to use: 3
Make local root Database admin: Yes
Does the LDAP database require login? No
LDAP account for root: cn=admin,dc=matrix,dc=local
LDAP root account password: 12345
# Редактируем файл /etc/ldap.conf
# Настраиваем конфигурацию следующим образом:
# копируем файл /etc/ldap.conf в /etc/ldap/ldap.conf но перед этим на всякий случай забекапим файл /etc/ldap/ldap.conf
#создаем новый файл /etc/auth-client-config/profile.d/open_ldap
# И добавляем в него следующие строки:
# бекапим файл /etc/nsswitch.conf
# бекапим /etc/pam.d/ files
# Включаем LDAP аутентификацию профиля, выполнив команду:
ну вот вроде и все, если сделали все правильно должно работать.
В Заключение приведу несколько команд которые возможно понадобятся в процессе настройки и дальнейшей работы
# добавление записи workstation в LDAP. Хотя в конфиге самбы мы добавили строку для автоматического добавления компьютера в LDAP, возможно вам понадобится сделать это вручную. Делаем это следующим образом:
добавление пользователя в группу осуществляется следующим образом:
smbldap-usershow username # Просмотр информации о пользователе
smbldap-groupshow Administrators # Просмотр информации о группе
smbldap-userlist # Просмотр списка пользователей:
smbldap-userdel username # удаление пользователя (параметр –r удаляет домашнюю директорию )
smbldap-passwd # Изменение пароля пользователя
smbldap-userinfo # Изменение данных о пользователе (Полное имя, shell, телефоны и др.)
smbldap-groupadd # Добавление группы
smbldap-groupdel # Удаление группы
Материалы использованные в процессе настройки и написании этого манулала:
Источник
Руководство по настройке Samba в Ubuntu
Если появляется необходимость работать с одними и теми же файлами на разных компьютерах под управлением разных операционных систем, программа Samba в этом поможет. Но самостоятельно настроить общие папки не так уж и просто, и для рядового пользователя эта задача, скорее, невыполнима. В этой статье будет рассказано, как настроить Samba в Ubuntu.
Терминал
С помощью «Терминала» в Ubuntu можно сделать все что угодно, соответственно, настроить Samba тоже получится. Для простоты восприятия весь процесс будет разбит на этапы. Ниже будут представлены три варианта настройки папок: с общим доступом (открывать папку сможет любой пользователь без запроса пароля), с доступом только для чтения и с аутентификацией.
Шаг 1: Подготовка Windows
Перед тем как произвести настройку Samba в Ubuntu, надо подготовить операционную систему Windows. Для обеспечения корректной работы необходимо, чтобы все участвующие устройства состояли в одной рабочей группе, которая указана в самой Samba. По умолчанию во всех операционных системах рабочая группа носит название «WORKGROUP». Для определения конкретной группы, используемой в ОС Windows, нужно воспользоваться «Командной строкой».
- Нажмите сочетание клавиш Win+R и во всплывшем окне «Выполнить» введите команду cmd .
В открывшейся «Командной строке» выполните следующую команду:
net config workstation
Имя интересующей вас группы располагается в строке «Домен рабочей станции». Конкретное местоположение вы можете видеть на изображении выше.
Далее, если на компьютере с Ubuntu статический IP, его необходимо прописать в файл «hosts» на Windows. Проще всего это сделать, используя «Командную строку» с правами администратора:
- Проведите поиск по системе с запросом «Командная строка».
В результатах нажмите по «Командной строке» правой кнопкой мыши (ПКМ) и выберите пункт «Запуск от имени администратора».
notepad C:\Windows\System32\drivers\etc\hosts
После этого подготовка Windows может считаться оконченной. Все последующие действия выполняются на компьютере с операционной системой Ubuntu.
Выше был приведен всего один пример открытия «Командной строки» в Windows 7, если по какой-то причине вы не смогли открыть ее или у вас другая версия операционной системы, рекомендуем ознакомиться с подробной инструкцией на нашем сайте.
Шаг 2: Настройка сервера Samba
Настройка Samba — довольно трудоемкий процесс, поэтому внимательно выполняйте каждый пункт инструкции, чтобы в итоге все работало корректно.
- Установите все необходимые пакеты программного обеспечения, которые нужны для корректной работы Samba. Для этого в «Терминале» выполните команду:
sudo apt-get install -y samba python-glade2
Теперь в системе есть все необходимые компоненты для настройки программы. Первым делом рекомендуется сделать резервное копирование конфигурационного файла. Сделать это можно с помощью этой команды:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Теперь, в случае возникновения каких-то трудностей, вы можете вернуть изначальный вид конфигурационного файла «smb.conf», выполнив:
sudo mv /etc/samba/smb.conf.bak /etc/samba/smb.conf
Далее создаем новый файл конфига:
sudo gedit /etc/samba/smb.conf
Примечание: для создания и взаимодействия с файлами в статье используется текстовый редактор Gedit, вы же можете использовать любой другой, прописав в соответствующей части команды его название.
После вышеуказанного действия откроется пустой текстовый документ, в него необходимо скопировать следующие строки, тем самым задав глобальные настройки для сервера Sumba:
[global]
workgroup = WORKGROUPE
netbios name = gate
server string = %h server (Samba, Ubuntu)
dns proxy = yes
log file = /var/log/samba/log.%m
max log size = 1000
map to guest = bad user
usershare allow guests = yes
Сохраните изменения в файле, нажав по соответствующей кнопке.
После этого первостепенная настройка Samba закончена. Если вы хотите разобраться во всех заданных параметрах, то сделать это можно на этом сайте. Чтобы найти интересующий параметр, разверните в левой части список «smb.conf» и отыщите его там, выбрав первую букву имени.
Помимо файла «smb.conf», изменения нужно внести также и в «limits.conf». Для этого:
- Откройте нужный файл в текстовом редакторе:
sudo gedit /etc/security/limits.conf
Перед последней строкой в файле вставьте следующий текст:
* — nofile 16384
root — nofile 16384
По итогу он должен иметь следующий вид:
Это необходимо для избежания ошибки, которая возникает при одновременном подключении нескольких пользователей к локальной сети.
Теперь, чтобы убедиться в корректности введенных параметров, нужно выполнить команду:
sudo testparm /etc/samba/smb.conf
Если в результате вы увидите текст, что приведен на картинке ниже, значит, все вписанные вами данные верны.
Остается перезапустить сервер Samba следующей командой:
sudo /etc/init.d/samba restart
Разобравшись со всеми переменными файла «smb.conf» и внеся изменения в «limits.conf», можно переходить непосредственно к созданию папок
Шаг 3: Создание папки с общим доступом
Как говорилось выше, по ходу статьи мы создадим три папки с разными правами доступа. Сейчас будет продемонстрировано то, как создать общую папку, чтобы ее мог использовать каждый пользователь без аутентификации.
- Для начала создайте саму папку. Сделать это можно в любой директории, в примере же папка будет находиться по пути «/home/sambafolder/», а называться — «share». Вот какую команду нужно выполнить для этого:
sudo mkdir -p /home/sambafolder/share
Теперь измените права доступа папки, чтобы каждый пользователь смог ее открыть и взаимодействовать со вложенными файлами. Делается это следующей командой:
sudo chmod 777 -R /home/sambafolder/share
Обратите внимание: в команде необходимо указать точный путь к созданной ранее папке.
sudo gedit /etc/samba/smb.conf
Теперь в текстовом редакторе, отступив две строки внизу текста, вставьте следующее:
[Share]
comment = Full Share
path = /home/sambafolder/share
guest ok = yes
browsable = yes
writable = yes
read only = no
force user = user
force group = users
Теперь содержимое конфигурационного файла должно выглядеть так:
Чтобы все изменения вступили в силу, нужно перезапустить Samba. Делается это уже известной командой:
sudo service smbd restart
После этого в Windows должна появится созданная общая папка. Чтобы в этом убедиться, выполните в «Командной строке» следующее:
Также открыть ее можно и через Проводник, перейдя в директорию «Сеть», что размещена на боковой панели окна.
Бывает такое, что папки все равно не видно. Скорее всего, причина этому – ошибка при настройке. Поэтому еще раз следует пройтись по всем вышеперечисленным этапам.
Шаг 4: Создание папки с доступом «Только для чтения»
Если вы хотите, чтобы в локальной сети пользователи могли просматривать файлы, но не редактировать их, нужно создавать папку с доступом «Только для чтения». Делается это по аналогии с общей папкой, только в конфигурационном файле задаются другие параметры. Но чтобы не оставалось лишних вопросов, разберем все поэтапно:
- Создайте папку. В примере она будет находиться в той же директории что и «Share», только название будет иметь «Read». Поэтому в «Терминале» вводим:
sudo mkdir -p /home/sambafolder/read
Теперь наделите ее нужными правами, выполнив:
sudo chmod 777 -R /home/sambafolder/read
Откройте конфигурационный файл Samba:
sudo gedit /etc/samba/smb.conf
В конце документа вставьте следующий текст:
[Read]
comment = Only Read
path = /home/sambafolder/read
guest ok = yes
browsable = yes
writable = no
read only = yes
force user = user
force group = users
По итогу в конфигурационном файле должно быть три блока текста:
Теперь перезагрузите сервер Samba, чтобы все внесенные изменения вступили в силу:
sudo service smbd restart
После этого папка с правами «Только для чтения» будет создана, и все пользователи смогут в нее войти, но не смогут каким-либо образом изменять содержащиеся в ней файлы.
Шаг 5: Создание папки с закрытым доступом
Если вы хотите, чтобы сетевую папку пользователи могли открывать, проходя аутентификацию, то действия по ее созданию немного отличаются от вышеприведенных. Сделайте следующее:
- Создайте папку, например, «Pasw»:
sudo mkdir -p /home/sambafolder/pasw
Измените ее права:
sudo chmod 777 -R /home/sambafolder/pasw
Теперь создайте пользователя в группе «samba», который будет наделен всеми правами доступа к сетевой папке. Для это сначала создайте группу «smbuser»:
sudo groupadd smbuser
Добавьте в только что созданную группу пользователя. Его имя можете придумать самостоятельно, в примере будет «teacher»:
sudo useradd -g smbuser teacher
Задайте пароль, который необходимо будет вводить для открытия папки:
sudo smbpasswd -a teacher
Примечание: после выполнения команды вас попросят ввести пароль, а затем повторить его, обратите внимание, что при вводе символы не отображаются.
Осталось лишь ввести все нужные параметры папки в конфигурационный файл Samba. Для этого сначала откройте его:
sudo gedit /etc/samba/smb.conf
А затем скопируйте этот текст:
[Pasw]
comment = Only password
path = /home/sambafolder/pasw
valid users = teacher
read only = no
Важно: если выполняя четвертый пункт этой инструкции, вы создали пользователя с другим именем, то его необходимо ввести в строку «valid users» после символа «=» и пробела.
Текст в конфигурационном файле теперь должен выглядеть так:
Чтобы перестраховаться, проверьте файл, используя команду:
sudo testparm /etc/samba/smb.conf
По итогу вы должны увидеть примерно такое:
Если все в порядке, то перезагрузите сервер:
sudo /etc/init.d/samba restart
System Config Samba
Графический интерфейс (GUI) способен во многом облегчить процесс настройки Samba в Ubuntu. Как минимум, пользователю, который только перешел на Linux, этот способ покажется более понятным.
Шаг 1: Установка
Изначально нужно установить специальную программу в систему, которая обладает интерфейсом и которая необходима для осуществления настройки. Сделать это можно с помощью «Терминала», выполнив команду:
sudo apt install system-config-samba
Если до этого вы не устанавливали все компоненты Samba себе на компьютер, вам нужно будет вместе с ней загрузить и установить еще некоторые пакеты:
sudo apt-get install -y samba samba-common python-glade2 system-config-samba
После того как все необходимое было установлено, можно переходить непосредственно к настройке.
Шаг 2: Запуск
Запустить System Config Samba можно двумя способами: с помощью «Терминала» и через меню Bash.
Способ 1: Терминал
Если вы решили использовать «Терминал», то вам необходимо сделать следующее:
- Нажмите сочетание клавиш Ctrl+Alt+T.
- Введите следующую команду:
sudo system-config-samba
Далее вам потребуется ввести системный пароль, после чего откроется окно программы.
Примечание: во время осуществления настройки Samba с помощью System Config Samba не закрывайте окно «Терминала», так как в этом случае программа закроется, а все внесенные изменения не будут сохранены.
Способ 2: Меню Bash
Второй способ многим покажется проще, так как все операции выполняются в графическом интерфейсе.
- Нажмите на кнопку меню Bash, которая находится в верхнем левом углу рабочего стола.
Введите в открывшемся окне поисковой запрос «Samba».
Нажмите по одноименной программе в разделе «Приложения».
После этого система запросит у вас пароль пользователя. Введите его и программа откроется.
Шаг 3: Добавление пользователей
Перед тем как приступать непосредственно к настройке папок Samba нужно добавить пользователей. Делается это через меню настроек программы.
- Нажмите по пункту «Настройка» на верхней панели.
В меню выберите пункт «Пользователи Samba».
В появившемся окне нажмите «Добавить пользователя».
В выпадающем списке «Имя пользователя Unix» выберите пользователя, которому будет разрешено входить в папку.
Вручную введите имя пользователя Windows.
Введите пароль, а затем повторите его ввод в соответствующем поле.
Таким образом вы можете добавить одного или нескольких пользователей Samba, а в будущем определить их права.
Шаг 4: Настройка сервера
Теперь нужно приступить к настройке сервера Samba. Это действие выполняется на порядок проще в графическом интерфейсе. Вот что нужно сделать:
- В главном окне программы нажмите по пункту «Настройка» на верхней панели.
Из списка выберите строку «Параметры сервера».
В появившемся окне, во вкладке «Основной», введите в строке «Рабочая группа» название группы, все компьютеры которой смогут подключаться к серверу Samba.
Примечание: как было сказано в начале статьи, наименование группы должно совпадать у всех участников. По умолчанию у всех компьютеров одна рабочая группа — «WORKGROUP».
Перейдите на вкладку «Безопасность».
Определите режим аутентификации как «Пользователь».
Выберите из выпадающего списка «Шифровать пароли» интересующий вас вариант.
Выберите гостевую учетную запись.
После этого настройка сервера будет окончена, можно переходить непосредственно к созданию папок Samba.
Шаг 5: Создание папок
Если ранее вы не создавали общедоступные папки, то окно программы будет пустым. Для создания новой папки, вам нужно выполнить следующее:
- Кликните по кнопке с изображением знака плюс.
В открывшемся окне, во вкладке «Основной», нажмите «Обзор».
В файловом менеджере укажите нужную папку для ее расшаривания.
В зависимости от предпочтений, поставьте галочки рядом с «Запись разрешена» (пользователю будет позволено редактировать файлы в общедоступной папке) и «Виден» (на другом ПК добавляемая папка будет видна).
Перейдите во вкладку «Доступ».
На ней есть возможность определить пользователей, которым будет разрешено открывать расшаренную папку. Для этого поставьте отметку рядом с «Предоставить доступ только определенным пользователям». После этого нужно выбрать их из списка.
Если вы собираетесь сделать общедоступную папку, то поставьте переключатель в положение «Предоставить доступ всем».
После этого в главном окне программы будет отображаться только что созданная папка.
При желании вы можете создать еще несколько папок, используя вышеприведенную инструкцию, или же изменить уже созданные, нажав по кнопке «Изменить свойства выбранного каталога».
Как только вы создадите все нужные папки, можете закрывать программу. На этом инструкция по настройке Samba в Ubuntu с помощью программы System Config Samba окончена.
Nautilus
Есть еще один способ настройки Samba в Ubuntu. Он отлично подойдет тем пользователям, которые не хотят устанавливать дополнительное ПО себе на компьютер и которые не любят прибегать к использованию «Терминала». Все настройки будут выполняться в стандартном файловом менеджере Nautilus.
Шаг 1: Установка
Используя Nautilus для настройки Samba, способ установки программы немного отличается. Эту задачу можно выполнить и с помощью «Терминала», как было описано выше, но ниже будет рассмотрен другой метод.
- Откройте Nautilus, нажав по одноименному значку на панели задач или проведя поиск по системе.
В открывшемся окне перейдите на вкладку «Общедоступная папка локальной сети».
Поставьте галочку рядом с «Опубликовать эту папку».
Появится окно, в котором нужно нажать по кнопке «Установить службу», чтобы началась установка Samba в систему.
Появится окно, в котором вы можете ознакомиться с перечнем устанавливаемых пакетов. После ознакомления нажмите кнопку «Установить».
Введите пароль пользователя, чтобы разрешить системе выполнить загрузку и установку.
После этого вам остается дождаться окончания инсталляции программы. Как только это будет выполнено, можно переходить непосредственно к настройке Samba.
Шаг 2: Настройка
Настраивать Samba в Nautilus’е намного проще, чем с помощью «Терминала» или System Config Samba. Все параметры задаются в свойствах каталога. Если вы забыли как их открыть, то выполните три первых пункта предыдущей инструкции.
Чтобы сделать папку общедоступной, следуйте инструкции:
- В окне перейдите во вкладку «Права».
Определите права для владельца, группы и остальных пользователей.
Примечание: если вам нужно ограничить доступ к общедоступной папке, то из списка выберите строку «Нет».
В открывшемся окне по аналогии со вторым пунктом этого списка определите права пользователей для взаимодействия со всеми вложенными в папку файлами.
Нажмите «Изменить», а далее перейдите на вкладку «Общедоступная папка локальной сети».
Отметьте пункт «Опубликовать эту папку».
Введите наименование этой папки.
Примечание: поле «Комментарий» при желании вы можете оставить не заполненным.
После этого можно будет закрывать окно — папка стала общедоступной. Но стоит отметить, что если вы не настраивали сервер Samba, то есть вероятность, что папка не будет отображаться в локальной сети.
Примечание: как настроить сервер Samba рассказано в начале статьи.
Заключение
Подводя итоги, можно сказать, что все вышеперечисленные способы в значительной мере отличаются друг от друга, но все они в равной степени позволяют осуществить настройку Samba в Ubuntu. Так, используя «Терминал», вы можете осуществить гибкую настройку, задавая все необходимые параметры как сервера Samba, так и создаваемых общедоступных папок. Программа System Config Samba точно так же позволяет настроить сервер и папки, но количество задаваемых параметров намного меньше. Основным же плюсом этого способа является наличие графического интерфейса, что в значительной мере облегчит настройку для рядового пользователя. Используя файловый менеджер Nautilus, вам не придется скачивать и устанавливать дополнительное программное обеспечение, но в некоторых случаях необходимо будет вручную проводить настройку сервера Samba, используя все тот же «Терминал».
Источник