Alt linux файловый сервер

Дополнительные серверы и member-сервисы в домене ALT Linux

Виртуализатор VirtualBox. Для демонстрации потребуется не менее трёх виртуальных машин:

  1. Домен — первый сервер в сети, осуществляющий функции контроллера домена
  2. Клиент — рабочая станция, клиентский компьютер
  3. Сервер — сервер, не являющийся контроллером домена. Компьютер, предоставляющий свои ресурсы Клиенту с аутентификацией последнего на Домене.

Для установки всех виртуальных машин используется один и тот же установочный образ altlinux-7.0.4-centaurus-i586-ru-install-dvd5.iso

N.B. По завершении установки не забыть отключить дистрибутив от виртуального привода. Само по себе не мешает, но может создать проблему в случае переноса готового образа на другой хост.

Домен

  • Процессор класса i686 — один;
  • Оперативная память 1Гб;
  • Виртуальный диск 20 Гб, динамический;
  • Виртуальные сетевые интерфейсы — два. Адаптер 1 тип подключения NAT, с пробросом портов хоста 8081 и 2201 на 8080 (alterator) и 22 (ssh) гостя соответственно. Адаптер 2 тип подключения внутренняя сеть `intnet`.

Тип установки «Сервер», установка по умолчанию. Имя хоста dcserver, пароль суперпользователя пусть будет 123, системный пользователь admin тоже с паролем 123. Cетевому адаптеру в intnet необходим статический IP, в нашем случае 10.10.10.1/24. Если всё сделано правильно, интерфейс Alterator виртуальной машины должен быть доступен с хоста по адресу https://localhost:8081. Через меню Система-Домен настроим поддержку домена с именем (например) test.lab как описано в документации. Далее, через меню Пользователи, создадим в домене test.lab тестового пользователя user c паролем 123.

Клиент

  • Процессор класса i686 — один;
  • Оперативная память 1Гб;
  • Виртуальный диск 40 Гб, динамический;
  • Виртуальный сетевой интерфейс Адаптер 1 тип подключения внутренняя сеть `intnet`.

Тип установки «Рабочая станция», установка по умолчанию. Имя хоста client, пароль суперпользователя 123, системный пользователь admin с паролем 123. По завершении установки и перезагрузки, зайти системным пользователем admin и включить client в домен test.lab

Если всё сделано правильно, доменный пользователь user может открыть сеанс работы (войти с паролем 123) на рабочей станции client.

Сервер

  • Процессор класса i686 — один;
  • Оперативная память 1Гб;
  • Виртуальный диск 40 Гб, динамический;
  • Виртуальные сетевые интерфейсы — два. Адаптер 1 тип подключения NAT, с пробросом портов хоста 8082 и 2202 на 8080 (alterator) и 22 (ssh) гостя соответственно. Адаптер 2 тип подключения внутренняя сеть `intnet`.
Читайте также:  Copy files in linux script

Тип установки «Сервер», установка по умолчанию. Имя хоста server, пароль суперпользователя 123, системный пользователь admin тоже с паролем 123. Сетевому адаптеру intnet назначим статический IP 10.10.10.2/24. Если всё сделано правильно, интерфейс Alterator виртуальной машины должен быть доступен с хоста по адресу https://localhost:8082 С машиной server можно соединиться по ssh с хоста командой

$ ssh admin@localhost -p 2202 

Файловый сервер Samba

Цель демонстрации — показать, как файловые ресурсы сервера server могут быть доступны пользователю user домена test.lab, открывшему сеанс на рабочей станции client. Для начала убедимся, что server доступен по сети:

[user@client ~]$ ping 10.10.10.2 PING 10.10.10.2 (10.10.10.2) 56(84) bytes of data. 64 bytes from 10.10.10.2: icmp_req=1 ttl=64 time=0.975 ms [user@client ~]$ host server Host server not found: 3(NXDOMAIN)

Чтобы иметь возможность обращаться к серверу по имени, его следует зарегистрировать в зоне test.lab на DNS сервере.

Masterclass-2-1.png

Настройка аутентификации пользователей

Для начала необходимо обеспечить опознание доменных пользователей сервером. Проще и надёжнее всего это сделать через web-интерфейс Alterator.

Masterclass-2-2.png

После перезагрузки getent passwd на сервере должен показать, в числе прочих, также и доменного пользователя user.

Настройка smb.conf

По умолчанию сервис Samba на server не включен и не настроен, для начала его следует просто включить

[root@server ~]# service smb status smbd is stopped [root@server ~]# chkconfig smb on [root@server ~]# service smb start Starting SMB services: Starting smbd service: [ DONE ] [root@server ~]# service smb status smbd is running

