Лабораторна робота №10, Створення та налаштування файл- та прінт-сервера під Linux з використанням протоколу SAMBA
Код роботи: 3760
Вид роботи: Лабораторна робота
Предмет: Комп’ютерні системи та мережі
Тема: №10, Створення та налаштування файл- та прінт-сервера під Linux з використанням протоколу SAMBA
Кількість сторінок: 9
Дата виконання: 2015
Мова написання: українська
Ціна: безкоштовно
Мета: Оволодіти базовими навичками по створенню файл та принт серверів в різних операційних системах з використанням протоколу SAMBA.
Короткі теоретичні відомості
За допомогою Samba можна зробити наступне:
1. Давать доступ к дисків linux Windows-машинам.
2. Організовувати доступ до дисків Windows для машин під linux.
3. Давати доступ до принтерів linux для Windows-машин.
4. Організовувати доступ до принтерів Windows для linux-систем.
Налаштування SAMBA-сервера виконується редагуванням файлу конфігурацій програмного пакету SAMBA: smb.conf, який знаходиться за адресою /etc/smb/smb.conf. Кількість параметрів, які можна задати Самбі надзвичайно велика.
Зупинимося лише на описі деяких основоположних моментів.
Рядки файлу конфігурації
Рядки файлу конфігурації це рядки привласнення значення параметру ('name = value'), коментарі або назви секцій. Рядок коментаря завжди починається з # або;. Рядки, що закінчуються символом зрощуються з наступним рядком, що є стандартним для UNIX систем.
Регістри
SAMBA при прочитуванні файлу настройки не враховує регістр букв, тобто 'Name' еквівалентне 'name'.
Секції файлу настройок
Весь файл складається з секцій, позначається: [section]. Секції описують ресурси, що надаються. Обов'язковими секціями є [global], [homes] і [printers], які визначають відповідно глобальні параметри, параметри доступу до домашніх каталогів користувачів і системних принтерів. Для найпростішої настройки цих трьох секцій цілком достатньо. При бажанні можна організовувати необмежену кількість секцій надаючи і настроюючи ресурси які ви хочете.
Змінні оточення SAMBA
У файлі настройок допустимо використовувати посилання на змінні оточення SAMBA. Наприклад, при описі параметра "path = /tmp/%u" сприйматиметься як "path =/tmp/ivan" якщо до ресурсу звертається користувач ivan. Опишемо деякі змінні оточення SAMBA:
%S = ім'я активного сервісу, якщо існує
%P = кореневий каталог активного сервісу, якщо існує
%u = користувач активного сервісу, якщо існує
%g = головна група користувача %u
%U = ім'я користувача, який звернувся до ресурсу
%H = домашній каталог призначений користувачу %u настройками SAMBA
%v = версія SAMBA
%h = ім'я вузла, на якому працює
%m = NetBIOS ім'я машини, з якої запитується ресурс
%L = NetBIOS ім'я серверу, дозволяє працювати з декількома іменами
%M = ім'я вузла, з якого запитується ресурс
%R = встановлений рівень протоколу (доступно після встановлення контакту). Варіанти: CORE, COREPLUS, LANMAN1, LANMAN2 або NT1.
%d = PID процесу SAMBA
%a = архітектура клієнтської машини. Розпізнаються лише деякі платформи. На сьогоднішній момент пізнаються Samba, WfWg, WinNT і Win9х, Win2K. Всі інші можуть сприймаються як "UNKNOWN".
%I = IP адреса клієнтського вузла
%T = поточна дата і час
Існують ще деякі змінні, уточнити які ви можете в описах вашої версії ПО SAMBA.
Параметри
Приведемо також декілька прикладів файлів настройки smb.conf: а) Для однорангової мережі персональних комп'ютерів з САМБА сервером
b) Для роботи САМБА серверу в системі з NT станціями і іншими САМБА серверами
#======================= Global Settings ===================================
[global]
workgroup = AU208
server string = Samba Server ws rms206_1
hosts allow = 192.168.206. 127.0.0.1
og file = /usr/local/samba/var/log.%m
max log size = 50
security = server
password server = webserver
dns proxy = no
#======================= Share Definitions ==============================
[homes]
comment = Home Directories
browseable = yes
guest ok = no
read only = no
writable = yes
В даному прикладі на користувачам UNIX системи надається доступ до їх домашніх каталогів, авторизація при цьому довіряється NT серверу (з іменем webserver). При цьому у користувача ввійшов з Windows9х з реквізитами зареєстрованими на NT сервері при зверненні до ресурсів SAMBA пропадає необхідність повторного введення пароля.
Щоби організувати доступ для всіх, створіть наступне в smb.conf:
[public]
comment = Public Stuff
path = /home/public
public = yes
writable = yes
printable = yes
Щоби зробити дану директорію доступною для читання всіми, але дозволити писати в неї тільки людям із групи staff, змініть наведені записи згідно наведеного прикладу:
[public]
comment = Public Stuff
path = /home/public
public = yes
writable = yes
printable = no
write list = @staff
Для монтування віддаленого SMB диску з українськими (російськими) іменами файлів отримуємо список ресурсів:
smbclient -L 192.168.206.1
Монтуєм:
smbmount "//192.168.0.1/shared" /mnt/ws1 -o guest,iocharset=1251,codepage=cp866
Доступ до принтера Linux для Windows-машин
Для розділення принтера linux з Windows машинами, вам необхідно переконатися, що принтер працює під Linux. Якщо ви можете друкувати під Linux, установка доступу до нього дуже проста.
Оскільки автор використовує принтер, підключений до машини з Windows, цей розділ не повинен розглядатися як остаточний, а тільки як рекомендація.
Добавте настройку принтера у ваш файл smb.conf:
[global]
printing = bsd
printcap name = /etc/printcap
load printers = yes
log file = /var/log/samba-log.%m
lock directory = /var/lock/samba
printers]
comment = All Printers
security = server
path = /var/spool/lpd/lp
browseable = no
printable = yes
public = yes
writable = no
create mode = 0700
[ljet]
security = server
path = /var/spool/lpd/lp
printer name = lp
writable = yes
public = yes
printable = yes
print command = lpr -r -h -P %p %s
Переконайтеся, що шлях до принтера (в цьому випадку для [ljet]) відповідає директорії спула в /etc/printcap!
ЗАМІТКА: Існують деякі проблеми з доступом до доступних принтерів на UNIX-машинах для машин з Windows NT використовуючи Samba. Одна проблема в тому, що NT неправильно бачить доступний принтер. Для виправлення цього, дивіться замітку в поставці Samba у файлі docs/WinNT.txt. Інша проблема пов'язана з проблемою пароля. Дивіться коментар в тому ж самому файлі.
Доступ до принтера Windows з машин під Linux
Для доступу до принтера на Windows машині, ви повинні зробити наступне:
a) ВИ повинні мати правильні записи у файлі /etc/printcap і вони повинні відповідати локальній структурі директорій (для директорії спула, і т.п.)
b) У вас повинен бути скрипт /usr/bin/smbprint. Він йде разом з початковими текстами Samba, але не зі всіма двійковими дистрибутивами Samba. Його трохи модифікована копія обговорюється нижче.
c) Якщо ви хочете перетворювати ASCII файли в Postscript, ви повинні мати nenscript, або його еквівалент. nenscript -- це конвертор Postscript, він звичайно встановлюється в директорію /usr/bin.
d) Ви можете хотіти зробити друк через Samba більш легким за допомогою програми-надбудови. Простий скрипт на реrl, який обробляє ASCII, Postscript або перетворений Postscript даний нижче.
Запис в /etc/printcap нижче приведено для принтера HP 5MP на сервері Windows. Записи наступні:
cm - коментар
lp - ім'я пристрою, що відкривається для виводу
sd - директорія спула принтера (на локальній машині)
af - файл обліку користування принтером
mx - максимальний розмір файлу (нуль -- без обмежень)
if - ім'я вхідного фільтру (скрипта)
# /etc/printcap
# //zimmerman/oreilly via smbprint
lp:
:cm=HP 5MP Postscript OReilly on zimmerman:
:lp=/dev/lp1:
:sd=/var/spool/lpd/lp:
:af=/var/spool/lpd/lp/acct:
:mx#0:
:if=/usr/bin/smbprint:
Переконайтеся, що директорії спула і обліку користування існують і мають право на запис. Переконайтеся, що рядок 'if' містить правильний шлях до скрипта smbprint (даний нижче) і будьте упевнені, що вказується на правильний пристрій (спеціальний файл /dev).
Далі йде сам скрипт smbprint. Він звичайно знаходиться в директорії /usr/bin і що відноситься до Andrew Tridgell, людині хто створив Samba. Цей скрипт йде з дистрибутивом початкового коду Samba, але відсутній в деяких бінарних дистрибутивах.
Головною проблемою друку є те, що не всі принтери здатні працювати з Лінукс, оскільки вони повинні підтримувати друк Post Script. Зокрема неможливо друкувати на Canon LBP-800, 1120; HP LJ 1000W, 1003, оскільки вони являються чисто Windows орієнтованими принтерами і не підтримують вище вказаної мови друку.
Порядок виконання роботи
1. Завантажте комп’ютер під керуванням Linux.
2. Отримайте від викладача пароль адміністратора.
• Примітка: Вносити будь які зміни, не заплановані завдання до роботи, забороняється.
3. Створіть папку для розподілу ресурсів, задавши в якості імені власне прізвище.
4. Знайдіть файл smb.conf.
5. Відредагуйте файл таким чином, щоби надати доступ до нього всім користувачам.
6. Перезапустіть SAMBA.
7. Перевірте можливість доступу до створеної папки із Windows комп’ютера.
8. Отримайте список доступних ресурсів на Windows комп’ютері.
9. Виконайте підключення одного із доступних ресурсів.
10. Спробуйте виконати операції копіювання на підключені ресурси довільної папки з власним прізвищем в якості назви.
11. Показати результати роботи викладачу.
12. Відмонтуйте ресурс.
13. Вийдіть із режиму адміністратора.
14. Підключіть до комп’ютера принтер.
15. Завантажте комп’ютер і встановіть відповідні драйвери до принтера, попередньо отримавши пароль адміністратора для доступу до системи.
16. Зробіть принтер спільним для кількох користувачів із операційною системою Windows.
17. Видрукуйте текст, який буде містити довільний фрагмент із завдання до лабораторної роботи.
18. Вимкніть комп’ютер і відключіть принтер.
19. Підключіть принтер до комп’ютера із операційною системою Windows.
20. Налаштуйте друк із вашого комп’ютера з операційною системою Linux на принтер.
21. Оформити звіт.