03.04.2014 Views

Май - Xakep Online

Май - Xakep Online

Май - Xakep Online

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ХАКЕР.PRO<br />

preexec = /bin/mount /media/cdrom<br />

postexec = /bin/umount /media/cdrom<br />

И в /etc/fstab:<br />

/dev/scd0 /media/cdrom iso9660<br />

defaults,noauto,ro,user 0 0<br />

С помощью Samba можно организовать возможность<br />

сетевой печати. Для этого в секции<br />

global необходимо дописать следующие строки:<br />

load printers = yes<br />

# Описание принтеров<br />

printcap name = cups<br />

disable spoolss = Yes<br />

show add printer wizard = No<br />

# Подсистема печати<br />

printing = cups<br />

Далее каждый принтер описывается аналогично<br />

дисковому ресурсу с одним исключением:<br />

вводится параметр «printable = yes». Например:<br />

[printers]<br />

# Указывает на каталог, куда помещаются<br />

задания на печать<br />

path = /tmp<br />

browseable = yes<br />

printable = yes<br />

read only = yes<br />

После создания конфигурационного файла<br />

smb.conf необходимо протестировать его с<br />

помощью утилиты testparm. При тестировании<br />

будут выведены все установки, даже<br />

те, что по умолчанию, поэтому внимательно<br />

просмотри результат. Стоит помнить, что<br />

с помощью testparm можно обнаружить<br />

синтаксические ошибки, а не логические. Поэтому<br />

нет никакой гарантии, что описанные<br />

в файле сервисы будут работать корректно.<br />

Но если программа не ругается, можно надеяться,<br />

что при запуске файл будет загружен<br />

без проблем. У меня были выданы следующие<br />

ошибки:<br />

ERROR: pid directory /var/run/<br />

samba does not exist<br />

WARNING: passdb expand explicit =<br />

yes is deprecated<br />

В первом случае создаем каталог sudo mkdir<br />

/var/run/samba, а заодно и остальные каталоги,<br />

описанные в smb.conf:<br />

/ 152<br />

xàêåð<br />

$ sudo mkdir -p /home/samba/<br />

{netlogon,docs}<br />

Чтобы убрать предупреждение, добавляем в<br />

секцию global параметр:<br />

passdb expand explicit = no<br />

Обрати внимание на запись «Server role:<br />

ROLE_DOMAIN_PDC». Она означает, что Samba<br />

настроен на работу как PDC, чего, собственно,<br />

мы и хотели добиться.<br />

Теперь создаем файл login.bat, который будет<br />

выполнен при регистрации пользователей. В<br />

нашем примере в нем содержатся команды для<br />

автоматического монтирования сетевого диска<br />

и синхронизации часов:<br />

$ sudo mcedit /home/samba/<br />

netlogon/login.bat<br />

net time \\grinder.com /set /yes<br />

net use h: \\grinder.com\docs<br />

Не забудь, что этот файл должен быть в стиле<br />

Windows, то есть с ВК/ПС в конце строки.<br />

Лучше его подготовить в блокноте, а затем<br />

скопировать в Linux-систему.<br />

Если установка Samba производилась из<br />

пакетов, то стартовые скрипты уже готовы.<br />

Запускаем сервер:<br />

$ sudo /etc/init.d/samba start<br />

Команда «ps ax | grep mbd» должна показать<br />

наличие процессов, а вывод «nestat-a» — наличие<br />

открытых портов (135, 139), характерных<br />

для Windows-систем. C помощью следующей<br />

команды получаем список ресурсов сервера:<br />

$ smbclient -L localhost -U<br />

user%password<br />

Если после всех перечисленных действий так и не<br />

удалось организовать доступ к ресурсам Samba,<br />

то при дальнейшей настройке потребуются такие<br />

утилиты, как ping (для проверки доступности<br />

узла), nmblookup (для запроса имен NetBIOS) или,<br />

уже на крайний случай, tcpdump, и, конечно же,<br />

журналы, расположенные в /vat/log/samba. Не<br />

стоит забывать и про права доступа. Ведь при назначении<br />

для пользователя каталога /gde/to/w/<br />

glubine пользователь должен зайти и в предыдущие<br />

каталоги (право на выполнение).<br />

Заводим пользователей<br />

Установив необходимую конфигурацию,<br />

надо создать учетные записи пользователей.<br />

В нашем случае данные об аутентификации<br />

пользователей Samba будут записаны в файл<br />

/etc/samba/smbpasswd, в котором содержатся<br />

имена и зашифрованные пароли пользователей.<br />

Пользователи Windows обязательно<br />

должны иметь учетную запись на Linux-компьютере.<br />

Так как механизм шифрования в сетях<br />

Windows-машин не совместим со стандартными<br />

Unix-механизмами, то для заполнения<br />

файла паролей используется отдельная утилита<br />

— smbpasswd:<br />

$ sudo useradd -s /bin/false -d<br />

/home/samba/sergej sergej<br />

$ sudo smbpasswd -a sergej<br />

$ sudo smbpasswd -е sergej<br />

В этом примере добавляется новый пользователь<br />

sergej с фиктивной оболочкой (возможны<br />

варианты /sbin/nologin, /dev/null) и домашним<br />

каталогом /home/samba/sergej. Затем создается<br />

пароль для пользователя sergej. Последним<br />

шагом включаем доступ пользователя, так как<br />

по умолчанию он отключен. Если теперь посмотреть<br />

в файл /etc/samba/smbpasswd, можно<br />

увидеть новую запись. Весьма желательно с помощью<br />

cron создать задание, которое периодически<br />

делало бы резервную копию этого файла.<br />

В системах Windows по умолчанию имеется<br />

несколько групп с четко заданной ролью: Domain<br />

Admins, Administrators, Users, Guests и прочие.<br />

Чтобы все это работало, необходимо сопоставить<br />

группы Windows и Linux. Для просмотра имеющихся<br />

в домене групп используем команду:<br />

$ sudo net groupmap list<br />

System Operators (S-1-5-32-549)<br />

-> -1<br />

...<br />

Domain Admins (S-1-5-21-<br />

497369389-3960344947-4188168368-<br />

512) -> -1<br />

Domain Guests (S-1-5-21-<br />

497369389-3960344947-4188168368-<br />

514) -> -1<br />

Domain Users (S-1-5-21-497369389-<br />

3960344947-4188168368-513) -> -1<br />

И так далее. Знак «-1» указывает на то, что<br />

пока ни одна группа не сопоставлена. Обрати<br />

внимание на цифры. Этот так называемые<br />

sambaPrimaryGroupSID и sambaSID. SID<br />

— security identifier, в Windows является неким<br />

аналогом UID в Linux, уникальным для всей<br />

сети. Получить его можно командой:<br />

$ sudo net getlocalsid<br />

Последние три цифры Domain Admins «512»<br />

— это так называемый RID (relative identifier),<br />

уникальный идентификатор пользователя доме-<br />

05 /101/ 07

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!