Практически к серверу уже теперь можно обратиться по адресу smb://server, однако на нём пока не настроено ни одного ресурса. Сохраним оригинальный smb.conf для справки, а за основу конфигурации возьмём smb.conf c контроллера домена dcserver.

[root@server samba]# mv /etc/samba/smb.conf /etc/samba/smb.conf.orig

а за основу конфигурации возьмём smb.conf c контроллера домена dcserver.

[root@dcserver samba]# cat smb.conf [global] realm = TEST.LAB server string = Samba server on %h (v. %v) security = user dedicated keytab file = /etc/krb5.keytab kerberos method = dedicated keytab log file = /var/log/samba/log.%m max log size = 50 printcap name = cups dns proxy = No use sendfile = Yes passdb backend = ldapsam:ldap://127.0.0.1/ ldap admin dn = cn=ldaproot,dc=test,dc=lab ldap suffix = dc=test,dc=lab ldap group suffix = ou=Group ldap user suffix = ou=People workgroup = TEST.LAB local master = yes preferred master = yes domain master = yes domain logons = yes add user script = /usr/sbin/ldap-useradd "%u" delete user script = /usr/sbin/ldap-userdel "%u" add group script = /usr/sbin/ldap-groupadd "%g" delete group script = /usr/sbin/ldap-groupdel "%g" add user to group script = /usr/sbin/ldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/ldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/ldap-usermod -g "%g" "%u" add machine script = /usr/sbin/ldap-useradd -w -i "%u" ldap machine suffix = ou=Computers encrypt passwords = yes ldap delete dn = no logon script = netlogon.bat [share] comment = Commonplace path = /srv/share read only = No 

Кое-что здесь требуется изменить. Прежде всего,

passdb backend = ldapsam:ldaps://10.10.10.1/

поскольку на контроллере ALT-домена LDAP работает только для 127.0.0.1 (loopback), по сети только LDAPS. А отсюда же следует

Читайте также:  Самые популярные линукс дистрибутивы

чтобы Samba не делала бессмысленной попытки StartTLS поверх соединения LDAPS. Поправим параметры

local master = no preferred master = no domain master = no

поскольку мастер в домене уже есть, на (контроллере) dcserver. И обязательно задать пароль служебного пользователя ldaproot, для авторизации в службе LDAP. Пароль можно узнать на dcserver:

[root@dcserver openldap]# cat /etc/openldap/slapd-test.lab.conf | grep rootpw rootpw euhou7thieyah8ch

Если пароль не задать или задать неправильно, сервис будет валиться с ошибкой [root@server samba]# cat /var/log/samba/log.smbd | tail pdb backend ldapsam:ldaps://10.10.10.1/ did not correctly init (error was NT_STATUS_NO_MEMORY) Пароль euhou7thieyah8ch это случайный пример и в вашем случае он будет, разумеется, совсем другой.

[root@server samba]# smbpasswd -w euhou7thieyah8ch Setting stored password for "cn=ldaproot,dc=test,dc=lab" in secrets.tdb

Создание принципала и получение ключа Kerberos

На контроллере домена используем kadmin.local

# kadmin.local kadmin.local: listprincs K/M@TEST.LAB krbtgt/TEST.LAB@TEST.LAB kadmin/admin@TEST.LAB kadmin/changepw@TEST.LAB kadmin/history@TEST.LAB kadmin/dcserver.test.lab@TEST.LAB nfs/dcserver.test.lab@TEST.LAB cifs/dcserver.test.lab@TEST.LAB host/dcserver.test.lab@TEST.LAB pop3/dcserver.test.lab@TEST.LAB http/dcserver.test.lab@TEST.LAB HTTP/dcserver.test.lab@TEST.LAB pop/dcserver.test.lab@TEST.LAB imap/dcserver.test.lab@TEST.LAB smtp/dcserver.test.lab@TEST.LAB user@TEST.LAB ldap/dcserver.test.lab@TEST.LAB

В списке пока нет записи принципала для server.test.lab. Создадим её.

