Счетчик

Поисковый анализ сайта
яндекс.ћетрика
Cервер и сайт запущен 2011.02.01 на Debian

Подготовка Ubuntu Server к установке Samba 4.

Устанивим в систему пакеты, которые потребуются для работы Samba 4.

# apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl htop

 

Замечание: В процессе установки мне было предложено ввести область по умолчанию для Kerberos версии 5

SAMDOM.EXAMPLE.COM

Потом ввести имена хостов для серверов Kerberos

192.168.1.2

Потом имя сервера

SAMBA

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

Подготовка файловой системы сервера.

# cat /boot/config-`uname -r`

Нам собственно нужно проверить следующее:

# cat /boot/config-`uname -r` | grep CONFIG_EXT

CONFIG_EXTRA_FIRMWARE=""

CONFIG_EXTCON=m

CONFIG_EXTCON_GPIO=m

CONFIG_EXTCON_MAX8997=m

CONFIG_EXT2_FS=m

CONFIG_EXT2_FS_XATTR=y

CONFIG_EXT2_FS_POSIX_ACL=y

CONFIG_EXT2_FS_SECURITY=y

# CONFIG_EXT2_FS_XIP is not set

CONFIG_EXT3_FS=y

CONFIG_EXT3_DEFAULTS_TO_ORDERED=y

CONFIG_EXT3_FS_XATTR=y

CONFIG_EXT3_FS_POSIX_ACL=y

CONFIG_EXT3_FS_SECURITY=y

CONFIG_EXT4_FS=y

CONFIG_EXT4_FS_XATTR=y

CONFIG_EXT4_FS_POSIX_ACL=y

CONFIG_EXT4_FS_SECURITY=y

# CONFIG_EXT4_DEBUG is not set

В нашем ядре есть поддержка XATTR,SECURITY и POSIX_ACL для файловых систем ext3 и ext4.

Посмотрим наш/etc/fstab:

# cat /etc/fstab

# /etc/fstab: static file system information.

#

# Use 'blkid' to print the universally unique identifier for a

# device; this may be used with UUID= as a more robust way to name devices

# that works even if disks are added and removed. See fstab(5).

#

#

/dev/mapper/samba-root / ext4 errors=remount-ro 0 1

# /boot was on /dev/sda1 during installation

UUID=ab2ea6bd-8211-41b2-b12e-7a75c3536da0 /boot ext2 defaults 0 2

/dev/mapper/samba-swap_1 none swap sw 0 0

/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

Изменимстроку

/dev/mapper/samba-root / ext4 errors=remount-ro 0 1

на

/dev/mapper/samba-root / ext4 errors=remount-ro,user_xattr,acl,barrier=1 1 1

И перезагрузим сервер.

 

Установка Samba 4

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

 

apt-get install git

# git clone git://git.samba.org/samba.git samba-master

# cd samba-master

# ./configure --enable-debug --enable-selftest

# make

# make install

Подготовка Samba 4 к роли контроллера домена AD.

Теперь можно приступать к подготовке домена.

 

Замечания.

1. Чтобы избежать проблем, пароль набирайте в английском регистре (уже пофиксили, в принципе можно на русском). По умолчанию включена сложность пароля, в пароль надо включить буквы в разном регистре, цифры, спецсимволы, минимальная длина 7 символов. Пароль пользователяAdministratorв дальнейшем можно будет изменить, поэтому я ввелPa$$w0rd.

2. Вернемся к файлу /etc/network/interfaces и исправим строку на

dns-nameservers 192.168.1.2

Будем использовать встроенный в Samba 4 DNS сервер. Перезагрузимсеть:

# /etc/init.d/networking restart

Обратите внимание!!! Теперь запросы DNS будут идти через DNS сервер, встроеный в Samba.

Приступим:

# /usr/local/samba/bin/samba-tool domain provision

Realm [SAMDOM.EXAMPLE.COM]:

Domain [SAMDOM]:

Server Role (dc, member, standalone) [dc]:

DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:

DNS forwarder IP address (write 'none' to disable forwarding) [192.168.150.16]:

