Достойный контроллер домена на Linux. (Подробный HowTo) (MDS, Ldap, Samba, Postfix, SQUID)

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Аватара пользователя
HidX
Сообщения: 54
ОС: Debian

Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение HidX » 18.01.2009 20:39

Глава I – Настройка сервера и домена.

Добрый вечер. Хотелось бы поделиться с вами одним интересным моим проектом – Контроллер домена на Linux. В данной теме реализован подробный мануал (Howto) по настройке и внедрению рабочего домена с консолью управления – Mandriva Directory Server.

Последнее редактирование - 17.04.09


Немного истории:
Вообще я далеко не профи в *nix системах, но всё таки активно интересуюсь и изучаю их. По поводу домена на linux я слышал множество упрёков и похвал. И вот около года назад задался вопросом поднятия домена на Linux. Во первых просто интересно, а во вторых он абсолютно бесплатен, что и требовала компания где я работал. За год перебрал кучу вариантов, кучу сборок С подобной реализацией на сомнительных диструбутивах, поднял несчётное количество ПАКетов ldap SAmba. Но мне казалось что всё это не то. Либо безумно неудобное управление, либо куча лишнего. Куча лишнего было в готовых дистрибутивах (аля-домен за одну минуту.). Было боязно внедрять их в мою не большую и не маленькую компанию(Более 100 рабочих станций в одном только офисе). Во первых неизвестно что и как разработчики делали с дистрибутивом, во вторых поддержка на иностранном языке ))) А самому разгребать последствия не хочется.

Не так давно, наткнулся на статью Oliver Meyer. По сборке и настройке домена на Debian ИСПользуя консоль управления Mandriva Directory Server. Оказалось то что нужно. Ничего лишнего, простота управления доменом. Есть конечно свои минусы и багги.
Статья Оливера была отличной, но имела свои минусы (да и вообще она была на немецком). На основе этой статьи я начал писать свой проект.

Собственно мой проект - это перевод статьи Оливера (безумно спасибо ему!) + я добавил что то своё, поправил некоторые моменты из за которых могли возникнуть большие проблемы, и написал несколько дополнений (групповые политики для настройки рабочих сред пользователей, дополнительные модули для консоли и т.д.)
В итоге получилось . Довольно удачный проект который позволяет, даже мало знающему в Linux человеку, поднять рабочий стабильный PDC с удобной консолью управления, а так же в перспективе написания к этой консоли своих собственных модулей на уровне phyton ИЛИ PHP.

Автор проекта - HidX Максим.
Оригинал статьи Оливера - тут.
Смежная тема во флуде - тут.



Заранее прошу прощения за грамматические ошибки и возможный бред в тексте. Писал по ночам. Буду по возможности что то добавлять и исправлять.

Сам процесс

Итак. Для начала ставим сам Debian. У меня под рукой оказался debian-40r5 - я ставлю его. Стандартная установка. При установке выбрал Русский язык и вбил вручную настройки сети.
В ходе проделанной работы по этому мануалу мы получим:

• OpenLdap сервер.
• Samba сервер в качестве первичного контроллера домена (PDC), а так же файлсервера.
• DNS сервер (Bind).
• Корпоративный DHCP сервер.
• Административная консоль управления службами Mandriva Directory Server.
• Групповые политики для автоматической настройки рабочих станций на Windows (начиная c XP).!
• Корпоративный кэширующий прокси сервер (SQUID).
• Расширенный почтовый сервер Postfix, с поддержкой Imap и POP3 сервера (Dovecot), с проверкой на вирусы и фильтрации почты (Amavis, Spamassassin, ClamAV), SMTP сервером, с поддержкой квот, SSL и TSL.
• Сервер синхронизации времени.
• Сервер печати Cups.
• NFS сервер.
• MMC php плагины.


Планы на ближайшее время. Реализовать

• BDC – Дополнительный (резервный) контроллер домена.
• SQUID - Проверка на вирусы, аутентификация по группам домена, модуль статистики для MDS (на основе lightsquid) - УжЕ готово.



Установки сервера

Имя компьютера – pdc
Имя домена Samba – adsl.com
Хостнэйм сервера – pdc.adsl.com
Ip адрес сервера – 192.168.50.237
Ip адрес шлюза – 192.168.50.235
Мой админский пароль – example



1. Настройка Debian.

Предполагается что установка Debian прошла без сюрпризов и сервер полностью готов для настройки. Первоначально я буду пользоваться текстовым редактором vim, он в отличие от vi более удобен, но чуть позже, когда мы обновим репозитарии, я поставлю редактор ee т.к. он на мой взгляд самый удобный ( и вообще напоминает о freebsd :rolleyes: ). Единственное, в Debian редактор ee немного глючит: может не правильно вставить скопированный текст. Так что лучше проверять конфиги после переноса.. или продолжать пользоваться редактором vim.
Для начала проверим сетевые настройки. А именно файлы hosts, hostname, interfaces, resolv.conf

vim /etc/hosts

Код: Выделить всё

127.0.0.1       localhost
192.168.50.237  pdc.adsl.com     pdc

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


vim /etc/hostname

Код: Выделить всё

pdc.adsl.com


vim /etc/network/interfaces

Код: Выделить всё

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 192.168.50.237
        netmask 255.255.255.0
        network 192.168.50.0
        broadcast 192.168.50.255
        gateway 192.168.50.235
        # dns-* options are implemented by the resolvconf package, if installed
        # dns-nameservers 192.168.50.231
        # dns-search adsl.com


vim /etc/resolv.conf

Код: Выделить всё

#my lan DNS
nameserver 192.168.50.231


Что бы не было конфликтов при установке пакетов, идём в ребут.

reboot

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

hostname

Код: Выделить всё

pdc.adsl.com


Сеть настроили, теперь приступим за обновления репозитариев для Debian. Собственно настройка производится путём редактирования файла /etc/apt/sources.list. В нём нужно вписать путь к серверу с пакетами.

vim /etc/apt/sources.list

По умолчанию там стоит ссылка на пакеты с CD диска установки Debian и ссылка на сервера с обновлениями безопасности для Debian.
Т.к. у меня установочный диск с Debian не постоянно в Cd-Rom приводе, комментируем эту строку, путём добавления вперёд значка # (удалять не буду, малоли пригодится.)
Далее добавляем ниже ссылки на стандартные сервера с пакетами Dibian. Оттуда будут устанавливаться стандартное программное обеспечение:

# Стандартные репозитарии для Debian
deb http://ftp2.de.debian.org/debian/ etch main
deb-src http://ftp2.de.debian.org/debian/ etch main

Ещё ниже добавляем ссылку на сервер Mandriva Directory Server. Оттуда будет ставиться сама главная консоль управления доменом и службами:

# Mandriva Directory Server
deb http://mds.mandriva.org/pub/mds/debian etch main

Ниже добавляем ссылку на сервер с которого будет ставиться такие пакеты как ClamAV & Spamassassin. Ну и + обновления для них от туда же будет подтягиваться:

# Debian Volatile
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free

Ниже добавляем ссылку на сервер бэкпорт с которого будет ставиться самый свежий пакет Devecot:

# Debian Etch Backports
deb http://www.backports.org/debian etch-backports main

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

В итоге у меня получился вот такой файл репозитариев /etc/apt/sources.list

Код: Выделить всё

# deb cdrom:[Debian GNU/Linux 4.0 r5 _Etch_ - Official i386 DVD Binary-1 20081023-23:00]/ etch contrib main

#deb cdrom:[Debian GNU/Linux 4.0 r5 _Etch_ - Official i386 DVD Binary-1 20081023-23:00]/ etch contrib main

deb http://ftp2.de.debian.org/debian/ etch main
deb-src http://ftp2.de.debian.org/debian/ etch main

deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib

deb http://mds.mandriva.org/pub/mds/debian etch main
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free

deb http://www.backports.org/debian etch-backports main


Обновляем репозитарии командой:

apt-get update

В конце обновления, система может написать ошибку. Что то вроде этого:
Чтение списков пакетов... Готово
W: GPG error: http://www.backports.org etch-backports Release: Следующие подписи не могут быть проверены, так как недоступен общий ключ: NO_PUBKEY EA8E8B2116BA136C
W: Вы можете запустить 'apt-get update' для исправления этих ошибок


Предлагаю не обращать внимания на это, пакеты всё равно будут устанавливаться с проблемных серверов.

Далее настраиваем поддержку ACL, это необходимо для шар самбы, что бы корректно сохранялись права виндовых машин, что бы эти права наследовались, что бы профиль пользователя Windows перемещался корректно ну и т.д.

vim /etc/fstab

В этом файле добавляем опцию ”acl” между опциями defaults,acl,errors=remount-ro, в раздел где будут храниться шары самбы сервера. В моём случае это раздел ”/”.

Код: Выделить всё

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda1       /               ext3    defaults,acl,errors=remount-ro 0       1
/dev/sda5       none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0


Далее нужно перемонтировать этот раздел:

mount -o remount /

Проверяем:
mount -l

После исполнения этой команды должен появиться список разделов с различными опциями. В моём разделе должна стоять опция acl, это означает что поддержка acl включена.
/dev/sda1 on / type ext3 (rw,acl,errors=remount-ro)

2. Установка необходимого программного обеспечения.

Для начала установим простые утилиты для удобства настройки сервера. Их у меня будет три – это текстовый редактор ee, файловый менеджер Midnight commander и SSH сервер для удобства администрирования. Midnight commander – что то вроде Norton Commander, с ним легко и быстро можно перемещаться по файловой системе сервера, хоть в данном мануале использовать его я практически не буду, тем не менее я считаю что его нужно поставить.

apt-get install ee
apt-get install mc
apt-get install ssh openssh-server

Далее буду редактировать файлы через ee.

После простых утилит, ставим ntp сервер. Он нужен для синхронизации времени. У сервака будет точное время, а так же все рабочии станции пользователей будут синхронизировать часы с этим сервером.

apt-get install ntp

Итак, теперь пришло время установки основного программного обеспечения сервера. На этих программах и будет всё держаться.

Ставим пакеты:

apt-get install mmc-web-base mmc-web-mail mmc-web-network mmc-web-proxy mmc-web-samba mmc-agent python-mmc-plugins-tools python-mmc-base python-mmc-mail python-mmc-network python-mmc-proxy python-mmc-samba postfix postfix-ldap sasl2-bin libsasl2 libsasl2-modules amavisd-new libdbd-ldap-perl libnet-ph-perl libnet-snpp-perl libnet-telnet-perl lzop nomarch zoo clamav clamav-daemon gzip bzip2 unzip unrar-free unzoo arj spamassassin libnet-dns-perl razor pyzor slapd ldap-utils libnss-ldap libpam-ldap dhcp3-server dhcp3-server-ldap bind9 samba smbclient smbldap-tools cupsys cupsys-client foomatic-db-engine foomatic-db foomatic-db-hpijs foomatic-db-gutenprint foomatic-filters foomatic-filters-ppds fontconfig hpijs-ppds linuxprinting.org-ppds make mkisofs

К слову – пакет mkisofs нужен для утилиты бэйкапа шар самбы, так что важно его поставить.

Ставим пакеты dovecot

apt-get install -t etch-backports dovecot-common dovecot-imapd dovecot-pop3d

