OS: FreeBSD 6.4 CPU: Intel(R) Celeron(TM) CPU 1100MHz HDD: 10 Gb DIMM: 64 Mb Ethernet: 10 Mb (10baseT/UTP) Принтер: HewLett Packard HP LaserJet 1200 (Подключен по USB 1.0) ================================================================= Контроллер домена под управлением Windows Server 2003
Устанавливаем SAMBA 3.0.34,1
//> cd /usr/ports/net/samba3 /usr/ports/net/samba3/> make config
+--------------------------------------------------------------------+ | Options for samba 3.0.34,1 | | +----------------------------------------------------------------+ | | | [X] LDAP With LDAP support | | | | [X] ADS With Active Directory support | | | | [ ] CUPS With CUPS printing support | | | | [X] WINBIND With WinBIND support | | | | [ ] ACL_SUPPORT With ACL support | | | | [ ] AIO_SUPPORT With Asyncronous IO support | | | | [ ] FAM_SUPPORT With File Alteration Monitor | | | | [X] SYSLOG With Syslog support | | | | [ ] QUOTAS With Disk quota support | | | | [X] UTMP With UTMP accounting support | | | | [ ] PAM_SMBPASS With PAM authentication vs passdb backends | | | | [ ] CLUSTER With experimental cluster support | | | | [ ] DNSUPDATE With dynamic DNS update(require ADS) | | | | [ ] EXP_MODULES With experimental modules | | | | [X] POPT With system-wide POPT library | | | | [X] PCH With precompiled headers optimization | | | | [ ] MAX_DEBUG With maximum debugging | | | | [ ] SMBTORTURE With smbtorture | | | | | | | | | | +-+------v(+)------------------------------------------------------+-+ | [ OK ] Cancel | +--------------------------------------------------------------------+
//> make && make install && make clean //> rehash
Правим файл /etc/hosts
//> cat /etc/hosts ::1 localhost.domain.local localhost 127.0.0.1 localhost.domain.local localhost # Принт-сервер 192.168.55.200 printsrv.domain.local printsrv 192.168.55.200 printsrv.domain.local. # Контроллер домена на Windows 2003 он же DNS и DHCP 192.168.55.1 server.domain.local server
Правим файл /etc/resolv.conf
//> cat /etc/resolv.conf # Мой домен domain domain.local # Указываем DNS сервер nameserver 192.168.55.1
Правим конфиг самбы до такого состояния
#======================= Global Settings ============================== [global] workgroup = DOMAIN server string = Принт Сервер security = ADS hosts allow = 192.168.55. 192.168.1. 127. load printers = yes printcap name = /etc/printcap printing = bsd print command = lpr -P %p %s -r log file = /var/log/samba/log.%m max log size = 50 password server = 192.168.55.1 realm = DOMAIN.LOCAL dns proxy = no display charset = koi8-r unix charset = koi8-r dos charset = cp866 winbind use default domain = yes winbind uid = 10000-15000 winbind gid = 10000-15000 winbind enum users = yes winbind enum groups = yes #============================ Share Definitions ======================= [homes] comment = Home Directories browseable = no writable = yes [printers] comment = Склад99 HP-1200 printer = hp read only = no browseable = yes printable = yes path = /var/spool/samba public = yes
Устанавливаем Heimdal 1.0.1
Heimdal керберос нужен для того что бы наша Система поучила ключ от Win2003 ServerДля дальнейшего подключения к ДОМЕНУ
//> cd /usr/ports/security/heimdal
/usr/ports/security/heimdal/> make config
+--------------------------------------------------------------------+ | Options for heimdal 1.0.1 | | +----------------------------------------------------------------+ | | | [ ] LDAP Use OpenLDAP as the KDC backend | | | | [ ] CRACKLIB Use CrackLib for password quality checking | | | | [ ] X11 Build X11 utilies | | | | | | | | | | | | | | +-+------v(+)------------------------------------------------------+-+ | [ OK ] Cancel | +--------------------------------------------------------------------+
Создаем конфиг Heimdal /etc/krb5.conf
//> ee /etc/krb5.conf
[libdefaults] default_realm = DOMAIN.LOCAL clockskew = 300 v4_instance_resolve = false v4_name_convert = { host = { rcmd = host ftp = ftp } plain = { something = something-else } } [realms] DOMAIN.LOCAL = { kdc = 192.168.55.1 admin_server = 192.168.55.1 kpasswd_server = 192.168.55.1 } [domain_realm] .domain.local = DOMAIN.LOCAL
Правим файл /etc/nsswitch.conf
//> cat /etc/nsswitch.conf group: files winbind group_compat: nis hosts: files dns networks: files passwd: files winbind passwd_compat: nis shells: files
Получаем билет
//> kinit -p admin admin@DOMAIN.LOCAL's Password: kinit: NOTICE: ticket renewable lifetime is 1 week //>
Проверяем получили мы ticket
//> klist Credentials cache: FILE:/tmp/krb5cc_0 Principal: admin@DOMAIN.LOCAL Issued Expires Principal Nov 20 16:16:33 >>>Expired<<< krbtgt/DOMAIN.LOCAL@DOMAIN.LOCAL //>
Подключаемся к ДОМЕНУ
//> net join -U admin admin's password: Using short domain name -- DOMAIN Joined 'PRINTSRV' to realm 'DOMAIN.LOCAL' //>
Добавляем SAMBA в автозагрузку
//> echo 'samba_enable="YES"' >> /etc/rc.conf
Ну и запускаем SAMBA
//> /usr/local/etc/rc.d/samba start Performing sanity check on Samba configuration: OK Stopping winbindd. Stopping smbd. Stopping nmbd. Removing stale Samba tdb files: ........ done Starting nmbd. Starting smbd. Starting winbindd. //>
Проверяем видит ли Samba группы, пользователей домена
//> wbinfo -g
пользователи домена контроллеры домена гости домена компьютеры домена администраторы домена бухгалтерия сотрудники отдела ит .....итд итп.....
//> wbinfo -u
администратор гость user1 user2 user3 user4 user5 ........итд итп........
//> id petrov uid=10001(petrov) gid=10000(пользователи домена)
groups=10000(пользователи домена),10007(администраторы домена),
10039(сотрудники отдела ит) //>
Настройка Принтера
Смотрим на каком интерфейсе висит принтер
//> dmesg | grep LaserJet ulpt0: HewLett Packard HP LaserJet 1200, rev 1.10/1.00, addr 2, iclass 7/1 //>
И висит оказывается на ulpt0Далее правим файл /etc/printcap
//> ee /etc/printcap
# @(#)printcap 5.3 (Berkeley) 6/30/90 # $FreeBSD: src/etc/printcap,v 1.14.24.1 2008/10/02 02:57:24 kensmith Exp $ hp-1200|hp-1200|lp:\ :sh:sd=/var/spool/lpd:\ :lp=/dev/ulpt0:\ :if=/usr/local/libexec/hpif:
Если у вас принтер весит по LPT то в printcap указываем lpt0 или какой там интерфейс задействован.Далее рисуем такой скрипт
//> ee /usr/local/libexec/hpif
#!/bin/shprintf "\033&k2G" && cat && exit 0exit 2
И даем на скрипт права на выполнение
//> chmod +x /usr/local/libexec/hpif
Запуск системы LPD
Далее добавляем в автозагрузку lpd
//> echo 'lpd_enable="YES"' >> /etc/rc.conf
И запускаем демон
//> /etc/rc.d/lpd start Starting lpd. //>
Проверка печати
Можно проверить теперь работу принтера прям из консоли набрав такую команду
//> lptest 20 5 | lpr -Pprinter-name
Где printer-name — имя принтера, заданное в файле /etc/printcapИ принтер должен распечатать вот такую фигню =)
!"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456 $%&'()*+,-./01234567 %&'()*+,-./012345678
Даже можно потом посмотреть что и когда было отправлено на печать
//> ls -l /var/spool/samba total 1696 -rw------- 1 cancer wheel 64656 10 мар 14:25 smbprn.00000001.sSsMOp -rw------- 1 cancer wheel 33191 10 мар 14:26 smbprn.00000002.sSsMOp -rw------- 1 cancer wheel 33191 10 мар 14:26 smbprn.00000003.egVcuh -rw------- 1 cancer wheel 65022 10 мар 16:26 smbprn.00000009.w8CPOQ -rw------- 1 sklad99 wheel 33782 10 мар 14:15 smbprn.00000010.4vxbM4 -rw------- 1 администратор wheel 75010 10 мар 09:39 smbprn.00000022.Ncp5eH -rw------- 1 администратор wheel 113137 10 мар 09:43 smbprn.00000024.1MSZe0 -rw------- 1 cancer wheel 65715 10 мар 10:21 smbprn.00000025.hYve8x -rw------- 1 cancer wheel 140420 10 мар 10:48 smbprn.00000026.Pn9AJr -rw------- 1 cancer wheel 141355 10 мар 10:49 smbprn.00000027.9yBXns -rw------- 1 sklad99 wheel 48457 10 мар 16:38 smbprn.00000029.3WyMn8 -rw------- 1 sklad99 wheel 43534 10 мар 16:46 smbprn.00000031.3WyMn8 //>
P.S Пробовал положить дрова на сервак (для того что бы дрова ставились прям с сервака), но как то не получилось, если кому удалось это сделать просьба отписаться. =)Документация:http://freebsd.org.ua/doc/ru_RU.KOI8-R/books/handbook/printing-intro-setup.html#PRINTING-SIMPLEhttp://www.freebsd.org.ru/how-to/printerconfig.html