Administrator password:

Retype password:

Looking up IPv4 addresses

Looking up IPv6 addresses

No IPv6 address will be assigned

Setting up share.ldb

Setting up secrets.ldb

Setting up the registry

Setting up the privileges database

Setting up idmap db

Setting up SAM db

Setting up sam.ldb partitions and settings

Setting up sam.ldb rootDSE

Pre-loading the Samba 4 and AD schema

Adding DomainDN: DC=samdom,DC=example,DC=com

Adding configuration container

Setting up sam.ldb schema

Setting up sam.ldb configuration data

Setting up display specifiers

Modifying display specifiers

Adding users container

Modifying users container

Adding computers container

Modifying computers container

Setting up sam.ldb data

Setting up well known security principals

Setting up sam.ldb users and groups

Setting up self join

Adding DNS accounts

Creating CN=MicrosoftDNS,CN=System,DC=samdom,DC=example,DC=com

Creating DomainDnsZones and ForestDnsZones partitions

Populating DomainDnsZones and ForestDnsZones partitions

Setting up sam.ldb rootDSE marking as synchronized

Fixing provision GUIDs

A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf

Once the above files are installed, your Samba4 server will be ready to use

Server Role: active directory domain controller

Hostname: samba

NetBIOS Domain: SAMDOM

DNS Domain: samdom.example.com

DOMAIN SID: S-1-5-21-2253133045-922010834-3568577260

А вот с помощью этой команды можно поменять пароль

# /usr/local/samba/bin/samba-tool user setpassword Administrator

New Password:

Changed password OK

Настроим Kerberos. Приведем файл /usr/local/samba/share/setup/krb5.conf к виду:

[libdefaults]

default_realm = SAMDOM.EXAMPLE.COM

dns_lookup_realm = false

dns_lookup_kdc = true

И заменим им содержимое файла /etc/krb5.conf

Тут я перезагрузил сервер. (Хотя не факт, что это необходимо.)

Запуск Samba 4 в тестовом режиме.

Запустим Samba 4 в интерактивном режиме:

# /usr/local/samba/sbin/samba -i -M single

Посмотрим версию сервера

# /usr/local/samba/sbin/samba -V

Version 4.1.0pre1-GIT-ff496ef

Проверим версию клиента

# /usr/local/samba/bin/smbclient --version

Version 4.1.0pre1-GIT-ff496ef

Посмотрим какие шары есть на сервере

# /usr/local/samba/bin/smbclient -L localhost -U%

Domain=[SAMDOM] OS=[Unix] Server=[Samba 4.1.0pre1-GIT-ff496ef]

Sharename Type Comment

--------- ---- -------

netlogon Disk

sysvol Disk

IPC$ IPC IPC Service (Samba 4.1.0pre1-GIT-ff496ef)

Domain=[SAMDOM] OS=[Unix] Server=[Samba 4.1.0pre1-GIT-ff496ef]

Server Comment

-------- -------

Workgroup Master

--------- -------

Подключимся к ресурсу netlogon

# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%'Pa$$w0rd' -c 'ls'

Domain=[SAMDOM] OS=[Unix] Server=[Samba 4.1.0pre1-GIT-ff496ef]

. D 0 Thu Feb 7 11:37:43 2013

.. D 0 Thu Feb 7 11:38:01 2013

37781 blocks of size 524288. 30967 blocks available

Протестируем работу DNS

# host -t SRV _ldap._tcp.samdom.example.com.

_ldap._tcp.samdom.example.com has SRV record 0 100 389 samba.samdom.example.com.

# host -t SRV _kerberos._udp.samdom.example.com.

_kerberos._udp.samdom.example.com has SRV record 0 100 88 samba.samdom.example.com.

# host -t A samba.samdom.example.com.

samba.samdom.example.com has address 192.168.1.2

Протестируем Kerberos

# kinit Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Password for Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.:

Warning: Your password will expire in 41 days on Thu Mar 21 13:16:09 2013

Посмотрим на полученный билетик

# klist