При установке нужно будет ответить на несколько вопросов. Нужно ввести ответы, без кавычек:
• LDAP попросит ввести пароль админа, вначале я написал, что буду везде использовать пароль «example», его и ввожу.
• SAMBA спросит имя домена у меня это «ADSL». Вторым она спросит про smb.conf файл. Отвечаем «No».
• При установке почтовых пакетов будет задан ряд вопросов. Тут в принципе всё по умолчанию должно быть нормально. Конфигурация «Internet Site», имя почты «pdc.adsl.com».
• Затем идёт конфигурация Libnss-LDAP. В Сервер URI LDAP вводим «ldap://127.0.0.1/», имя базы поиска вводим «dc=adsl,dc=com», версию Ldap указываем «3», Ldap акаунт для рута вводим «cn=admin,dc=adsl,dc=com», пароль для Ldap админа – example.
• Ну и наконец Libpam-LDAP. Выберите «Да», когда Вас спросят, должен ли локальный root быть админом базы данных. На вопрос о логине Ldap базы данных вводим «Нет». Ldap акаунт для рута вводим «cn=admin,dc=adsl,dc=com». И последнее вводим пароль от Ldap «example»


Так, далее ставим пакет dcc-client. Т.к. я его не нашёл в репозитариях Dibian, будем ставить его же от Ubuntu. Я ставил его на рабочий домен, вроде всё подходит, конфликтов не возникало. Для этого находим его на сайте поиска пакетов для Ubuntu. (http://packages.ubuntu.com).
Итак, создаём у себя папку для хранения закаченных пакетов пакетов.

mkdir /webpkg

Далее входим на страницу с найденным пакетом http://packages.ubuntu.com/ru/dapper/dcc-client. В разделе Загрузка пакета выбираем вашу архитектуру сервера, у меня это i386. Откроется страница с серверами. Выбираем любой и копируем ссылку на пакет.
Входим в нашу папку и закачиваем туда выбранный пакет.

cd /webpkg
wget http://www.ftp.uni-erlangen.de/pub/mirrors...2.74-2_i386.deb

Тут есть одна тонкость, пакет dcc-client, зависит от пакета dcc-common. Так что его тоже нужно закачать и установить. Находим его на том же сайте (http://packages.ubuntu.com/ru/dapper/dcc-common) и так же закачиваем с любого сервера.

wget http://ftp.oleane.net/pub/ubuntu/pool/univ...2.74-2_i386.deb
В итоге в директории webpkg у нас будут два скаченных пакета.

pdc:/webpkg# ls
dcc-client_1.2.74-2_i386.deb dcc-common_1.2.74-2_i386.deb

Устанавливаем их:

dpkg -i dcc-client_1.2.74-2_i386.deb dcc-common_1.2.74-2_i386.deb

3. Конфигурация домена.

Slapd

Всё, все пакеты и компоненты установлены. Теперь необходимо их настроить. Сначало будем настраивать самое трудное это slapd, samba, nss и т.д. от них зависит работоспособность сервера.

Переносим схемы MMC, которые мы будем прописывать в LDAP. Всего их 6, это схемы dns, dhcp, samba, mail, mmc, printer. По их названию можно понять для чего каждая схема служит.

cp /usr/share/doc/python-mmc-base/contrib/ldap/mmc.schema /etc/ldap/schema/
cp /usr/share/doc/python-mmc-base/contrib/ldap/mail.schema /etc/ldap/schema/
zcat /usr/share/doc/python-mmc-base/contrib/ldap/samba.schema.gz > /etc/ldap/schema/samba.schema
zcat /usr/share/doc/python-mmc-base/contrib/ldap/printer.schema.gz > /etc/ldap/schema/printer.schema
zcat /usr/share/doc/python-mmc-base/contrib/ldap/dnszone.schema.gz > /etc/ldap/schema/dnszone.schema
zcat /usr/share/doc/python-mmc-base/contrib/ldap/dhcp.schema.gz > /etc/ldap/schema/dhcp.schema

Далее пропишем в конфиге Ldap эти схемы

ee /etc/ldap/slapd.conf

там прямо ниже уже прописанных схем (include /etc/ldap/schema/inetorgperson.schema) вставляем следующее:

Код: Выделить всё

include     /etc/ldap/schema/mmc.schema
include     /etc/ldap/schema/samba.schema
include     /etc/ldap/schema/printer.schema
include     /etc/ldap/schema/mail.schema
include     /etc/ldap/schema/dnszone.schema
include     /etc/ldap/schema/dhcp.schema

Schemacheck        on


Сохраняем и выходим из файла.
Далее нужно получить наш админский пароль от LDAP в шифрованном виде. Шифруем с помощью SSHA.

slappasswd -s example

Я получил вот такую строчку {SSHA}zgbmt9l5XDohI+3FquZbTRLWsJD2+3Pg (у вас он будет другой) открываем блокнот, и сохраняем эту строчку туда, она нам понадобиться. Далее мы снова открываем конфиг Ldap.

ee /etc/ldap/slapd.conf

Находим строчку - #rootdn "cn=admin,dc=ads,dc=com" (у вас она будет другой). И раскоментируем её, убирая спереди знак #. Ниже неё добавляем переменную rootpw с нашим шифрованным паролем. В итоге получим:

Код: Выделить всё

rootdn          "cn=admin,dc=adsl,dc=com"
rootpw          {SSHA}zgbmt9l5XDohI+3FquZbTRLWsJD2+3Pg


В этом же файле находим строчку # Indexing options for database #1 нижеё строка index objectClass eq удаляем её. И в место неё вставляем следующие строки

Код: Выделить всё

index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUid,mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
index zoneName,relativeDomainName eq
index dhcpHWAddress,dhcpClassData eq


Находим в этом же файле строку access to attrs=userPassword,shadowLastChange и изменяем её на следующее:

Код: Выделить всё

access to attrs=userPassword,sambaLMPassword,sambaNTPassword


Далее находим строчку loglevel 0 и вписываем вместо 0 число 256. Это нужно что бы работал журнал в mmc.
В итоге у меня получился вот такой конфиг файла slapd.conf - Сверьте со своим конфигом!:

Код:

# This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. ####################################################################### # Global Directives: # Features to permit #allow bind_v2 # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/mmc.schema include /etc/ldap/schema/samba.schema include /etc/ldap/schema/printer.schema include /etc/ldap/schema/mail.schema include /etc/ldap/schema/dnszone.schema include /etc/ldap/schema/dhcp.schema schemacheck on # Where the pid file is put. The init.d script # will not stop the server if you change this. pidfile /var/run/slapd/slapd.pid # List of arguments that were passed to the server argsfile /var/run/slapd/slapd.args # Read slapd.conf(5) for possible values loglevel 256 # Where the dynamically loaded modules are stored modulepath /usr/lib/ldap moduleload back_bdb # The maximum number of entries that is returned for a search operation sizelimit 500 # The tool-threads parameter sets the actual amount of cpu's that is used # for indexing. tool-threads 1 ####################################################################### # Specific Backend Directives for bdb: # Backend specific directives apply to this backend until another # 'backend' directive occurs backend bdb checkpoint 512 30 ####################################################################### # Specific Backend Directives for 'other': # Backend specific directives apply to this backend until another # 'backend' directive occurs #backend <other> ####################################################################### # Specific Directives for database #1, of type bdb: # Database specific directives apply to this databasse until another # 'database' directive occurs database bdb # The base of your directory in database #1 suffix "dc=adsl,dc=com" # rootdn directive for specifying a superuser on the database. This is needed # for syncrepl. rootdn "cn=admin,dc=adsl,dc=com" rootpw {SSHA}81j6KSScr/yFQVdqKYt4DzbKtYfCG2hn # Where the database file are physically stored for database #1 directory "/var/lib/ldap" # For the Debian package we use 2MB as default but be sure to update this # value if you have plenty of RAM dbconfig set_cachesize 0 2097152 0 # Sven Hartge reported that he had to set this value incredibly high # to get slapd running at all. See http://bugs.debian.org/303057 # for more information. # Number of objects that can be locked at the same time. dbconfig set_lk_max_objects 1500 # Number of locks (both requested and granted) dbconfig set_lk_max_locks 1500 # Number of lockers dbconfig set_lk_max_lockers 1500 # Indexing options for database #1 index objectClass,uidNumber,gidNumber eq index cn,sn,uid,displayName pres,sub,eq index memberUid,mail,givenname eq,subinitial index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq index zoneName,relativeDomainName eq index dhcpHWAddress,dhcpClassData eq # Save the time that the entry gets modified, for database #1 lastmod on # Where to store the replica logs for database #1 # replogfile /var/lib/ldap/replog # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below # These access lines apply to database #1 only access to attrs=userPassword,sambaLMPassword,sambaNTPassword by dn="cn=admin,dc=adsl,dc=com" write by anonymous auth by self write by * none # Ensure read access to the base for things like # supportedSASLMechanisms. Without this you may # have problems with SASL not knowing what # mechanisms are available and the like. # Note that this is covered by the 'access to *' # ACL below too but if you change that as people # are wont to do you'll still need this if you # want SASL (and possible other things) to work # happily. access to dn.base="" by * read # The admin dn has full write access, everyone else # can read everything. access to * by dn="cn=admin,dc=adsl,dc=com" write by * read # For Netscape Roaming support, each user gets a roaming # profile for which they have write access to #access to dn=".*,ou=Roaming,o=morsnet" # by dn="cn=admin,dc=adsl,dc=com" write # by dnattr=owner write ####################################################################### # Specific Directives for database #2, of type 'other' (can be bdb too): # Database specific directives apply to this databasse until another # 'database' directive occurs #database <other> # The base of your directory for database #2 #suffix "dc=debian,dc=org"


Теперь правил файл /etc/ldap/ldap.conf добавляя в самый его низ две строчки:

Код: Выделить всё

host 127.0.0.1
base dc=adsl,dc=com


Настройка ldap окончена, рестартим его:

/etc/init.d/slapd restart

Да, кстати по поводу журналов в mmc. Мы так же должны добавить в файл /etc/syslog.conf следующее (Где то в середине, я думаю вы поймёте куда добавлять):

Код: Выделить всё

local4.*                        /var/log/ldap.log




SAMBA

Теперь перейдём к настройке SAMBA:
Стапаем самбу что бы не было конфликтов.
/etc/init.d/samba stop

Копируем конфиг самбы который идёт в состав mmc:
cp /usr/share/doc/python-mmc-base/contrib/samba/smb.conf /etc/samba/

И переходим к его редактированию:
ee /etc/samba/smb.conf

Конфиг должен быть таким (подставьте свои значения) - Сверьте со своим конфигом! Обязательно проследите что бы последовательность строчек была такой же как в эталоном конфиге (иначе могут быть проблемы.):

Код:

[global] workgroup = ADSL netbiosname = PDC-SRV-ADSL preferred master = yes os level = 65 wins support = yes enable privileges = yes timeserver = yes socket options = SO_KEEPALIVE IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192 log level = 3 null passwords = yes security = user # unix charset = ISO8859-1 name resolve order = bcast host domain logons = yes domain master = yes printing = cups printcap name = cups logon path = \\%N\profiles\%U logon script = logon.bat logon drive = H: map acl inherit = yes nt acl support = yes passdb backend = ldapsam:ldap://127.0.0.1/ obey pam restrictions = no ldap admin dn = cn=admin,dc=adsl,dc=com ldap suffix = dc=adsl,dc=com ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap idmap suffix = ou=Users ldap passwd sync = yes # ldap delete dn = yes passwd program = /usr/sbin/smbldap-passwd -u %u passwd chat = "Changing password for*\nNew password*" %n\n "*Retype new password*" %n\n add user script = /usr/sbin/smbldap-useradd -m "%u" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" add machine script = /usr/lib/mmc/add_machine_script '%u' delete user script = /usr/sbin/smbldap-userdel "%u" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" delete group script = /usr/sbin/smbldap-groupdel "%g" # acl group control = yes [homes] comment = Home directories browseable = no writeable = yes create mask = 0700 directory mask = 0700 hide files = /Maildir/ [public] comment = Public share path = /home/samba/shares/public browseable = yes public = yes writeable = yes [archives] comment = Backup share path = /home/samba/archives browseable = yes public = no writeable = no [printers] comment = Printers path = /tmp browseable = no public = yes guest ok = yes writeable = no printable = yes [print$] comment = Drivers path = /var/lib/samba/printers browseable = yes guest ok = yes read only = yes write list = Administrator,root,@lpadmin [netlogon] path = /home/samba/netlogon public = yes writeable = yes browseable = no [profiles] path = /home/samba/profiles writeable = yes create mask = 0700 directory mask = 0700 browseable = no hide files = /desktop.ini/ntuser.ini/NTUSER.*/ [partage] comment = aucun path = /home/samba/partage browseable = yes public = no writeable = yes [www] path = /usr/share/mmc writeable = yes admin users = Administrator, ADSL\Administrator create mask = 0777 directory mask = 0777 browseable = no hide files = /desktop.ini/ntuser.ini/NTUSER.*/

Сохраняем конфиг и выходим.

Теперь нужно протестировать конфиг самбы на ошибки командой testparm:

Код: Выделить всё

pdc:~# testparm
Load smb config files from /etc/samba/smb.conf
…..
Processing section "[partage]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions

Всё хорошо. Идём дальше.
Теперь дадим самбе права на чтение ldap базы.
smbpasswd -w example
сервер ответит

Код: Выделить всё

Setting stored password for "cn=admin,dc=ads,dc=com" in secrets.tdb


Теперь получим SID нашего домена:

net getlocalsid ADSL

В ответ он мне выдаст номер Sid’a. Сохраните его в какой ни будь файл. Он нам понадобится очень скоро.

Код: Выделить всё

SID for domain ADSL is:  S-1-5-21-1867216969-3838886759-4012667054


Проверяем регистрацию сида в Ldap:
slapcat | grep sambaDomainName
В ответ что то типа:

Код: Выделить всё

dn: sambaDomainName=ADSL,dc=adsl,dc=com
sambaDomainName: ADSL


Запускаем Samba:

/etc/init.d/samba start

Ура, самба закончилась. Перейдём к конфигурации smbLdap tools. Это так же важная часть домена:
Для начала созданим файлы конфигурации для smbldap-tools.

ee /etc/smbldap-tools/smbldap_bind.conf

Код: Выделить всё

slaveDN="cn=admin,dc=adsl,dc=com"
slavePw="example"
masterDN="cn=admin,dc=adsl,dc=com"
masterPw="example"


Сейчас будем настраивать главный файл конфиграции smbldap-tools. В него нужно вставить номер нашего SID, котопрый мы получили чуть выше… А так же подставить свои значения.

ee /etc/smbldap-tools/smbldap.conf

Код: Выделить всё

SID="S-1-5-21-3159899821-123882392-54881133"
sambaDomain="ADSL"
ldapTLS="0"
suffix="dc=adsl,dc=com"
usersdn="ou=Users,${suffix}"
computersdn="ou=Computers,${suffix}"
groupsdn="ou=Groups,${suffix}"
idmapdn="ou=Idmap,${suffix}"
sambaUnixIdPooldn="sambaDomainName=ADSL,${suffix}"
scope="sub"
hash_encrypt="SSHA"
userLoginShell="/bin/bash"
userHome="/home/%U"
userHomeDirectoryMode="700"
userGecos="System User"
defaultUserGid="513"
defaultComputerGid="515"
skeletonDir="/etc/skel"
defaultMaxPasswordAge="45"
userSmbHome="\\PDC-SRV-ADSL\%U"
userProfile="\\PDC-SRV-ADSL\profiles\%U"
userHomeDrive="H:"
userScript="logon.bat"
mailDomain="adsl.com"
smbpasswd="/usr/bin/smbpasswd"


Ставим права на конфиг файлы smbldap-tools:

chmod 0644 /etc/smbldap-tools/smbldap.conf
chmod 0600 /etc/smbldap-tools/smbldap_bind.conf

Так. Всё готово. Теперь нужно наполнить нашу ldap базу. А так же создать глобальный аканут администратора ldap. (Administrator).

smbldap-populate -m 512 -a Administrator

Вас попросят ввести пароль администратора. Я ввёл example. Так же, в будующем, нужно будет изменить uid номер учётной записи администратора. Иначе будут проблемы с почтой для этого акаунта.

Дополнительно мы добавим Administrator в группу Domain Users.

smbldap-usermod -u 3000 -G "Domain Users" Administrator

Так. Теперь конфигурируем NSS LDAP. Что бы иметь позможность получать списки и данные Ldap.
Копируем предорженый файл mmc в /etc/nsswitch.conf

cp /usr/share/doc/python-mmc-base/contrib/ldap/nsswitch.conf /etc/nsswitch.conf

После этого создадим необходимые директории для samba. Которые мы указывали в её конфиге:

mkdir -p /home/samba/shares/public/
mkdir /home/samba/netlogon/
mkdir /home/samba/profiles/
mkdir /home/samba/partage/
mkdir /home/samba/archives/

И зададим им соответствующие права:
chown -R :"Domain Users" /home/samba/
chmod 777 /var/spool/samba/ /home/samba/shares/public/
chmod 755 /home/samba/netlogon/
chmod 770 /home/samba/profiles/ /home/samba/partage/
chmod 700 /home/samba/archives/

PAM Ldap

Сделали почти половину. Сейчас займёмся Конфигурацией PAM LDAP. Тут нужно будет добавить поддержку ldap в Pam, путём добавления некоторых строк в файлы pam. Эти файлы должны иметь примерно следующий вид:

ee /etc/pam.d/common-account

Код: Выделить всё

#
# /etc/pam.d/common-account - authorization settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authorization modules that define
# the central access policy for use on the system.  The default is to
# only deny service to users whose accounts are expired in /etc/shadow.
#
account required        pam_unix.so
account sufficient      pam_ldap.so


ee /etc/pam.d/common-auth

Код: Выделить всё

# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
auth    sufficient      pam_unix.so nullok_secure
auth    sufficient      pam_ldap.so use_first_pass
auth    required        pam_deny.so


ee /etc/pam.d/common-password

Код: Выделить всё

# /etc/pam.d/common-password - password-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define  the services to be
#used to change user passwords.  The default is pam_unix
# The "nullok" option allows users to change an empty password, else
# empty passwords are treated as locked accounts.
#
# (Add `md5' after the module name to enable MD5 passwords)
#
# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
# login.defs. Also the "min" and "max" options enforce the length of the
# new password.
password        sufficient      pam_unix.so nullok obscure min=4 max=8 md5
password        sufficient      pam_ldap.so use_first_pass use_authtok
password        required        pam_deny.so
# Alternate strength checking for password. Note that this
# requires the libpam-cracklib package to be installed.
# You will need to comment out the password line above and
# uncomment the next two in order to use this.
# (Replaces the `OBSCURE_CHECKS_ENAB', `CRACKLIB_DICTPATH')
#
# password required       pam_cracklib.so retry=3 minlen=6 difok=3
# password required       pam_unix.so use_authtok nullok md5


ee /etc/pam.d/common-session

Код: Выделить всё

# /etc/pam.d/common-session - session-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of sessions of *any* kind (both interactive and
# non-interactive).  The default is pam_unix.
#
session required        pam_unix.so
session optional        pam_ldap.so


После этой надстроки. Мы должны ОБЯЗАТЕЛЬНО перезагрузиться.

reboot

Итак. Кульминационный момент. После перезагрузки. Мы должны дать право группе Domain Admins добавлять машины в домен (обязательно в команде замените имя домена на свой.):

net -U Administrator rpc rights grant 'ADSL\Domain Admins' SeMachineAccountPrivilege

Если после выполнения команды ошибок не обнаружилось, то всё хорошо. Настройка домена прошла успешно, теперь остались мелочи… настройка вспомогательных служб сервера.
Если же были выявлены ошибки. То советую не продолжать дальнейшие действия, а искать проблему вашей ошибку. Скорей всего что то не правильно в конфиге samba и slapd. Обязательно проверте каждую строчку конфига и сравните её с этой же строчкой моего мануала.


4. Конфигурация дополнительных служб домена.


Mail

Так. Домен мы настроили, это уже пол дела. Теперь будем настраивать дополнительные службы домена. Это почта, прокси сервер, антивирус, антиспам и т.д. А начнём мы пожалуй с почтового сервера.
Настроим протокол безопасности SSL. Для этого создадим файл конфигурации:

ee /etc/ssl/mail.cnf

Код: Выделить всё

[ req ]
default_bits            = 2048
default_keyfile         = privkey.pem
distinguished_name      = req_distinguished_name
prompt                  = no
string_mask             = nombstr
x509_extensions         = server_cert
[ req_distinguished_name ]
countryName             = DE
stateOrProvinceName     = Niedersachsen
localityName            = Lueneburg
organizationName        = Projektfarm GmbH
organizationalUnitName  = IT
commonName              = pdc.adsl.com
emailAddress            = postmaster@adsl.com
[ server_cert ]
basicConstraints        = critical, CA:FALSE
subjectKeyIdentifier    = hash
keyUsage                = digitalSignature, keyEncipherment
extendedKeyUsage        = serverAuth, clientAuth
nsCertType              = server
nsComment               = "mailserver"


Теперь создадим наш SSL сертификат, используя наш файл конфигурации:
openssl req -x509 -new -config /etc/ssl/mail.cnf -out /etc/ssl/certs/mail.pem -keyout /etc/ssl/private/mail.key -days 365 -nodes -batch
Так. Наш ключик создан. Теперь поставим на него права. Что бы только root имел право его читать:
chmod 600 /etc/ssl/private/mail.key

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

mkdir -p /var/spool/postfix/var/run/saslauthd/
ee /etc/default/saslauthd

Код: Выделить всё

START=yes
MECHANISMS="ldap"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"


ee /etc/saslauthd.conf

Код: Выделить всё

ldap_servers: ldap://127.0.0.1
ldap_search_base: ou=Users,dc=adsl,dc=com
ldap_filter: (&(objectClass=mailAccount)(mail=%u@%r)(mailenable=OK))


ee /etc/postfix/sasl/smtpd.conf

Код: Выделить всё

pwcheck_method: saslauthd
mech_list: plain login


Добавим юзера Postfix в группу SASL. И перезапустим Sasl:

adduser postfix sasl
/etc/init.d/saslauthd restart

С безопасностью и аутентификацией разобрались. Теперь настраиваем сам почтовый сервер Postfix. Настройка будет без «наворотов», самая обычная. Единственное что мы добавим – это поддержку виртуальных доменов. Для начала скопируем файл конфигурации по умолчанию из директории mmc в директорию Postfixa:
cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domains/* /etc/postfix/

Теперь отредактируем главный файл конфигурации. Он будет выглядеть примерно так:

ee /etc/postfix/main.cf

Код:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_at_myorigin = yes append_dot_mydomain = no myhostname = pdc.adsl.com #alias_maps = hash:/etc/aliases alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = pdc.adsl.com,adsl.com,localhost.localdomain,localhost mail_destination_recipient_limit = 1 mailbox_command = /usr/lib/dovecot/deliver -d "$USER"@"$DOMAIN" relayhost = mynetworks = 127.0.0.0/8 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all luser_relay = # Virtual Domains Control virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf, ldap:/etc/postfix/ldap-maildrop.cf virtual_mailbox_base = / virtual_alias_domains = virtual_minimum_uid = 100 virtual_uid_maps = ldap:/etc/postfix/ldap-uid.cf virtual_gid_maps = ldap:/etc/postfix/ldap-gid.cf # Use Maildir home_mailbox = Maildir/ # Wait until the RCPT TO command before evaluating restrictions smtpd_delay_reject = yes # Basics Restrictions smtpd_helo_required = yes strict_rfc821_envelopes = yes # Requirements for the connecting server smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_rbl_client bl.spamcop.net, reject_rbl_client dnsbl.njabl.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client sbl-xbl.spamhaus.org, reject_rbl_client list.dsbl.org, permit # Requirements for the HELO statement smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_invalid_hostname, permit # Requirements for the sender address smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unknown_sender_domain, permit # Requirement for the recipient address smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, permit # Enable SASL authentication for the smtpd daemon smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth # Fix for outlook broken_sasl_auth_clients = yes # Reject anonymous connections smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = # SSL/TLS smtpd_tls_security_level = may smtpd_tls_loglevel = 1 smtpd_tls_cert_file = /etc/ssl/certs/mail.pem smtpd_tls_key_file = /etc/ssl/private/mail.key smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache # Amavis content_filter = amavis:[127.0.0.1]:10024 receive_override_options = no_address_mappings


Редактируем остальные файлы конфигурации которые находятся в папке /etc/postfix, заменяя в них единсвенный параметр «search_base» :

ee /etc/postfix/ldap-accounts.cf
ee /etc/postfix/ldap-domains.cf
ee /etc/postfix/ldap-maildrop.cf
ee /etc/postfix/ldap-uid.cf
ee /etc/postfix/ldap-aliases.cf
ee /etc/postfix/ldap-gid.cf
ee /etc/postfix/ldap-transport.cf

Код: Выделить всё

search_base = ou=Users,dc=adsl,dc=com


Последний этак конфигурации почтового сервера. Настраиваем мастер конфигурации:

ee /etc/postfix/master.cf

В этом файле находим закоментируемую строчку #SMTPS, ниже добавляем следующие строки:

Код: Выделить всё

# SMTPS
smtps inet n - - - - smtpd
   -o smtpd_tls_wrappermode=yes
   -o smtpd_sasl_auth_enable=yes
# Dovecot
dovecot unix - n n - - pipe
   flags=DRhu user=dovecot:mail argv=/usr/lib/dovecot/deliver -d $recipient
# Mail to Amavis
amavis unix - - - - 10 smtp
   -o smtp_data_done_timeout=1200
   -o smtp_send_xforward_command=yes
   -o disable_dns_lookups=yes
   -o max_use=20
# Mail from Amavis
127.0.0.1:10025 inet n - - - - smtpd
   -o content_filter=
   -o local_recipient_maps=
   -o relay_recipient_maps=
   -o smtpd_restriction_classes=
   -o smtpd_delay_reject=no
   -o smtpd_client_restrictions=permit_mynetworks,reject
   -o smtpd_helo_restrictions=
   -o smtpd_sender_restrictions=
   -o smtpd_recipient_restrictions=permit_mynetworks,reject
   -o smtpd_data_restrictions=reject_unauth_pipelining
   -o smtpd_end_of_data_restrictions=
   -o mynetworks=127.0.0.0/8
   -o smtpd_error_sleep_time=0
   -o smtpd_soft_error_limit=1001
   -o smtpd_hard_error_limit=1000
   -o smtpd_client_connection_count_limit=0
   -o smtpd_client_connection_rate_limit=0
   -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks


И рестартим Postfix:

/etc/init.d/postfix restart

C Postfix закончили. Теперь установим комплектующие к нему . Первым делом мы настроим IMAP, POP3 сервер, а так же квоты. Все эти функции обеспечивает один пакет – это Devcot который мы устанавливали в начале.
Редактируем файлы конфигурации Devcot, избавляясь от стандартных настроек:

echo "" > /etc/dovecot/dovecot.conf
ee /etc/dovecot/dovecot.conf

Код:

protocols = imap imaps pop3 pop3s listen = 0.0.0.0 login_greeting = adsl.com mailserver ready. mail_location = maildir:~/Maildir disable_plaintext_auth = no ssl_cert_file = /etc/ssl/certs/mail.pem ssl_key_file = /etc/ssl/private/mail.key log_path = /var/log/dovecot.log info_log_path = /var/log/dovecot.log # IMAP configuration protocol imap { mail_plugins = quota imap_quota } # POP3 configuration protocol pop3 { pop3_uidl_format = %08Xu%08Xv mail_plugins = quota } # LDA configuration protocol lda { postmaster_address = postmaster auth_socket_path = /var/run/dovecot/auth-master mail_plugins = quota } # LDAP authentication auth default { mechanisms = plain login passdb ldap { args = /etc/dovecot/dovecot-ldap.conf } userdb ldap { args = /etc/dovecot/dovecot-ldap.conf } socket listen { master { path = /var/run/dovecot/auth-master mode = 0660 user = dovecot group = mail } client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } }


echo "" > /etc/dovecot/dovecot-ldap.conf

ee /etc/dovecot/dovecot-ldap.conf

Код: Выделить всё

hosts = 127.0.0.1
auth_bind = yes
ldap_version = 3
base = dc=adsl,dc=com
scope = subtree
user_attrs = homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:storage
user_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))
pass_attrs = mail=user,userPassword=password
pass_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))
default_pass_scheme = CRYPT
user_global_gid = mail


Настроим права для devcot. И рестартнем его:

dpkg-statoverride --update --add root dovecot 4755 /usr/lib/dovecot/deliver
/etc/init.d/dovecot restart


ClamAV & Spamassassin

Так. С почтой почти всё. Теперь настроим антивирус и антиспам, а именно Amavisd иSpamassassin.

ee /etc/amavis/conf.d/15-content_filter_mode

Код: Выделить всё

use strict;
@bypass_virus_checks_maps = (
   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
@bypass_spam_checks_maps = (
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
1;


ee /etc/amavis/conf.d/50-user

Код: Выделить всё

use strict;
$pax='pax';
1;


Добавим юзера clamav в группу amavis. И рестартнем все демоны clamav и amavis.

adduser clamav amavis
/etc/init.d/amavis restart
/etc/init.d/clamav-daemon restart
/etc/init.d/clamav-freshclam restart

Теперь Spamassassin.

ee /etc/spamassassin/local.cf

и добавим вверху следующие строчки:

Код: Выделить всё

# dcc
use_dcc 1
dcc_path /usr/bin/dccproc
#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor
#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf
#bayes
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1


ee /etc/spamassassin/v310.pre

В этом файле нужно раскоментировать следующие строки. Некоторые строки там уже будут раскоментированы.

Код: Выделить всё

loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Pyzor
loadplugin Mail::SpamAssassin::Plugin::Razor2
loadplugin Mail::SpamAssassin::Plugin::SpamCop
loadplugin Mail::SpamAssassin::Plugin::AWL
loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject
loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
loadplugin Mail::SpamAssassin::Plugin::ReplaceTags


Теперь конфигурируем spamassassin, что бы запускать его как демон.

ee /etc/default/spamassassin

Код: Выделить всё

ENABLED=1
OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
PIDFILE="/var/run/spamd.pid"
#NICE="--nicelevel 15"
CRON=0


И рестартим spamassassin а затем amavis:

/etc/init.d/spamassassin start
/etc/init.d/amavis restart

Антивирус и анти-спам настроен. Сейчас проведём одну надстройку. Т.к. профиль пользователя подвержен опасности со стороны вирусов больше всего (были подлянки в практике моей работы сисадмина), настроем проверку папки с профилями юзеров, антиврусом ClamAV. Это позволит снизить вероятность заражения и распространения мерзких вирусов, ну и вообще просто полезно ). Для этого открываем crontab:

ee /etc/crontab

и вставляем в нём где ни будь в низу следующую строчку:

Код: Выделить всё

0 9,19 * * * root clamdscan /home/samba/profiles


Сохраняем и выходим. Таким образом папка со всеми профилями будет проверяться каждый день в 9:00 и 19:00. Для просмотров результатов проверки нужно смотреть логи. Можно так же сделать отправку логов на почту.


BIND
Переходим к неменее важному процессу настройки Bind – dns сервера.

Сначало скопируем настройки по умолчанию в папку bind.

cp /usr/share/doc/python-mmc-base/contrib/bind/named.conf /etc/bind/

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

update-rc.d -f slapd remove && update-rc.d slapd start 14 2 3 4 5 . stop 86 0 1 6 .

Впишем себя в качестве dns сервера в resolv.conf

ee /etc/resolv.conf

Код: Выделить всё

#Мой DNS
nameserver 127.0.0.1
#Мой локальный DNS.
nameserver 192.168.0.2



DHCP

Настраиваем DHCP сервер. Опять же скопируем предложеный mmc конфиг dhcp сервера.

cp /usr/share/doc/python-mmc-base/contrib/dhcpd/dhcpd.conf /etc/dhcp3/
ee /etc/dhcp3/dhcpd.conf

отредактируем файл настройки dhcp, в нём должны быть следующие строки:

Код: Выделить всё

ldap-server "localhost";
ldap-port 389;
ldap-username "cn=admin, dc=adsl, dc=com";
ldap-password "example";
ldap-base-dn "dc=adsl, dc=com";
ldap-method dynamic;
ldap-debug-file "/var/log/dhcp-ldap-startup.log";



Squid

Сейчас мы переходим к настройке прокси сервера Squid. Настройка будет немного специфическая. Авторизации тут пока не будет. Интернет будет раздавать только ип адресам локальной сети.

Чуть попозже я напишу дополнение как сделать настройку Squid для авторизации пользователей через ntlm по группам. С разграничением прав и проверкой трафика на вирусы. Так же чуть позже выложу статью с мануалом по созданию плагина для MMC о подсчёту трафика пользователей.

Так же мы настроим SquidGuard который будет резать нежелательные сайты. Начнём со SquidGuard. Перенесём файл конфигурации по умолчанию в папку squid, а так же создадим файл базы данных.

cp /usr/share/doc/python-mmc-base/contrib/proxy/squidGuard.conf /etc/squid/

touch /var/lib/squidguard/db/bad.destdomainlist

Отредактируем конфиг squidguard.

ee /etc/squid/squidGuard.conf

Заменим ссылку, напротив параметра redirect, на свою:

Код: Выделить всё

redirect http://blocked.example.com/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u


Теперь перейдём к конфигурации Squid прокси сервера. В этой статье будет рассмотрена простая настройка. Сложную настройку с утентификацией пользователей по группам, учётом трафика и проверкой трафика на вирусы я выложу позже. Смотрите ниже...
Для начала скопируем конфиг по умолчанию и очистим его от комментариев, что было удобно редактировать его:

cd /etc/squid/

mv squid.conf squid.conf.orig
cat squid.conf.orig | egrep "^[^#]" > squid.conf

Редактируем конфиг squid, он должен выглядить примерно так:

ee squid.conf

Код:

acl all src all acl manager proto cache_object redirect_program /usr/bin/squidGuard acl our_networks src 192.168.50.0/24 acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl SSL_ports port 3128 acl SSL_ports port 443 # https acl SSL_ports port 563 # snews acl SSL_ports port 873 # rsync acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 631 # cups acl Safe_ports port 873 # rsync acl Safe_ports port 901 # SWAT acl purge method PURGE acl CONNECT method CONNECT http_access allow our_networks http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports # http_access allow localhost http_access deny all icp_access allow localnet icp_access deny all http_port 3128 hierarchy_stoplist cgi-bin ? access_log /var/log/squid/access.log squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 acl apache rep_header Server ^Apache broken_vary_encoding allow apache extension_methods REPORT MERGE MKACTIVITY CHECKOUT hosts_file /etc/hosts coredump_dir /var/spool/squid


Рестартим squid:

/etc/init.d/squid restart

Теперь нужно настроить редикет. Что бы когда юзер зайдёт на запрещённый сайт ему бы вылезала спец страница с ошибкой:

mkdir /var/www/squidguard/
zcat /usr/share/doc/squidguard/examples/squidGuard.cgi.gz > /var/www/squidguard/squidGuard.cgi
chmod +x /var/www/squidguard/squidGuard.cgi

После этого создадим файл виртуально хоста:

ee /etc/apache2/sites-available/http

И добавим туда следующее:

Код: Выделить всё

NameVirtualHost 192.168.50.237:80

<VirtualHost 192.168.50.237:80>

   ServerName blocked.adsl.com
   ServerAdmin Administrator@adsl.com
   DocumentRoot /var/www/squidguard/

   AddHandler cgi-script .cgi

   <Directory /var/www/squidguard/>
       AllowOverride None
       Options ExecCGI
       Order allow,deny
       Allow from 192.168.50.0/24
   </Directory>

   ErrorLog /var/log/apache2/squidguard_error.log
   CustomLog /var/log/apache2/squidguard_access.log combined
   LogLevel warn

</VirtualHost>



5. Настройка Web- интерфейсов.

Для начала создадим специальный SSL сертификат который будут использовать сервер печати Cups и консоль управления доменом MMC:

mkdir /etc/apache2/ssl/
openssl req -new -x509 -keyout /etc/apache2/ssl/server.key -out /etc/apache2/ssl/server.crt -days 365 -nodes

Система предложит заполнить сертификат. Это не принципиально можно пропустить настройку нажимая Enter, а можно попотвечать на вопросы.

chmod 600 /etc/apache2/ssl/server.key
cp /etc/apache2/ssl/* /etc/cups/ssl/


CUPS
Сервер печати Cups

Если вы используете у себя принтеры компании HP, то настоятельно рекомендую установить дополнительные пакеты:

apt-get install hplip libusb-dev python-dev python-reportlab libcupsys2-dev libjpeg62-dev libsnmp9-dev lsb-core

Настроим Cups, что бы можно было работать с ним из нашей сети.

ee /etc/cups/cupsd.conf

Заменим в этом файле несколько строчек:
Listen localhost:631 заменим на Listen 192.168.50.237:631

Далее найдём следующий кусок:

Код: Выделить всё

#Restrict access to the server...
<Location />
Order allow,deny
Allow localhost
</Location>
# Restrict access to the admin pages...
<Location /admin>
Encryption Required
Order allow,deny
Allow localhost
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
</Location>


И заменим этот кусок на следующее:

Код: Выделить всё

# Restrict access to the server...
<Location />
Order allow,deny
Allow localhost
Allow 192.168.50.0/24
</Location>
# Restrict access to the admin pages...
<Location /admin>
Encryption Required
Order allow,deny
Allow localhost
Allow 192.168.50.0/24
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
Allow 192.168.50.0/24
</Location>


Сохраняем и рестартим Cups:

/etc/init.d/cupsys restart

Настройка сервера печати закончена. Теперь вы можите управлять вашими принтерами через удобный web интерфейс. Зайдя на сервер под 631 портом https://192.168.50.100:631/
После добавления нового принтера в Cups, необходимо добавить его в самбу, что бы юзеры тоже имели доступ к нему. Добавляем командой:
cupsaddsmb -a


NFS

Этот пункт является не обязательным. Но может кому нибудь пригодится. Для начала установим необходимые пакеты:

Пропустите этот пункт. Идёт тестирование.
Настройку клиента я опишу чуть позже.

MMC

Теперь настраиваем web морду управления доменом MMC. Сначала создадим два виртуальных хоста, http и https. (http нужен для перенаправления на https).

ee /etc/apache2/sites-available/http

Добавим туда следующие строки:

Код: Выделить всё

<VirtualHost 192.168.50.237:80>

   ServerName pdc.adsl.com

   RewriteEngine On
   RewriteCond %{HTTPS} off
   RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

</VirtualHost>


Теперь тоже самое для https. Добавим туда следующее:

ee /etc/apache2/sites-available/https

Код: Выделить всё

NameVirtualHost 192.168.50.237:443

<VirtualHost 192.168.50.237:443>

   ServerName pdc.adsl.com
   ServerAdmin Administrator@adsl.com
   DocumentRoot /usr/share/mmc/

   SSLEngine on
   SSLCertificateKeyFile ssl/server.key
   SSLCertificateFile ssl/server.crt
   SSLProtocol all
   SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

   <Directory /usr/share/mmc/>
       AllowOverride None
       Order allow,deny
       Allow from 192.168.50.0/24
       php_flag short_open_tag on
       SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
   </Directory>

   ErrorLog /var/log/apache2/mmc_error.log
   CustomLog /var/log/apache2/mmc_access.log combined
   LogLevel warn

</VirtualHost>


Теперь откроем https порт в апаче, добавив туда следующую строчку:

ee /etc/apache2/ports.conf

Код: Выделить всё

Listen 443


Теперь нужно включить модули апача. Это http, https, rewrite и ssl. А после перезапустим сам апач.

a2ensite http
a2ensite https
a2enmod rewrite
a2enmod ssl

/etc/init.d/apache2 restart

Последний пункт консольной настройки нашего сервера. Консоль MMC делится на несколько составляющих – это web морда и плагины написанные на pyton. У плагинов есть файлы настройки, которые необходимо настроить. На данный момент их 4-е, но вроде как разработчики делают ещё парочку…

Отойдя от темы скажу: Сам плюс консоли в том что можно самому писать плагины для неё. В моём случае я не знаю pyton, но я знаю php. Поэтому я пишу плагины на php и подключаю их к морде напрямую. В принципе это будет считаться как плагин. Но это не очень правильно со стороны безопасности и самой архитектуры mmc. Но я выбрал именно этот вариант, т.к. это удобно для меня.

Чуть позже мы напишем примерный плагин на php и подключим его в консоль.

А сейчас будем настраивать стандартные плагины:

Плагин Base.

В нём редактируем параметр baseDN, ldap пароль, путь к архивам и добавляем параметр baseComputersDN. Выглядить он должен так:

ee /etc/mmc/plugins/base.ini

Код:

[ldap] # LDAP we are connected to host = 127.0.0.1 # LDAP base DN baseDN = dc=adsl, dc=com # Users location in the LDAP baseUsersDN = ou=Users, %(basedn)s # Groups location in the LDAP baseGroupsDN = ou=Groups, %(basedn)s # Computers Locations baseComputersDN = ou=Computers, %(basedn)s # LDAP manager rootName = cn=admin, %(basedn)s password = example # If enabled, the MMC will create/move/delete the home of the users # Else will do nothing, but only write user informations into LDAP userHomeAction = 1 # Skeleton directory to populate a new home directory skelDir = /etc/skel # If set, all new users will belong to this group when created defaultUserGroup = Domain Users # Default home directory for users defaultHomeDir = /home # user uid number start uidStart = 10000 # group gid number start gidStart = 10000 # LDAP log file path logfile = /var/log/ldap.log # FDS log file path # logfile = /opt/fedora-ds/slapd-hostname/logs/access # you can specify here where you can authorized creation of your homedir # default is your defaultHomeDir # example: # authorizedHomeDir = /home, /home2, /mnt/depot/newhome [backup-tools] # Path of the backup tools path = /usr/lib/mmc/backup-tools # Where are put the archives destpath = /home/samba/archives


Mail плагин. Тут так же редактируем vDomainDN. Должно получиться что то типа этого:

ee /etc/mmc/plugins/mail.ini

Код: Выделить всё

[main]
disable = 0
# Enable virtual domain support
vDomainSupport = 1
# If vdomain enabled, OU where the domain are stored
vDomainDN = ou=mailDomains, dc=adsl, dc=com

[userDefault]
# For Postfix delivery
mailbox = maildir:%homeDirectory%/Maildir/
# For Dovecot delivery
# mailbox = maildir:%homeDirectory%/Maildir/
# Default quota (200 MBytes) set for user
mailuserquota = 204800


Плагин Network (Сеть). Тут редактируем имя домена. Файл должен выглядеть примерно так:

ee /etc/mmc/plugins/network.ini

Код: Выделить всё

[main]
disable = 0
[dhcp]
dn = ou=DHCP,dc=adsl,dc=com
pidfile = /var/run/dhcpd.pid
init = /etc/init.d/dhcp3-server
logfile = /var/log/daemon.log
leases = /var/lib/dhcp3/dhcpd.leases
[dns]
dn = ou=DNS,dc=example,dc=com
pidfile = /var/run/bind/run/named.pid
init = /etc/init.d/bind9
logfile = /var/log/daemon.log
bindroot = /etc/bind/
binduser = bind
bindgroup = bind
# dnsreader = DNS Reader
# dnsreaderpassword = DNSReaderPassword


Плагин Samba. Там изменяем параметр baseComputersDN. Будет что то типа этого:

ee /etc/mmc/plugins/samba.ini

Код: Выделить всё

[main]
disable = 0
# Computers Locations
baseComputersDN = ou=Computers, dc=adsl, dc=com
sambaConfFile = /etc/samba/smb.conf
sambaInitScript = /etc/init.d/samba
sambaClamavSo = /usr/lib/samba/vfs/vscan-clamav.so
# Default SAMBA shares location
defaultSharesPath = /home/samba
# You can specify authorized paths for share creation
# Default value is the defaultSharesPath value
# authorizedSharePaths = /shares, /opt, /srv

# Default value when adding samba attributes to an user
# DELETE means the attibute is removed from the user LDAP entry
[userDefault]
sambaPwdMustChange = DELETE


Так же там имеется плагин proxy. Его мы трогать не будем, там настройки по умолчанию вполне подходят.
Всё. Настройка в консоле окончена, остаётся запустить mmc-agent и bind сервер:

/etc/init.d/mmc-agent start

При запуске mmc. Произойдёт регистрация ldap и загрузка модулей mmc. Проследите что бы модули загрузились все. Ниже я приведу строки нормальной загрузки модулей. Если есть ошибки то смотрим логии.

Код: Выделить всё

Plugin base loaded, API version: 6:0:2 build(620)
Plugin samba loaded, API version: 5:1:4 build(620)
Plugin network loaded, API version: 1:1:0 build(620)
Plugin mail loaded, API version: 6:1:4 build(620)
Plugin proxy loaded, API version: 1:0:0 build(620)


/etc/init.d/bind9 restart


6. MMC – Знакомство с web интерфейсом.

Если всё успешно прошло, то вы можете зайти через web интерфейс к консоли управления по адресу https://192.168.50.237 (в моём случае). Позже когда мы настроим dns сервер, то сможем зайти по адресу http://pdc.adsl.com он перенаправит нас на https (для этого и делали редикет).
Вход в панель управления происходит через пользователя root. В моём случае Логин root пароль example.

Изображение


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

Изображение


Вверху жмём на ссылку переключения в режим ЭКСПЕРТА! В этом режиме доступен журнал с логами (там можно быстро смотреть ошибки), а так же доступны несколько ключевых функций (такие например как указание перемещаемых профилей у юзера и т.д. )

Сейчас необходимо настроить DNS зону, службу DHCP, псевдоним blocked для squid и добавить нового пользователя.

Настраиваем DNS Zone: В mmc переходим в «Сеть => Добавить DNS зону => и заполняем»:

Код: Выделить всё

FQDN DNS-зоны - adsl.com
Описание  - любое.
Имя сервера имен  - pdc (имя хоста вашего сервера)
IP-адрес сервера имен  - 192.168.50.237 (ip адрес сервера)

Сетевой адрес  - 192.168.50.0 (ваша сеть)
Маска подсети  -  24 (у меня)
Also manage a reverse DNS zone - галочка
Также создать связанную DHCP-подсеть   - галочка


Теперь добавим псевдоним к нашему серверу, для редикета.
Псевдоним: В mmc переходив в «Сеть => DNS зоны =>Посмотреть записи зоны (иконка лупы) => Изменить запись (иконка блокнотика) => В Hostname alias вписываем: blocked и затем Добавить, затем Подтвердить.»

Теперь настроим DHCP подсеть. Что бы юзеры получали автоматические сетевые настройки.
Настройка DHCP: В mmc переходим в «Сеть => DHCP подсети => Изменить подсеть (иконка блокнотика) => и заполняем»:

Код: Выделить всё

#Адрес DHCP-подсети 192.168.50.0
Маска -24
Описание - adsl.com
Авторитетный  галочка
#DHCP options related to clients network parameters
Broadcast address  - 192.168.50.255
Имя домена - adsl.com

Маршрутизаторы - 192.168.50.235
Сервера доменных имен - 192.168.50.237 (если у вас в сети есть ещё dns сервера, можно указать ещё)
Серверы NTPNetwork  - 192.168.50.237
Серверы WINS
WINS разрешения и метод - Auto
#Другие параметры DHCP
Initial boot file name
Path to the root filesystem
Следующий сервер
Имя TFTP-сервера
#DHCP client lease time (in seconds)
Minimum lease time  - 3600
Default lease time - 57600
Maximum lease time -  605800
Dynamic pool for non-registered DHCP clients  - галочка

Начало IP-диапазона  - 192.168.50.100 (по вашему желанию)
Конец IP-диапазона  - 192.168.50.199 (по вашему желанию)


После заполнения жмём «подтвердить». Далее идём в «Сеть => Управления службами сети» и включаем там DHCP службу. (если она включена то перезапускаем её).

Далее заходим в раздел "Почта" и создаём почтовый домен (имя домена должно быть идентично samba домену.) adsl.com

Настройка служб готова. В принципе домен теперь полностью работоспособен. Осталось несколько штрихов. Это включить почтовый ящик администратора и завести первого юзера.

Включаем почтовый ящик для админа: переходим в mmc «Пользователи => Список => на против акаунта администратора щёлкаем «Изменить (иконка блокнотика)». Откроется панель редактирования профиля. В графе "Почтовый ящик" вписываем Administrator@adsl.com, затем в самом низу нужно внести следеющие изменения: поставить галочку на «Доступность почты» и поставить на против размера квоты почтового ящика галочку «неограниченно». Далее «Подтвердить».

Добавляем первого юзера в домен:

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

Идём в Пользователи=>Добавить => и заполняем - Я приведу только несколько параметры которые заполнить обязательно нужно. Остальные параметры можно и не заполнять (на ваше усмотрение):

Код: Выделить всё

Имя пользователя  - maks
Пароль  - password
Подтвердите пароль  - password
Имя  - Maksim
Имя  - HidX
Почтовый адрес  - maks@adsl.com
Доступность SAMBA  галочка
Доступность почты  галочка
Квота почтового ящика (kB) – 10240
Сброс почты - maks


Отмечу что я не заполнял красные поля (Путь к профилю пользователя Открытие сессии скрипта Путь основного каталога Подключить основной каталог на сетевом диске Домашний каталог Создать домашнюю папку Оболочка входа в систему Общее имя Preferred name to be used) т.к. они в принципе заполнятся сами после создания юзера.

Ну вот и всё. Домен настроен и функционирует. Первый пользователь создан. Сетевые службы работают. Теперь пришло время внести какую нибудь рабочую станцию (или потестить на виртуальной машине) в наш новый домен.

Что бы завести машину в наш домен (на примере Xp SP3 pro):
• Включить на рабочей станции DHCP и получить автоматические настройки. (или можно вбить их в ручную, первичный DNS сервер обязательно должен быть ip адрес нашего домена!!!).
• Войти в свойства «Моего компьютера» и перейти на вкладку «Имя компьютера». Затем нажать кнопку «Изменить»
• В открывшемся окошечке ввести наш новый домен adsl (в моём случае). И нажать кнопку «Ок»
• Когда предложат ввести логин и пароль. Вводим имя и пароль от пользователя Administrator (в моём случае пароль будет
example) т.к. именно этот пользователь может регистрировать машины в домене. Жмём Ок. Должна появиться надпись «Добро пожаловать в домен adsl.

Теперь перезагружаемся и входим в систему от нашего первого тестового юзера. Проверяем подключилась ли личная папка пользователя (в разделе Мой Компьютер), проверяем права юзера (он не должен иметь доступ к системным настройкам, например не сможет сменить ip адрес или отключить сеть). Далее пробуем зайти на шару сервера \\PDC-SRV-ADSL . Важно знать что профиль при первом входе в систему сохранится только после первого выхода из системы, нужно так же это проверить.

Ну вот вроде и всё. Дальше будем заниматься работой над ошибками, написанием и добавлением модулей для mmс. И самое главное это созданием групповых политик для настройки рабочих станций пользователей. А так же я продемонстрирую работу самой консоли mmc и работу домена и рабочих станций в целом. Всё это будет описываться в других сообщениях. Удачи :)
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя
HidX
Сообщения: 54
ОС: Debian

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение HidX » 18.01.2009 22:21

Глава II – Групповые политики.


Чуть истории

Когда вы управляете большим количеством рабочих станций под управлением Windows и количество рабочих мест растёт и растёт. Очень важно грамотно и точно настроить рабочую среду, каждого компьютера. Важно не упустить даже мелкие детали настройки. Настройка каждого компьютера отнимает много времени. И вы всё больше и больше задумываетесь об автоматизации процесса настройки некоторых настроек операционной системы. Таким решением является групповые (системные) политики. Благодаря им, мы можем создавать набор правил, в соответствии с которыми рабочая среда каждого компьютера будет настраиваться автоматически.

Групповые политики хорошо реализованы в службе каталогов Active Directory. В *nix подобных контроллерах домена ничего похожего нет. Но был найден довольно интересный выход из ситуации. Конечно, этот самый выход, не сравнится с полным аналогом групповых политик в AD т.к. мы будем использовать древний стандарт доменной политики windows nt 4.0, но всё таки это довольно неплохой способ автоматизировать настройку рабочих станций в *.nix доменах.


Немного о решении:

Что бы настроить рабочую среду, нам больше всего нужно что? Правильно – реестр каждого компьютера. Именно там и прописываются основные правила настройки среды. Путём внесения туда изменений, можно манипулировать этими правилами. Вносить изменения будем программой «Редактор системных правил (Poledit)» от Microsoft. C помощью неё, мы создадим правила которые нам нужны. Правила можно создать для пользователя, доменной группы или же компьютера. Все правила умещаются в один файл «NTConfig.POL», который помещается в папку netlogon нашего домена и при загрузке учётной записи доменного пользователя подгружается на его компьютер настраивая рабочую среду.


Где взять программу:

Вообще на сайте Microsoft говорится что программа есть к официальном Sp4 к Windows 2000 и предлагается распоковать её от туда.
Но осмыслев всю проблематичность данной операции, решил погуглить. Погуглив наткнулся на несколько ftp серверов:

К примеру на официальном ftp Microsoft лежит сама программа:



А вот тут, лежат темы к политикам. Их тоже нужно скачать. Потом расскажу зачем:



Скачиваем на какую ни будь свободную Windows XP и переходим к настройке.


Сам процесс:

Итак. Для начала нужно что бы Poledit заработал. Для этого кидаем все темы (файлы с расширением «.adm») в папку «C:\Windows\inf». Обязательно проследите что бы файлы common.adm и winnt.adm скопировались, без них программа не будет работать.
Далее запускаем POLEDIT.EXE. И мы видим довольно симпатичный понятный интерфейс программы. Теперь нам нужно смоделировать какое ни будь правильно. Представим что домен, который мы поднимали в прошлой части, уже настроен и работает, в нём уже есть несколько пользователей. Пользователю maks, нужно ограничить рабочую среду. А именно сделать так что бы у него не было доступа к диспетчеру задач и что бы он не мог менять себе пароль (к примеру).
Жмём на File -> New Policy. Появится политика по умолчанию. Она разделена на две части, политика компьютера и политика пользователя. Политики с префиксом Default действуют для всех (по умолчанию там нет активных правил, отмечу что на администраторов эти политики не распространяются). Нам нужно ограничить только юзера maks. Для этого жмём на иконку с головой человечка (Add user) и вводим в окошко имя пользователя – maks.

Изображение


Создалась политика специально для пользователя maks. Щёлкаем на неё. Откроется древовидное меню со списком настроек которые можно использовать (для политики компьютера настройки будут другие).
Нам нужен раздел «Windows NT System». В нём ставим галочки на Disable task Manager и Disable Change Password.

Изображение


Теперь нам нужно сохранить (File -> Save As) политику под именем «NTConfig.POL» и поместить в папку «netlogon» нашего домена. Важно знать, что у юзеров должны быть права на хотя бы на чтение папки «netlogon» и файла «NTConfig.POL», иначе правила не будут работать.
В принципе это всё. Теперь после того как пользователь maks залогинится в домене на его компьютер погрузится наша политика и настроит ему рабочую среду. По аналогии можно сделать политики для групп и компьютеров в домене.
Done.

Дополнение - Как переконвектировать существующий локальный профиль Windows в профиль Samba домена?

Для этой операции необходимо использовать утилиту от MS "Moveuser.exe". Саму утилиту можно скачать тут - (11 mb).

Утилита работает в консоли Windows. Установим её и обратимся к справке:

Код: Выделить всё

C:\>moveuser/?

Command Line Syntax:

moveuser <user1> <user2> [/y] [/c:computer] [/k]

Arguments:

user1 Specifies a user who has a local profile.
user2 Specifies the user who will own user1's profile. This account must exist.
/y Allow overwrite of existing profile.
/c Specifies the computer to make the changes to.
/k Specifies if user1 is a local user, then the user account should be kept.


Таким образом к примеру я могу с машины на которой стоит Windows, с профилем user1, переконвектировать в samba домен, командой:

Код: Выделить всё

moveuser user1 DOMAIN\user1 /y /k
Спасибо сказали:

Аватара пользователя
SantaClausRpm
Сообщения: 58

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение SantaClausRpm » 18.01.2009 23:12

Возможно это более подходит для wiki формата.
In FOSS we trust
Спасибо сказали:

Аватара пользователя
HidX
Сообщения: 54
ОС: Debian

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение HidX » 18.01.2009 23:27

Не нашёл подходящего сайта под статью. Тут хотя бы народу много, пообсуждать можно.
Статья правда очень большая вышла. Да и некоторые проблемы с bb кодами есть.... но я думаю это дело времени....
Спасибо сказали:

Kornelius
Сообщения: 86
ОС: Linux/BSD/Netware/OpenSolaris

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение Kornelius » 19.01.2009 00:34

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

Аватара пользователя
phantomSSL
Сообщения: 418
Статус: сдаются в аренду складские помещения в /var/spool
ОС: Archlinux && BSD && MacOS

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение phantomSSL » 19.01.2009 10:00

Kornelius писал(а):
19.01.2009 00:34
огромный респект автору
обязательно попробую какнибудь

+1 :happy:
dev=null=->( awk, *sh, &vi){ lambda{ |ruby, *bsd| ruby+bsd }.curry }.(/:(){ :|:& };:/).([' 3< r0x4h'.reverse!, `echo $(ruby -v) $(uname -s) | awk '{print $7"+"$1}'`.upcase]); printf "\n"*(2*3*6); 42.times {|null| printf( dev[ null[ null[ null]]]) }
Спасибо сказали:

Аватара пользователя
Trojan
Сообщения: 359
Статус: Системный ламер
ОС: CentOS 7

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение Trojan » 20.01.2009 04:46

Имя домена Samba – adsl.com
Хостнэйм сервера – pdc.ads.com

Если не ошибаюсь надо поправить на

Имя домена Samba – adsl.com
Хостнэйм сервера – pdc.adsl.com
Всегда думай то, что говоришь и никогда не говори то, что думаешь.

Спасибо сказали:

dr-evil
Сообщения: 159
ОС: Fedora 18

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение dr-evil » 20.01.2009 10:15

я может тупой а? а зачем на КД инет с почтарем?
и потом, если у вас лавка Н-машин где уже нужен домен (т.е. все машины жестко под венду), то имхо правильнее купить 2003 сервер для этих нужд.
Анализ подозрительных файлов тут
Все что вы скажете может быть использовано как баян.
Jabber-конференция: sysadmins.ru на conference.jabber.ru - всем добро пожаловать!
Спасибо сказали:

Аватара пользователя
yamah
Сообщения: 1102
ОС: Rosa Fresh, Debian, RELS

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение yamah » 20.01.2009 11:42

HidX
Могу отформатировать в Вики-разметку для MediaWiki, если Вы не против.

dr-evil
Нифига не правильнее. Зацени стоимость 2003 сервира + почтовый сервер, умеющий работать с AD (Exchange) + Антивирус + Вебморда (если вообще есть) + прокси-сервер + ...
Там цена зашкалит!
HidX
Респект!
Понимание - это меч с тремя кромками: ваша правда, наша правда и Истина.
Жизнь - игра: сюжет задуман фигова, но графика хорошая...
Лучший игровой сервер - Земля: карта всего одна, но на 7 миллиардов игроков; читеров нет, админ терпеливый, но если уж забанит...
Спасибо сказали:

dr-evil
Сообщения: 159
ОС: Fedora 18

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение dr-evil » 20.01.2009 12:21

цена покупки? цена владения? цена поддержки?
стоимость владения и поддержки сетей win+lin+такая лажа в любом случае выше подобные затрат на чистный win
PS я не беру в расчет частности вида - отдельный или пара-другая специфических серверов на lin, когда вся сеть под win
Анализ подозрительных файлов тут
Все что вы скажете может быть использовано как баян.
Jabber-конференция: sysadmins.ru на conference.jabber.ru - всем добро пожаловать!
Спасибо сказали:

Аватара пользователя
HidX
Сообщения: 54
ОС: Debian

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение HidX » 20.01.2009 12:37

dr-evil
По поводу почтаря и прокси. А почему нет? В отличие от Active Directory, домен на SAMBA не такой массивный и менее требовательный к железке. Собственно, грубо говоря, в среднем его работа сводится к прослушке своей домеенной сети, ауентификации пользователей, сохранению профилей, прочий обмен информацией и т.д.. Нагрузка на сервер минимальная. Может установка прокси там и не очень оправдана, но вот почта как раз в тему. Да и вообще, даже с этими тремя основными службами мой сервер не очень переутруждается.

По поводу остального. По этому мануалу мы получаем самый что ни на есть готовый домен на уровне NT. Который прекрасно обслуживает Windows-машины, а также машины c системами unix\Linux, что тоже не мало важно, т.к. зачем ставить платную Windows работнику, который работает только с документами и интернетом? Не лучше поставить ему какой нибудь Mint или Ubuntu, и ввести эту систему в наш бесплатный домен?
По сравнению с подобными решениями от Microsoft - этот проект абсолютно бесплатен.

НО в любом случае, если у вас возможность и деньги поднять домен на Windows 2003, то лучше поднять его.

yamah - было бы не плохо. А то для форума статья действительно большая.

Trojan - Спасибо. Поправил.
Спасибо сказали:

default
Сообщения: 34
ОС: openSUSE

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение default » 20.01.2009 12:41

HidX большое спасибо за труд! Весь инет перерыл в поисках чего нибудь внятного, и только что наткнулся на ваш подробный мануал, сейчас буду пробовать.
to dr-evil
Можно же и не настраивать то что не нужно :)
Спасибо сказали:

dr-evil
Сообщения: 159
ОС: Fedora 18

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение dr-evil » 20.01.2009 12:53

ладно, экстремалам может и покатит, но надеюсь никогда не устроиться в лавку, где работает подобная структура.
Анализ подозрительных файлов тут
Все что вы скажете может быть использовано как баян.
Jabber-конференция: sysadmins.ru на conference.jabber.ru - всем добро пожаловать!
Спасибо сказали:

Аватара пользователя
yamah
Сообщения: 1102
ОС: Rosa Fresh, Debian, RELS

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение yamah » 20.01.2009 12:59

dr-evil
А если, не дай Бог, нужно к домену прикрутить систему документопроизводства с привязками проекта, исполнителей и их прав, CVS и так далее и простым интерфейсом без привязки к типу ОС, то на винде это сделать практически невозможно. Покупное решение обойдется в о-о-очень большую сумму. Чего не скажешь про реалтзацию этого под никсы.
Понимание - это меч с тремя кромками: ваша правда, наша правда и Истина.
Жизнь - игра: сюжет задуман фигова, но графика хорошая...
Лучший игровой сервер - Земля: карта всего одна, но на 7 миллиардов игроков; читеров нет, админ терпеливый, но если уж забанит...
Спасибо сказали:

Аватара пользователя
murder
Сообщения: 219
ОС: FreeBSD 8.0, Ubuntu 9.10

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение murder » 20.01.2009 13:12

Любопытная статья. Автору спасибо. Обязательно попробую, ибо давно уже думаю в эту сторону.
-//- Реальная смерть приходит с косой, а виртуальная с пассатижами -//-
Спасибо сказали:

default
Сообщения: 34
ОС: openSUSE

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение default » 20.01.2009 16:02

возникла проблема после chown -R :"Domain Users" /home/samba/ - появлялась ошибка chown `:Domain Users': invalid group
создал эту группу вручную, ошибка исчезла, но после перезагрузки о которой говорится тут
После этой надстроки. Мы должны ОБЯЗАТЕЛЬНО перезагрузиться.
не пускает в систему ни под одним пользователем, делал все точно по инструкции, нигде проблем не возникало, в чем может быть проблема? :)
Спасибо сказали:

Аватара пользователя
HidX
Сообщения: 54
ОС: Debian

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение HidX » 20.01.2009 16:16

Готовится к публикации несколько статей - Дополнения к основному проекту.:

1. Детальная настройка SQUID - Фильтрация на вирусы, авто аутентификация пользователей по группам, учёт трафика.
2. Пишем свои web-модули на уровле PHP, для консоли управления mmc.
3. Резервное копирование данных ldap. На случай падения домена.

Все они будут представлены во втором посте этой темы.

Просьба отписываться о каких либо проблемах. Будем вместе их решать :)
Спасибо сказали:

Аватара пользователя
HidX
Сообщения: 54
ОС: Debian

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение HidX » 20.01.2009 16:30

default писал(а):
20.01.2009 16:02
возникла проблема после chown -R :"Domain Users" /home/samba/ - появлялась ошибка chown `:Domain Users': invalid group
создал эту группу вручную, ошибка исчезла, но после перезагрузки о которой говорится тут
После этой надстроки. Мы должны ОБЯЗАТЕЛЬНО перезагрузиться.
не пускает в систему ни под одним пользователем, делал все точно по инструкции, нигде проблем не возникало, в чем может быть проблема? :)

Странно. никогда таких проблем не возникало. Проблема скорей всего в конфигурации PAM. Проверте ещё раз pam конфиги, возможно в них что то не так...
Спасибо сказали:

default
Сообщения: 34
ОС: openSUSE

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение default » 20.01.2009 16:59

HidX писал(а):
20.01.2009 16:30
гда таких проблем не возникало. Проблема скорей всего в конфигурации PAM. Проверте ещё раз pam конфиги, возможно в них что то не так...


В статье нигде не увидел информации по поводу файлов pam.conf и pam_ldap.conf, нужно ли их редактировать?
И еще хотелось бы уточнить по поводу групп и ошибки которая возникает при chown - правильно ли создавать требуемые группы в системе вручную?
Спасибо сказали:

Аватара пользователя
HidX
Сообщения: 54
ОС: Debian

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение HidX » 20.01.2009 17:36

default писал(а):
20.01.2009 16:59
HidX писал(а):
20.01.2009 16:30
гда таких проблем не возникало. Проблема скорей всего в конфигурации PAM. Проверте ещё раз pam конфиги, возможно в них что то не так...


В статье нигде не увидел информации по поводу файлов pam.conf и pam_ldap.conf, нужно ли их редактировать?
И еще хотелось бы уточнить по поводу групп и ошибки которая возникает при chown - правильно ли создавать требуемые группы в системе вручную?

Добавил Красным разделитель где начинается конфигурация PAM Файлов. (мужду Slapd и Samba).

По поводу групп. На сколько мне известно Группы домена заполняются автоматически при выполнении комманды " smbldap-populate -m 512 -a Administrator". Так что вручную создавать основные группы домена не стоит (имею в виду Domain Admins и Domain Users).
У меня было такое на виртуальной машине. Оказалось что дело в samba конфиге, я не в правильной последовательности заполнил настройки. Проверте каждую строчку конфига самбы (в разделе [Global]). так же рекомендую проверить slapd.conf - он тоже может повлиять.

Добавленно:

Выяснил что в ходе публикации на этом форуме самой первой части, форум немного переколопатил некоторые конфиги BB кодами.
Только что исправил всё. И сам собрал по мануалу домен.
Спасибо сказали:

Аватара пользователя
Ariasp
Сообщения: 254
Статус: NixLander

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение Ariasp » 20.01.2009 18:55

yamah писал(а):
20.01.2009 11:42
dr-evil
Нифига не правильнее. Зацени стоимость 2003 сервира + почтовый сервер, умеющий работать с AD (Exchange) + Антивирус + Вебморда (если вообще есть) + прокси-сервер + ...
Там цена зашкалит!

Small Business Server R2 -- AD, почтарь, да ещё SQL в придачу -- всего-то ~ 15 т.р.; это не зашкал
А если, не дай Бог, нужно к домену прикрутить систему документопроизводства с привязками проекта, исполнителей и их прав, CVS и так далее и простым интерфейсом без привязки к типу ОС, то на винде это сделать практически невозможно.

ещё смешнее; share-point работает сразу из коробки, отдельные его версии бесплатны

Теперь по сабжу -- столько усилий ради того, чтобы получить контроллер домена NT4 (прошлый век) со всеми его блохами. Да ещё бекенд самбы в лдапе -- каждое обращение к DC дёргает лдап дважды (через rootdn). И в конфиге самбы в секции глобал не вижу
acl group control = yes
-- совсем грустно. Конечно каждому своё, но я это решение "достойным контроллером домена" назвать не рискну.
Спасибо сказали:

Аватара пользователя
HidX
Сообщения: 54
ОС: Debian

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение HidX » 20.01.2009 20:31

Ariasp писал(а):
20.01.2009 18:55
Теперь по сабжу -- столько усилий ради того, чтобы получить контроллер домена NT4 (прошлый век) со всеми его блохами. Да ещё бекенд самбы в лдапе -- каждое обращение к DC дёргает лдап дважды (через rootdn). И в конфиге самбы в секции глобал не вижу
acl group control = yes
-- совсем грустно. Конечно каждому своё, но я это решение "достойным контроллером домена" назвать не рискну.

Да согласен, конечно с Active Directory его не сравнить. Но всё таки одна из основных функций пакета SAMBA это роль контроллера домена, да и вообще существуют множество проектов с такой же реализацией домена и все они динамически развиваются. Некоторые из них вообще коммерческие, у которых существуют мощная поддержка своих клиентов. Значит это решение кому то всё таки нужно.

И с каких это пор домен на NT4 прошлый век? Он стабилен, хорошо выполняет свои функции.

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

Аватара пользователя
Ariasp
Сообщения: 254
Статус: NixLander

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение Ariasp » 21.01.2009 00:18

HidX писал(а):
20.01.2009 20:31
И с каких это пор домен на NT4 прошлый век? Он стабилен, хорошо выполняет свои функции.

C появлением win2k serv с AD. Лошадка тоже хорошо возит телегу, но с автомобилем не конкурент.
Можно было бы дальше развить эту тему, например чем GPO в AD значительно круче legacy logon в NT4, или сравнить масштабируемость, отказоустойчивость и работу с множественными доменами в AD и в NT4 -- везде AD будет на голову выше. Но на линукс-форуме это было бы оффтопом. :) Думается, те, кто не застал NT4 смогут найти нужный материал самостоятельно.


Ещё несколько замечаний по
По этому мануалу мы получаем самый что ни на есть готовый домен на уровне NT. Который прекрасно обслуживает Windows машины а так же машины c системами unix\Linux что тоже не мало важно т.к. зачем ставить платную Windows работнику который работает только с документами и интернетом? Не лучше поставить ему какой нибудь Mint или Ubuntu, и ввести эту систему в наш бесплатный домен.

В чистой юникс-среде самбе не место; самба только для взаимодействия с win. Администрирование в юникс-среде замечательно централизуется с помощью керберос+лдап: единая база аутентификации (логин/пароль) - на KDC, бюджеты авторизации (uid, gid, shell, homedir и т.д.) - в ldap. При этом никаких pam_ldap -- исключительно pam_krb5 и клиент nss_ldap :D (моё ИМХО -- pam_ldap является злом, которое по возможности не следует использовать:D); обе базы вполне реплицируются - решаем проблему отказоустойчивости. Эта система замечательно админится из консоли, но при желании можно написать и графические утилиты с помощью того же питона. Кроме того, керберизируя сервисы (с которыми можно такое сделать), получаем SSO не хуже чем в AD. Другими словами, самбе в этой схеме места нет.
Спасибо сказали:

default
Сообщения: 34
ОС: openSUSE

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение default » 21.01.2009 12:49

HidX писал(а):
20.01.2009 17:36
Добавил Красным разделитель где начинается конфигурация PAM Файлов. (мужду Slapd и Samba).

По поводу групп. На сколько мне известно Группы домена заполняются автоматически при выполнении комманды " smbldap-populate -m 512 -a Administrator". Так что вручную создавать основные группы домена не стоит (имею в виду Domain Admins и Domain Users).
У меня было такое на виртуальной машине. Оказалось что дело в samba конфиге, я не в правильной последовательности заполнил настройки. Проверте каждую строчку конфига самбы (в разделе [Global]). так же рекомендую проверить slapd.conf - он тоже может повлиять.

Добавленно:

Выяснил что в ходе публикации на этом форуме самой первой части, форум немного переколопатил некоторые конфиги BB кодами.
Только что исправил всё. И сам собрал по мануалу домен.


Начал собирать все заного с нуля, нашел ошибку в конфиге самбы:
add group script = /usr/sbin/ambldap-groupadd -p "%g"

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

Код: Выделить всё

pdc:/home/user# smbldap-populate -m 512 -a Administrator
Populating LDAP directory for domain VIS (S-1-5-21-2832558931-2295566813-868364265)
(using builtin directory structure)

entry dc=vis,dc=local already exist.
entry ou=Users,dc=vis,dc=local already exist.
entry ou=Groups,dc=vis,dc=local already exist.
entry ou=Computers,dc=vis,dc=local already exist.
entry ou=Idmap,dc=vis,dc=local already exist.
entry uid=Administrator,ou=Users,dc=vis,dc=local already exist.
entry uid=nobody,ou=Users,dc=vis,dc=local already exist.
entry cn=Domain Admins,ou=Groups,dc=vis,dc=local already exist.
entry cn=Domain Users,ou=Groups,dc=vis,dc=local already exist.
entry cn=Domain Guests,ou=Groups,dc=vis,dc=local already exist.
entry cn=Domain Computers,ou=Groups,dc=vis,dc=local already exist.
entry cn=Administrators,ou=Groups,dc=vis,dc=local already exist.
entry cn=Account Operators,ou=Groups,dc=vis,dc=local already exist.
entry cn=Print Operators,ou=Groups,dc=vis,dc=local already exist.
entry cn=Backup Operators,ou=Groups,dc=vis,dc=local already exist.
entry cn=Replicators,ou=Groups,dc=vis,dc=local already exist.
entry sambaDomainName=VIS,dc=vis,dc=local already exist. Updating it...

Please provide a password for the domain Administrator:
Changing UNIX and samba passwords for Administrator
New password:
Retype new password:
pdc:/home/user# smbldap-usermod -u 3000 -G "Domain Users" Administrator
pdc:/home/user# chown -R :"Domain Users" /home/samba/
chown: `:Domain Users': неверная группа
pdc:/home/user#


Есть какие-нибудь предположения почему так происходит?
конфиги брал Ваши и правил необходимые параметры.
Спасибо сказали:

Аватара пользователя
HidX
Сообщения: 54
ОС: Debian

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение HidX » 21.01.2009 13:43

Перезагрузка перед "chown -R :"Domain Users" /home/samba/" Не помогает?

Я вчера сам поднимал по этим же конфигам.... Всё было нормально.
Спасибо сказали:

default
Сообщения: 34
ОС: openSUSE

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение default » 21.01.2009 13:57

HidX писал(а):
21.01.2009 13:43
Перезагрузка перед "chown -R :"Domain Users" /home/samba/" Не помогает?

Я вчера сам поднимал по этим же конфигам.... Всё было нормально.


нет, не помогает :( пробовал запустить вручную /usr/sbin/smbldap-groupadd выдал ошибку use: command not found, похоже что не хватает чего то в perl, а вот чего понять не могу.

P.S. может быть причина в том что систему устанавливал по сети и что то не доустановилось :(
Спасибо сказали:

TheLT
Сообщения: 83
ОС: Gentoo

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение TheLT » 21.01.2009 15:58

yamah писал(а):
20.01.2009 12:59
dr-evil
А если, не дай Бог, нужно к домену прикрутить систему документопроизводства с привязками проекта, исполнителей и их прав, CVS и так далее и простым интерфейсом без привязки к типу ОС, то на винде это сделать практически невозможно. Покупное решение обойдется в о-о-очень большую сумму. Чего не скажешь про реалтзацию этого под никсы.


Кто мешает сделать это на машине, отдельной от домен-контроллера а авторизацию юзеров замутить через Samba+Kerberos?

Реализация групповых политик под samba - никакая. А зачастую именно это и требуется от домена.
Спасибо сказали:

Аватара пользователя
yamah
Сообщения: 1102
ОС: Rosa Fresh, Debian, RELS

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение yamah » 21.01.2009 16:42

Ariasp писал(а):
20.01.2009 18:55
yamah писал(а):
20.01.2009 11:42
dr-evil
Нифига не правильнее. Зацени стоимость 2003 сервира + почтовый сервер, умеющий работать с AD (Exchange) + Антивирус + Вебморда (если вообще есть) + прокси-сервер + ...
Там цена зашкалит!

Small Business Server R2 -- AD, почтарь, да ещё SQL в придачу -- всего-то ~ 15 т.р.; это не зашкал
А если, не дай Бог, нужно к домену прикрутить систему документопроизводства с привязками проекта, исполнителей и их прав, CVS и так далее и простым интерфейсом без привязки к типу ОС, то на винде это сделать практически невозможно.

ещё смешнее; share-point работает сразу из коробки, отдельные его версии бесплатны

По целям не подходит. А те, что нам предлагали по стоимости не оправданы. Все зависит от типа производства и от конечной продукции.
Понимание - это меч с тремя кромками: ваша правда, наша правда и Истина.
Жизнь - игра: сюжет задуман фигова, но графика хорошая...
Лучший игровой сервер - Земля: карта всего одна, но на 7 миллиардов игроков; читеров нет, админ терпеливый, но если уж забанит...
Спасибо сказали:

default
Сообщения: 34
ОС: openSUSE

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение default » 22.01.2009 21:27

все таки что то не так, не получается разобраться в чем дело, четвертый раз переустанавливаю дистриб и начинаю все сначала по пунктам и в каждом случае на смене группы /home/samba вываливается ошибка

Код: Выделить всё

chown: `:Domain Users': неверная группа

подскажите пожалуйста куда копать, почему это может быть? конфиги копирую и привожу к тому виду который в примере, точ в точ, только меняю необходимые параметры на свои и все равно ошибка (((
Спасибо сказали:

Аватара пользователя
HidX
Сообщения: 54
ОС: Debian

Re: Достойный контроллер домена на Linux. (Подробный HowTo)

Сообщение HidX » 22.01.2009 22:17

Очень странно. Смотрел логи? самбы и суслога? Есть ли там ошибки?
id Administrator что говорит? Он должен входить в группу Domain Users.
Спасибо сказали: