Freebsd, будні адміністратора - part 4

Для роботи в домені, нам як зазвичай знадобиться Samba
Встановив з портів
/ Usr / ports / net / samba3 /
Протестував з версією 3.0.35, потрібно перевірити на 3.3.6

make config
В опціях включив наступне:

With LDAP support
With Active Directory support
With CUPS printing support
With WinBIND support
With ACL support
With UTMP accounting support
With system-wide POPT library

make
make install
rehash

Всі підлеглі по дереву порти, при установці залишив з конфігураціями за замовчуванням. Примітно те, що тепер немає необхідності встановлювати і налаштовувати окремо порт heimdal, тепер ці механізми встановлюються з самбою.

У файлі /etc/nsswitch.conf
group: compat
замінив на
group: files winbind
і додав рядок
password: files winbind

Створив конфиг для krb5
touch /etc/krb5.conf
з вмістом (в конфіги дуже важливий регістр і пунктуація):
[Logging]
default = FILE: /var/log/krb5libs.log
kdc = FILE: /var/log/krb5kdc.log
admin_server = FILE: /var/log/ksadmind.log
[Libdefaults]
default_realm = TESTDOM.RU
dns_lookup_kdc = false
dns_lookup_realm = false
ticket_lifetime = 24h
default_tgs_enctypes = DES-CBC-CRC DES-CBC-MD5 RC4-HMAC
default_tkt_enctypes = DES-CBC-CRC DES-CBC-MD5 RC4-HMAC
preferred_enctypes = DES-CBC-CRC DES-CBC-MD5 RC4-HMAC
[Realms]
TESTDOM.RU = kdc = pdc.testdom.ru.: 88
admin_server = pdc.testdom.ru.: 749
default_domain = testdom.
>
[Domain_realms]
.testdom. = TESTDOM.RU
testdom = TESTDOM.RU

Після цього перевантажив машину.