Ticket cache: FILE:/tmp/krb5cc_0

Default principal: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Valid starting Expires Service principal

07.02.2013 13:22:39 07.02.2013 23:22:39 krbtgt/Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

renew until 08.02.2013 13:22:29

Настройка времени на сервере.

Разберемся со временем на сервере. Установим сервер точного времени.

# apt-get install ntp ntpdate

Установленная версия нам подходит

# ntpd -v

ntpd: illegal option -- v

ntpd - NTP daemon program - Ver. 4.2.6p3

Думать я не стал, а просто заменил содержимое файла /etc/ntp.conf на

server 127.127.1.0

fudge 127.127.1.0 stratum 10

server 0.pool.ntp.org iburst prefer

server 1.pool.ntp.org iburst prefer

driftfile /var/lib/ntp/ntp.drift

logfile /var/log/ntp

ntpsigndsocket/usr/local/samba/var/lib/ntp_signd/

restrict default kod nomodify notrap nopeer mssntp

restrict 127.0.0.1

restrict 0.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery

restrict 1.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery

Перегрузил службу:

# service ntp restart

Тестирование общих папок.

Создадим общую папку для тестов/data/test, и дадим на нее права:

# chmod 777 /data/test

Добавим в /usr/local/samba/etc/smb.conf раздел:

[test]

path = /data/test

comment = Test Share

read only = no

Перегружать сервер не нужно, проверим

# /usr/local/samba/bin/smbclient -L localhost -U%

Domain=[SAMDOM] OS=[Unix] Server=[Samba 4.1.0pre1-GIT-ff496ef]

Sharename Type Comment

--------- ---- -------

test Disk Test Share

sysvol Disk

netlogon Disk

IPC$ IPC IPC Service (Samba 4.1.0pre1-GIT-ff496ef)

Domain=[SAMDOM] OS=[Unix] Server=[Samba 4.1.0pre1-GIT-ff496ef]

Server Comment

--------- -------

Workgroup Master

--------- -------

Создадим еще две шары для принтеров

# mkdir /usr/local/samba/var/spool

# chmod 1777 /usr/local/samba/var/spool

# mkdir -p /usr/local/samba/var/print/{COLOR,IA64,W32ALPHA,W32MIPS,W32PPC,W32X86,WIN40,x64}

# chmod -R 777 /usr/local/samba/var/print

В smb.conf добавим

[printers]

comment = All Printers

path = /usr/local/samba/var/spool

browseable = Yes

read only = No

printable = Yes

[print$]

comment = Point and Print Printer Drivers

path = /usr/local/samba/var/print

read only = No

На клиенте Пуск - Выполнить - \\samba\
На запрос логина, пароля вводим SAMDOM\Administrator, пароль Pa$$w0rd
Видим шары нашего сервера
Двойное нажатие на Принтеры и факсы, Файл, Свойства сервера, вкладка Драйверы, Добавить, Выбираем драйвер, Далее, Выбираем архитектуру, Далее, Готово. На сервер печати будут скопированы драйвера для выбранного принтера.

При настройке клиента XP Поставьте галку “Использовать DNS суффикс подключения при регистрации в DNS”

Создадим скрипт для запуска и остановки службы Samba.

touch /etc/init.d/samba4

chmod +x /etc/init.d/samba4

Добавим в него следующее содержимое.

#!/bin/sh

 ### BEGIN INIT INFO

 # Provides:          samba

 # Required-Start:    $network $local_fs $remote_fs

 # Required-Stop:     $network $local_fs $remote_fs

 # Default-Start:     2 3 4 5

 # Default-Stop:      0 1 6

 # Should-Start:      slapd

 # Should-Stop:       slapd

 # Short-Description: start Samba daemon (samba)

 ### END INIT INFO

 PIDDIR=/usr/local/samba/var/run

SAMBADPID=$PIDDIR/samba.pid

 # clear conflicting settings from the environment