kadmin.local: addprinc -randkey cifs/server.test.lab WARNING: no policy specified for cifs/server.test.lab@TEST.LAB; defaulting to no policy Principal "cifs/server.test.lab@TEST.LAB" created. kadmin.local: listprincs K/M@TEST.LAB krbtgt/TEST.LAB@TEST.LAB kadmin/admin@TEST.LAB kadmin/changepw@TEST.LAB kadmin/history@TEST.LAB kadmin/dcserver.test.lab@TEST.LAB nfs/dcserver.test.lab@TEST.LAB cifs/dcserver.test.lab@TEST.LAB host/dcserver.test.lab@TEST.LAB pop3/dcserver.test.lab@TEST.LAB http/dcserver.test.lab@TEST.LAB HTTP/dcserver.test.lab@TEST.LAB pop/dcserver.test.lab@TEST.LAB imap/dcserver.test.lab@TEST.LAB smtp/dcserver.test.lab@TEST.LAB user@TEST.LAB ldap/dcserver.test.lab@TEST.LAB cifs/server.test.lab@TEST.LAB

Теперь экспортируем ключ в файл и передадим его на server

kadmin.local: ktadd -e aes256-cts-hmac-sha1-96:normal -k /root/samba.keytab cifs/server.test.lab Entry for principal cifs/server.test.lab with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:/root/samba.keytab.
[root@dcserver ~]# scp samba.keytab admin@server:/home/admin The authenticity of host 'server (10.10.10.2)' can't be established. ECDSA key fingerprint is 6a:43:6f:dd:35:b6:01:c2:0d:51:54:3b:4b:04:9b:ed. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'server,10.10.10.2' (ECDSA) to the list of known hosts. admin@server's password: samba.keytab 100% 86 0.1KB/s 00:00
kadmin.local: get_principals cifs/* cifs/dcserver.test.lab@TEST.LAB cifs/server.test.lab@TEST.LAB

Пользователь user, открывший сеанс на рабочей станции client, получает теперь билет не только для dcserver, но и для нового сервера server.

[user@client ~]$ klist Ticket cache: FILE:/tmp/krb5cc_5000 Default principal: user@TEST.LAB
Valid starting Expires Service principal 19.08.2014 14:45:19 20.08.2014 00:45:19 krbtgt/TEST.LAB@TEST.LAB renew until 19.08.2014 14:45:19 19.08.2014 14:45:21 20.08.2014 00:45:19 cifs/dcserver.test.lab@ renew until 19.08.2014 14:45:19 19.08.2014 14:45:21 20.08.2014 00:45:19 cifs/dcserver.test.lab@TEST.LAB renew until 19.08.2014 14:45:19 19.08.2014 14:45:22 20.08.2014 00:45:19 cifs/server.test.lab@ renew until 19.08.2014 14:45:19 19.08.2014 14:45:22 20.08.2014 00:45:19 cifs/server.test.lab@TEST.LAB renew until 19.08.2014 14:45:19

И может в окне открыть по адресу smb://server.test.lab общий ресурс share, и получать доступ к находящимся в нём файлам под собственным именем и с соответствующими правами доступа.

Читайте также:  Linux lvm iscsi target

Источник

Samba/Fileserver/AD-auth

Задача: поднять файловый сервер на samba с авторизацией доменных пользователей и беспарольным доступом к общей папке.

Параметры описанного стенда

Имя домена: TEST.ALT Рабочая группа: TEST Имя компьютера в netbios: DC Имя пользователя-администратора: Administrator Пароль администратора: Pa$$word Контроллер домена: dc.test.alt Файл-сервер samba: fileserver.test.alt

Подключение к домену

Вводим файл-сервер в домен, настраиваем аутентификацию и авторизацию SSSD согласно инструкции.

Настройка Samba

Создадим директорию на файл-сервере, куда будем предоставлять доступ доменным пользователям:

Изменим группу владельцев папки на доменных пользователей:

# chown :"TEST\domain users" /mnt/share/sambashare

Отредактируем /etc/samba/smb.conf, указав доступность папки:

[sambashare] comment=shared files path=/mnt/share/sambashare read only=no browseable=yes

Настройка доменной аутентификации

Создадим keytab-файл и пропишем в /etc/samba/smb.conf kerberos-аутентификацию. Инструкция

Добавим в keytab-файл принципала сервиса «CIFS»:

# net ads keytab add CIFS -U Administrator Processing principals to add…

Скопируем /etc/krb5.keytab в /etc/samba/:

cp /etc/krb5.keytab /etc/samba/

Укажем в /etc/samba/smb.conf путь к keytab-файлу:

dedicated keytab file = /etc/samba/krb5.keytab kerberos method = dedicated keytab

Попробуем зарегистрироваться с помощью keytab-файла:

# kinit -V -k CIFS/fileserver.test.alt -t /etc/samba/krb5.keytab Using default cache: persistent:0:0 Using principal: CIFS/fileserver.test.alt@TEST.ALT Using keytab: /etc/samba/krb5.keytab Authenticated to Kerberos v5

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

Источник

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