Далі в командному рядку потрібно звернутися до Керберос pdc і отримати тимчасовий тікет на роботу в домені. Для цього треба звернутися до домену під обліковим записом з правами адміністратора домену. У мене це стандартний Administrator.
виконав:
kinit administrator
ввів пароль цій учеткі:
Спершу не вийшло. не захотіло працювати по UDP
kinit administrator
[email protected]`s Password:
kinit: krb5_get_init_creds: Response too big for UDP, retry with TCP

довелося виправити конфіг в рядку
kdc = pdc.testdom.ru.: 88
на
kdc = tcp / pdc.testdom.ru.: 88

і повторити процедуру. З другої спроби все пройшло вдало:

kinit administrator
[email protected]'s Password:
kinit: NOTICE: ticket renewable lifetime is 1 week

Далі настроїв конфиг самби в
/usr/local/etc/smb.conf

У etc / rc.conf дозволив запуск Стартостопні скрипта самби
samba_enable = "YES"

стартував самбу
/usr/local/etc/rc.d/samba start

і приєднатися машину в домен:

net ads join -U administrator
administrator's password:
Using short domain name - TESTDOM
Joined 'SMB' to realm 'TESTDOM.RU'

Усе. Машина успішно підключилася до домену.

Для установки ТУЛЗ на FreeBSD 7.x потрібні бібліотеки сумісності з 6.x
ставимо порт
/ Usr / ports / misc / compat6x
make
make install

далі монтуємо диск з вмварь ТУЛЗ до системи
mount / cdrom /

далі копіюємо з каталогу / cdrom / архів з ТУЛЗ vmware-freebsd-tools.tar.gz куди нитка собі
демонтуємо диск з вмварью з системи
umount / cdrom /

розпаковуємо
gunzip vmware-freebsd-tools.tar.gz
tar -xvf vmware-freebsd-tools.tar

йдемо в каталог / vmware-tools-distrib
і запускаємо на виконання vmware-uninstall-tools.pl (перл повинен бути встановлений в системі)
perl vmware-install.pl

на всі питання скрипта натискаємо enter залишаючи стандартні відповіді на них
по закінченню інсталяції скрипт запропонує запустити скрипт ініціалізації tools-ів /usr/loca/bin/vmware-config-tools.pl
запускаємо його і чекаємо відпрацювання.

В принципі після цього я для чистої совісті роблю перезавантаження гостьової осі, але це не обов'язково.

Відразу обмовлюся - користуватися portupgrade бездумно не слід. Потрібно повністю розуміти процес оновлення і залежності між портами. Порт іноді може наробити косяків, які потім доведеться оперативно виправляти вручну. Ідеально підходить для вузькоспеціалізованих хостів, де встановлено невелику кількість портів.
Для початку оновлюємо дерево портів на хості. Після чого встановлюємо portupgrade:

/ Usr / ports / ports-mgmt / portupgrade
make
make install
rehash
reboot

Після цього оновлюємо всі порти з рекурсивної перевіркою залежностей в обидві сторони
portupgrade -arR

Після завершення оновлення порт видасть статистику виконаної роботи. Вкаже які порти оновлено а які ні і чому.

Після кожного cvsup потрібно проводити оновлення бази стану портів /var/db/pkg/pkgdb.db
Для цього виконуємо
portsdb -Uu

Іноді треба проводити рекалькуляцію цілісності бази станів портів, виконуючи
pkgdb -F

Корисна команда примусово усуває накопичені суперечності в базі станів портів
pkgdb -fu

Оновлення індексу версій портів локально
make -C / usr / ports index

і через закачування готового індексу онлайн
make -C / usr / ports fetchindex

Швидка настройка PureFTPd на FreeBSD.

На mysql створюємо базу ftp на 4 поля
User varchar (16) ключ
Password varchar (16)
Dir varchar (32)
Uid int (11)
Gid int (11)

створюємо користувача ftp з правами читання на базу ftp

встановлюємо порт pure-ftpd
/ Usr / ports / ftp / pure-ftpd
make
вибираємо опції
MySQL
PAM
SENDFILE

make install
в /etc/rc.conf додаємо
pureftpd_enable = "YES"

якщо версія freebsd до 5.х то в /usr/local/etc/rc.d/pure-ftpd.sh
правимо рядок
etc / rc.subr
на
. "/usr/local/etc/rc.subr"

в іншому випадку демон не запуститься і видасть помилку:
# ./pure-ftpd.sh start
. Can not open etc / rc.subr: No such file or directory

Якщо версія FreeBSD вище 5 то правка не обов'язкова.

Правимо конфігураційні файли, їх знадобиться два (в лістингу приведений мінімальний набір параметрів для запуску демона):
файл /usr/local/etc/pure-ftpd.conf
він повинен містити такі інструкції:
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 8
VerboseLog no
DisplayDotFiles no
AnonymousOnly no
NoAnonymous no
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf
LimitRecursion 10000 16
AnonymousCanCreateDirs no
MaxLoad 4
PassivePortRange 30000 40000
AntiWarez yes
Bind YYY.YYY.YYY.YYY, 21
Umask 133: 022
MinUID 80
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload no
MaxDiskUsage 99
CustomerProof yes

файл /usr/local/etc/pureftpd-mysql.conf
MYSQLServer localhost
MYSQLPort 3306
MYSQLUser ftp
MYSQLPassword ftp
MYSQLDatabase ftp
MYSQLCrypt cleartext
MYSQLGetPW SELECT Password FROM Users WHERE User = "\ L"
MYSQLGetDir SELECT Dir FROM Users WHERE User = "\ L"
MYSQLGetUID SELECT Uid FROM Users WHERE User = "\ L"
MYSQLGetGID SELECT Gid FROM Users WHERE User = "\ L"

За умови що наш MySQL сервер слухає localhost на 3306 порту. Якщо інакше - виправляємо на свої значення.

Корисний порт для адміністрування сервера через web-консоль. Як то кажуть "маст-хев" для ледачих адмінів :)
Ставимо з портів:
/ Usr / ports / sysutils / webmin
make
make install

додаємо в /etc/rc.conf
webmin_enable = "YES"

запускаємо скрипт конфігурації /usr/local/lib/webmin/setup.sh

Log file directory [/ var / log / webmin]:
залишаємо як є

Full path to perl (default / usr / bin / perl):
залишаємо як є
при коректно встановленому в системі perl має видати

Testing Perl.
Perl seems to be installed ok

Web server port (default 10000):
Вибираємо порт на якому буде слухати демон webmin. Рекомендую змінити зі стандартного в цілях безпеки
пишемо наприклад 56123, що і буде нашому портом.

Login name (default admin):
Початковий користувач webmin з повними адміністраторськими правами. Так само рекомендую змінити
пишемо наприклад webminadmin

Login password:
виставляємо пароль користувачу webminadmin
Password again:
підтверджуємо пароль

Use SSL (y / n):
Вибираємо який протокол обміну буде використовуватися http або https.
Рекомендую використовувати https, якщо сервер розташований віддалено і є ймовірність "просніфіть" пакети обміну.

Чекаємо закінчення роботи скрипта ініціалізації, запускаємо стартстопний скрипт:
/usr/local/etc/rc.d/webmin start

Якщо встановлений файрвол, дозволяємо коннект ззовні до сервера по порту 56123.
Для ipfw правило буде виглядати так:
ipfw add 01000 allow udp from any to me 56123

Підключаємося через браузер до нашого сервера з запущеними вебміном:

Copyright © 2024