unset TMPDIR

 # See if the daemons are there

 test -x /usr/local/samba/sbin/samba || exit 0

 # Starting init-fuctions for Debian -shell script

 . /lib/lsb/init-functions

 case "$1" in

        start)

                log_daemon_msg "Starting Samba daemon"

                # Make sure we have our PIDDIR, even if it's on a tmpfs

                install -o root -g root -m 755 -d $PIDDIR

                SAMBA_DISABLED=`testparm -s --parameter-name='disable netbios' 2>/dev/null`

                if [ "$SAMBA_DISABLED" != 'Yes' ]; then

                        log_progress_msg "samba"

                        if ! start-stop-daemon --start --quiet --oknodo --exec /usr/local/samba/sbin/samba -- -D

                        then

                                log_end_msg 1

                                exit 1

                        fi

                fi

                log_end_msg 0

                ;;

        stop)

                log_daemon_msg "Stopping Samba daemon"

                log_progress_msg "samba"

                start-stop-daemon --stop --quiet --pidfile $SAMBADPID

                # Wait a little and remove stale PID file

                sleep 1

                if [ -f $SAMBADPID ] && ! ps h `cat $SAMBADPID` > /dev/null

                then

                        # Stale PID file (samba was succesfully stopped),

                        # remove it (should be removed by samba itself IMHO.)

                        rm -f $SAMBADPID

                fi

                log_end_msg 0

                ;;

        reload)

        log_daemon_msg "Reloading /usr/local/samba/etc/smb.conf "

                start-stop-daemon --stop --signal HUP --pidfile $SAMBADPID

                log_end_msg 0

                ;;

        restart|force-reload)

                $0 stop

                sleep 1

                $0 start

                ;;

        *)

                echo "Usage: /etc/init.d/samba4 {start|stop|reload|restart|force-reload}"

                exit 1

                ;;

 esac

 exit 0

Попробуем запустить Samba.

# /etc/init.d/samba4 start

 * Starting Samba daemon                                                 [ OK ]

Добавим службу в автозагрузку.

# update-rc.d samba4 defaults

update-rc.d: warning: /etc/init.d/samba4 missing LSB information

update-rc.d: see

 Adding system startup for /etc/init.d/samba4 ...

   /etc/rc0.d/K20samba4 -> ../init.d/samba4

   /etc/rc1.d/K20samba4 -> ../init.d/samba4

   /etc/rc6.d/K20samba4 -> ../init.d/samba4

   /etc/rc2.d/S20samba4 -> ../init.d/samba4

   /etc/rc3.d/S20samba4 -> ../init.d/samba4

   /etc/rc4.d/S20samba4 -> ../init.d/samba4

   /etc/rc5.d/S20samba4 -> ../init.d/samba4

Перезагрузим сервер.

# reboot

Проверим, запустилась ли Samba.

# ps ax | grep samba

  467 ?        S      0:00 avahi-daemon: running [samba.local]

 1135 ?        Ss     0:01 /usr/local/samba/sbin/samba -D

 1207 ?        S      0:00 /usr/local/samba/sbin/samba -D

 1208 ?        S      0:00 /usr/local/samba/sbin/samba -D

 1209 ?        Ss     0:01 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground

 1210 ?        S      0:00 /usr/local/samba/sbin/samba -D

 1211 ?        S      0:00 /usr/local/samba/sbin/samba -D

 1212 ?        S      0:02 /usr/local/samba/sbin/samba -D

 1213 ?        S      0:00 /usr/local/samba/sbin/samba -D

 1214 ?        S      0:00 /usr/local/samba/sbin/samba -D

 1215 ?        S      0:01 /usr/local/samba/sbin/samba -D

 1216 ?        S      0:00 /usr/local/samba/sbin/samba -D

 1217 ?        S      0:00 /usr/local/samba/sbin/samba -D

 1218 ?        S      0:01 /usr/local/samba/sbin/samba -D

 1219 ?        S      0:00 /usr/local/samba/sbin/samba -D

 1222 ?        S      0:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground

 1599 pts/0    S+     0:00 grep --color=auto samba

 

Все, удачи в работе.

Добавить комментарий


Защитный код
Обновить