ВНИМАНИЕ:
В инструкции приведены команды для четырех операционных систем: REDOS 8REDOS 7ASTRAALT
Для шагов с отличающимися в зависимости от ОС действиями указаны команды для всех трех ОС. Необходимо выполнять команды только для используемой вами ОС.
Для интеграции Samba с Avanpost DS требуется подготовить один введенный в домен хост для сервера Samba и как минимум одну введенную в домен рабочую станцию для клиента Samba на одной из поддерживаемых ОС согласно инструкции по введению в домен рабочих станций.
Сначала требуется настроить сервер, затем можно переходить к настройке клиентов Samba.
- 1. Настройка сервера Samba
- Шаг 1.1. Отключить SElinux и Firewall (Только для ОС RedOS и Alt) .
- Шаг 1.2. Установить необходимые пакеты.
- Шаг 1.3. Установить часовой пояс.
- Шаг 1.4. Ввести Samba-сервер в домен Avanpost DS.
- Шаг 1.5. Создать службу "cifs" в веб-интерфейсе администратора Avanpost DS и экспортировать ее keytab-файл.
- Шаг 1.6. Загрузить keytab-файл службы "cifs" на Samba-сервер.
- Шаг 1.7. Создать директорию, к которой будет предоставлен доступ Samba-сервером.
- Шаг 1.8. Изменить владельца созданной на шаге 1.7. директории.
- Шаг 1.9. Заполнить конфигурационный файл "/etc/samba/smb.conf".
- Шаг 1.10. Указать SID домена для Samba-winbind.
- Шаг 1.11. Перезапустить сервисы Samba и Samba-winbind и добавить их в автозапуск.
- 2. Настройка клиента Samba
- Шаг 2.1. Установить необходимые пакеты.
- Шаг 2.2. Установить часовой пояс.
- Шаг 2.3. Ввести Samba-клиент в домен DS.
- Шаг 2.4. Авторизоваться под доменным пользователем Avanpost DS с правами администратора.
- Шаг 2.5. Проверить доступность папки на Samba-сервере.
- Шаг 2.6. Авторизоваться под локальным пользователем, состоящим в группе sudoers.
- Шаг 2.7. Создать директорию для монтирования.
- Шаг 2.8. Выполнить монтирование.
ВАЖНО: Для корректной работы Samba необходимо соблюдение условий:
- Системное время на контроллере домена Avanpost DS, Samba сервере, и рабочих станциях в домене должно быть синхронизировано. Команда для проверки текущего времени
date
- В веб-интерфейсе Avanpost DS должны быть созданы PTR записи для всех контроллеров в домене.Команда для проверки PTR записей
dig -x [IP контроллера домена, на котором настроены PDNS и PDNS-RECURSOR] dig -x 192.168.1.11
Подробнее о PTR записях см. статью "6.8. Управление DNS" руководства по администрированию.
1. Настройка сервера Samba
Для настройки сервера Samba необходимо подключиться к хосту по SSH и выполнить шаги:
Шаг 1.1. Отключить SElinux и Firewall (Только для ОС RedOS и Alt) .
Для этого необходимо выполнить команды:
| RedOS 8 | sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config sudo systemctl disable --now firewalld | |
| RedOS 7 | sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config sudo systemctl disable --now iptables | |
| Astra | НЕ выполняем данный шаг на Astra | |
| Alt | sudo systemctl disable --now iptables | |
Шаг 1.2. Установить необходимые пакеты.
Для этого необходимо выполнить команды:
| RedOS 8 | sudo dnf install -y sssd-tools samba samba-client samba-common chrony authselect-compat sssd samba-winbind sudo systemctl enable --now chronyd.service |
| RedOS 7 | |
| Astra | sudo apt install sssd-tools samba smbclient samba-common chrony sssd ssh samba-winbind |
| Alt | sudo apt-get install -y sssd-tools samba samba-client samba-common chrony sssd samba-winbind sudo systemctl enable --now chronyd.service |
Шаг 1.3. Установить часовой пояс.
Для этого необходимо выполнить команду:
sudo timedatectl set-timezone Europe/Moscow
Шаг 1.4. Ввести Samba-сервер в домен Avanpost DS.
Подробная инструкция по вводу хостов в домен представлена в разделе: "6.7. Введение в домен рабочих станций".
Шаг 1.5. Создать службу "cifs" в веб-интерфейсе администратора Avanpost DS и экспортировать ее keytab-файл.
Для этого необходимо в разделе "Рабочие станции" веб-интерфейса администратора Avanpost DS открыть карточку Samba-сервера, перейти на вкладку "Службы", ввести имя новой службы "cifs" и нажать кнопку "Создать".
Затем в строке службы "cifs" нажать на символ ключа ( ). Начнется загрузка keytab-файла для сервиса "cifs".
Шаг 1.6. Загрузить keytab-файл службы "cifs" на Samba-сервер.
Скаченный на шаге 1.5. keytab-файл скопировать на Samba-сервер в директорию "/etc/samba/" с помощью SFTP клиента.
Шаг 1.7. Создать директорию, к которой будет предоставлен доступ Samba-сервером.
Для этого необходимо выполнить команду, подставив в шаблон путь до необходимой директории:
sudo mkdir [путь до директории]
sudo mkdir /usershare/
Шаг 1.8. Изменить владельца созданной на шаге 1.7. директории.
Для этого необходимо выполнить команды, подставив в шаблон путь до необходимой директории:
sudo chown nobody:nobody [путь до директории] sudo chmod 777 [путь до директории]
sudo chown nobody:nobody /usershare/ sudo chmod 777 /usershare/
Шаг 1.9. Заполнить конфигурационный файл "/etc/samba/smb.conf".
Для этого необходимо:
1.9.1. Сделать резервную копию конфигурационного файла "/etc/samba/smb.conf".
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf_old
1.9.2. Создать и открыть для редактирования новый конфигурационный файл "/etc/samba/smb.conf".
sudo nano /etc/samba/smb.conf
1.9.3. Заполнить открывшийся файл по шаблону:
[global]
workgroup = [REALM ПОСЛЕДНЕГО УРОВНЯ]
realm = [REALM]
security = ADS
dedicated keytab file = FILE:/etc/samba/cifs.keytab
kerberos method = dedicated keytab
passdb backend = tdbsam
printcap name = cups
load printers = yes
cups options = raw
idmap config [REALM ПОСЛЕДНЕГО УРОВНЯ] : range = 10000 - 20000
idmap config [REALM ПОСЛЕДНЕГО УРОВНЯ] : backend = rid
idmap config * : backend = tdb
idmap config * : range = 3000 - 7999
include = /etc/samba/usershares.conf
log level = 9
log file = /var/log/samba.log
[[Сетевая папка]]
path = [Путь до директории]
write list = @[Группа] # Группа которой разрешена запись, регистр важен
Заменить в строке 3 [REALM] на REALM сервера Samba (Домен2ур.Домен1ур) в верхнем регистре.
Заменить в строках 2, 14, 15 [REALM ПОСЛЕДНЕГО УРОВНЯ] на REALM последнего уровня в верхнем регистре. Например, домена avanpost.local необходимо указать "AVANPOST".
Заменить в строке 23 [Сетевая папка] на произвольное название для сетевой папки Samba.
Заменить в строке 24 [Путь до директории] на путь до директории, созданной на шаге 1.8.
Заменить в строке 25 [Группа] на имя группы, которой разрешена запись на сервере.
[global] workgroup = AVANPOST realm = AVANPOST.LOCAL security = ADS dedicated keytab file = FILE:/etc/samba/cifs.keytab kerberos method = dedicated keytab passdb backend = tdbsam printcap name = cups load printers = yes cups options = raw idmap config AVANPOST : range = 10000 - 20000 idmap config AVANPOST : backend = rid idmap config * : backend = tdb idmap config * : range = 3000 - 7999 include = /etc/samba/usershares.conf log level = 9 log file = /var/log/samba.log [exampleshare] path = /usershare/ write list = @Administrators # Группа которой разрешена запись, регистр важен
Шаг 1.10. Указать SID домена для Samba-winbind.
Для этого необходимо выполнить команду по шаблону:
sudo net setdomainsid [SID]
Заменить [SID] на SID домена.
sudo net setdomainsid S-1-5-21-1219792643-3871094281-3954467648
Как узнать SID домена?
Узнать SID домена можно в Apache DS. (О настройке Apache DS см. статью "5.3. Настройка Apache Directory Studio для работы с Avanpost DS")
Для этого необходимо:
- Нажать на домен в каталоге "Root DSE".
- Открыть значение атрибута "objectsid".
- В открывшемся HEX редакторе нажать "Edit as Text". Откроется текстовый редактор с SID домена.
Шаг 1.11. Перезапустить сервисы Samba и Samba-winbind и добавить их в автозапуск.
Для этого необходимо выполнить команды:
sudo systemctl enable --now smb.service sudo systemctl enable --now winbind.service sudo systemctl restart smb.service winbind.service
2. Настройка клиента Samba
Для настройки клиента Samba необходимо подключиться к рабочей станции по SSH и выполнить шаги:
Шаг 2.1. Установить необходимые пакеты.
Для этого необходимо выполнить команды:
| RedOS 8 | sudo dnf install -y samba-client keyutils cifs-utils krb5-workstation chrony authselect-compat sssd sudo systemctl enable --now chronyd.service |
| RedOS 7 | |
| Astra | sudo apt install smbclient keyutils cifs-utils krb5-user chrony sssd ssh sudo systemctl enable --now chronyd.service |
| Alt | sudo apt-get install -y samba-client keyutils cifs-utils krb5-workstation chrony sssd sudo systemctl enable --now chronyd.service |
Шаг 2.2. Установить часовой пояс.
Для этого необходимо выполнить команду:
sudo timedatectl set-timezone Europe/Moscow
Шаг 2.3. Ввести Samba-клиент в домен DS.
Подробная инструкция по вводу хостов в домен представлена в разделе "6.7. Введение в домен рабочих станций".
Шаг 2.4. Авторизоваться под доменным пользователем Avanpost DS с правами администратора.
Для этого необходимо выполнить команду, подставив в шаблон логин доменного пользователя Avanpost DS с правами администратора:
su - [УЗ администратора]
su - lipov
Шаг 2.5. Проверить доступность папки на Samba-сервере.
Для этого необходимо выполнить команду, подставив в шаблон полное доменное имя (FQDN) Samba-сервера:
smbclient --use-kerberos=required -L [FQDN Samba-сервера]
smbclient --use-kerberos=required -L smb.avanpost.local
В выводе команды должен отобразиться список доступных папок для монтирования:
# Password for [admin@AVANPOST.LOCAL]: # # Sharename Type Comment # --------- ---- ------- # exampleshare Disk # IPC$ IPC IPC Service (Samba 4.20.2) # SMB1 disabled -- no workgroup available
Шаг 2.6. Авторизоваться под локальным пользователем, состоящим в группе sudoers.
Для этого необходимо выполнить команду, подставив в шаблон логин локального пользователя, состоящего в группе sudoers:
su - [УЗ администратора]
su - admin
Шаг 2.7. Создать директорию для монтирования.
Для этого необходимо выполнить команду:
sudo mkdir /media/sharefolder
Шаг 2.8. Выполнить монтирование.
Для этого необходимо выполнить команды по шаблону:
sudo -i kinit [имя пользователя] # Доменный пользователь DS с правами администратора mount -t cifs //[Samba-сервер]/[Сетевая папка]/ [Точка монтирования] -o user=[ИМЯ],cruid=root,uid=$(id [ИМЯ] -u),gid=$(id [ИМЯ] -g),domain=[REALM],sec=krb5
Заменить в строке 2 <имя пользователя> на имя доменного пользователя DS с правами администратора.
Заменить в строке 3:
[Samba-сервер] на полное доменное имя (FQDN) Samba-сервера;
[Сетевая папка] на имя сетевой папки Samba, указанной в конфигурационном файле на шаге 1.9.3;
[Точка монтирования] на путь до директории, созданной на шаге 2.7;
[ИМЯ] на имя доменного пользователя Avanpost DS с правами администратора;
[REALM] на REALM сервера Samba (Домен2ур.Домен1ур).
sudo -i kinit lipov # Доменный пользователь DS с правами администратора mount -t cifs //smb.avanpost.local/exampleshare/ /media/sharefolder -o user=lipov,cruid=root,uid=$(id lipov -u),gid=$(id lipov -g),domain=avanpost.local,sec=krb5


