Створення загальних каталогів за допомогою samba
Створення загальних каталогів за допомогою Samba
Увага мережевих адміністраторів повинно бути зосереджено в першу чергу на створення надійного, безпечного і прийнятного за ціною сховища файлів. Для цього можна використовувати розроблений Microsoft NT Server, який, завдяки вдосконаленій системі безпеки домена, надає адміністратору чудовий інструмент управління доступом до файлу. Однак "шлях Windows" - не єдино можливий шлях.
Чому може виникнути необхідність використовувати Samba, а не Windows? По-перше, Samba працює під управлінням Linux, а це значить, що відкрите програмне засіб запускається на відкритій ОС. Нульові витрати на початковому етапі виглядають вельми привабливо, особливо якщо врахувати, що з часом в зростаючої мережі може знадобитися додати нових користувачів, що також хотілося б здійснювати безкоштовно. Інша перевага спільного використання Samba та Linux: надійність.
ЗНАЙОМСТВО З файлової системи LINUX
Перед тим як почати встановлювати Samba в середовищі Linux, потрібно зрозуміти, як працює файлова система Linux. Файлова система Linux схожа на NTFS: і там, і там є поняття кореневого каталогу, підкаталогів і файлів, що представляють собою різні одиниці даних. Однак файлова система Linux не використовує поняття диск (drive); файлова система Linux монтується в каталоги всередині кореневого каталогу. Набори дозволів і права власності для файлів і каталогів визначають, якими привілеями володіє користувач: читання (read), запис (write) або виконання (execute).
Як і файлова система Windows, для різних цілей Linux використовує різні каталоги. Є каталоги, які називаються / etc, в них містяться найбільш важливі для Linux конфігураційні файли; є каталоги / home, в яких знаходяться домашні каталоги користувачів. Користувач з ім'ям root також має свій домашній каталог - / root. Найбільш популярні дистрибутиви Linux використовують файли сценаріїв (script), які знаходяться в каталозі /etc/rc.d/init.d, для виконання штатного запуску та вимикання сервера.
# Rpm -e -nodeps samba
# Rpm -e -nodeps samba-common
# Rpm -e -nodeps samba-client
У число встановлюваних файлів входять:
/etc/smb.conf - конфігураційний файл;
/etc/rc.d/init.d/smb - файл запуску Samba;
файли з / usr / bin і / usr / sbin для всіляких супутніх програм.
Метод установки Samba може дещо відрізнятися в залежності від дистрибутива Linux. Зверніть увагу на версію Samba, підтримувану і обслуговується постачальником Linux, або встановіть Samba з використанням вихідного коду.
Файл /etc/smb.conf дозволяє повністю налаштувати Samba для роботи - включаючи налаштування безпеки, настройки робочої групи, опису спільно використовуваних ресурсів - все це зібрано в одному місці. Якщо в процесі установки Samba створюється файл прикладу smb.conf, його потрібно перемістити або перейменувати в /etc/smb.conf.bak. Чотири основні розділу конфігураційного файлу - це global, printers, homes. а також user-defined. і в кожному налаштовується своя індивідуальна служба.
Секція global описує глобальні характеристики Samba, такі як власне ім'я NetBIOS і асоційована робоча група. Адміністратори в основному працюють з секціями user-defined. ім'я яким задає сам адміністратор, і в яких описуються конкретні каталоги та принтери, надані для спільного доступу. Секції printers і homes описують, відповідно, загальні принтери і домашні каталоги, але в цих секціях не так багато можливостей для додаткової настройки.
Всі секції в файлі smb.conf починаються з імені секції, укладеного в квадратні дужки. Усередині кожної секції за допомогою операції привласнення можна призначити ту чи іншу значення параметра:
[
Зазвичай достатньо прийняти значення за замовчуванням для більшості параметрів Samba. Встановлювати особливо потрібно тільки ті з них, які потребують тонкої настройки.
Почніть процес налаштування Samba з вказівки імені сервера (до 15 символів) і його робочої групи в секції global. Ці настройки дозволять запустити сервер Samba. наприклад:
[Global]
netbios name =
workgroup =
Установка NetBIOS-імені не є необхідною умовою роботи Samba, оскільки за замовчуванням в якості імені Samba отримує ім'я хоста. Однак зазвичай призначення NetBIOS-імені вельми бажано, так як угода про імена NetBIOS передбачає, що в межах однієї підмережі імена хостів повинні бути унікальні, а це не завжди справедливо для імен хостів Linux-серверів. Як тест можна спробувати вказати ім'я невикористаної робочої групи. Однак після правильного налаштування Samba може знадобитися, наприклад, змінити значення параметра workgroup на ім'я існуючої робочої групи.
Тепер потрібно визначити, як Samba буде виконувати аутентифікацію користувачів. Samba підтримує два типи аутентифікації: на рівні ресурсів (share-level) і на рівні користувачів (user-level). Аутентифікація рівня share-level вимагає, щоб кожен користувач мав або обліковий запис у форматі SMB на сервері Samba або для даного спільно використовуваного ресурсу були надані права доступу користувачу anonymous. Для створення облікових записів використовується програма smbpasswd. Ці вимоги є єдиними обмеженнями на колективні ресурси при аутентифікації на рівні ресурсів; якщо користувачі мають обліковими записами SMB, то Samba. при роботі в режимі share-level, не може накласти обмеження для користувачів при зверненні до загальних ресурсів. Доступ до ресурсів, в системі Windows 9x організований інакше: тут можна додатково задати пароль на доступ до загальних ресурсів.
wins server = <10.x.x.x>
Після того, як секція глобальних параметрів налаштована, переконайтеся, що Samba запускається нормально і що в мережевому оточенні для Windows-клієнтів з'являється сервер Samba. Після завантаження Linux-сервера запуск Samba здійснюється наступним чином:
Отримавши повідомлення від файлу-сценарію init.d про те, що Samba успішно стартувала, почекайте трохи, поки сервер Samba зареєструється на сервері WINS, після чого скористайтеся командою Net View на станції Windows, щоб "побачити" Samba-сервер.
C:> net view \
Результат роботи цієї команди:
Shared resources at \
There are no entries in the list.
У міру додавання нових спільних файлових ресурсів команда Net View інформуватиме про нові загальних ресурсах сервера Samba.
СТВОРЕННЯ СПІЛЬНОГО файлових ресурсів
Переконавшись в тому, що Samba працює, створимо на Linux-сервері каталог, який Samba надаватиме для спільного доступу. Незалежно від платформи, Windows або Linux, процедура одна і та ж. Створіть каталог і переконайтеся, що відповідний користувач або група є його власником.
Зареєструйся як root і введіть команду mkdir для створення нового каталогу в файлової системі Linux (я назвав цей каталог files):
Зверніть увагу на місце, де створюється новий каталог: кореневим каталогом для нього служить домашній каталог Samba. Linux виділяє більшості служб свій обліковий запис і домашній каталог. Розміщення каталогів для спільного використання в домашньому каталозі Samba - це загальна практика для Linux, хоча новий каталог можна розмістити в іншому диску або навіть змонтувати для цих цілей мережеве пристрій зберігання. Головне, щоб носій для нового каталогу був надійним.
Щоб встановити права власності для каталогу Linux, використовується команда chown. Видайте цю команду із зазначенням облікового запису nobody (створюється автоматично при інсталяції Linux). Адміністратори Linux зазвичай використовують запис nobody для надання доступу користувачеві anonymous:
# Chown nobody / home / samba / files
Потім налаштуйте дисковий ресурс для спільного використання в файлі настройки Samba в секції user-defined. Спочатку потрібно створити секцію, вказавши в якості її імені ім'я ресурсу,, укласти його в квадратні дужки і розташувати після секції глобальних параметрів. Ім'я секції може бути будь-яким, за винятком зарезервованих імен - global, printers, homes, але для простоти назвіть її Files.
comment = Network Files
Потім в параметрі path вкажіть повний шлях до каталогу Samba, який буде загальнодоступним. Наприклад, щоб задати таке каталог в домашньому каталозі Samba, вкажіть параметр path наступним чином:
Тепер потрібно вказати, чи буде ресурс доступний для читання або для запису. За замовчуванням Samba налаштовує всі спільні каталоги на читання. Для організації доступу на запис слід використовувати параметр writeable, переписувати установку, прийняту за замовчуванням:
Установка за замовчуванням задіюється, якщо параметр writeable не вказано, чи йому присвоєно значення no.
І, нарешті, надайте параметру значення yes, щоб дозволити користувачеві anonymous доступ до спільного каталогу. Якщо користувачеві anonymous доступ заборонений, то будь-який користувач, який збирається звертатися до даного мережного ресурсу, зобов'язаний мати обліковий запис в локальній базі Samba.
Вирішуючи користувачеві anonymous доступ до ресурсу, потрібно додатково вказати обліковий запис Linux, в контексті якої користувачі стануть звертатися до файлів спільного каталогу. Цю обліковий запис можна також вказати в глобальній секції, і така настройка надалі буде використовуватися за замовчуванням, але при цьому залишиться можливість переписувати її кожен раз, коли задається спільний ресурс. Цей крок обов'язково треба виконати, так як будь-який доступ до файлової системи повинен пройти аутентифікацію і в Samba, і в Linux. Використовуйте гостьову запис guest для вказівки облікового запису nobody (облікового запису з початковим правом володіння каталогом):
guest ok = yes
guest account = nobody
Починаючи з цього моменту, ми отримуємо працездатний каталог для загального доступу. А в файлі конфігурації /etc/smb.conf буде міститися наступна інформація:
[Global]
netbios name =
workgroup =
security = share
wins server = <10.x.x.x>
[Files]
path = / home / samba / files
comment = Network Files
writeable = yes
guest ok = yes
guest user = nobody
Samba періодично сканує файл /etc/smb.conf на предмет пошуку змін і відповідним чином оновлює конфігурацію, тому немає потреби перезапускати її вручну. Однак після того як були внесені зміни в глобальну секцію і секцію Files, тільки перезапуск Samba негайно активізує внесені зміни. Для перезапуску Samba використовуйте наступні команди:
# /etc/rc.d/init.d/smb stop
# /etc/rc.d/init.d/smb start
Уникайте перезапуску Samba в робочий час; це призведе до розриву з'єднань клієнтів, що може стати причиною псування файлів. Зупинка Samba, яка володіє каталогом загального доступу, з точки зору клієнта, рівнозначна від'єднання від сервера мережевого кабелю.
Переконайтеся, що каталог files доступний по мережі. Виконайте простий пошук \:
C:> net view \
Результат виконання цієї команди зазвичай приблизно наступний:
Shared resources at \
Samba 2.0.7
Share name Type Used as Comment
---------------------
Files Disk Network Files
The command completed successfully.
Якщо команда виконана успішно, новий файловий мережевий ресурс доступний для пошуку в мережі. З цією метою можна також скористатися значком Network Neighborhood.
Крім того, слід встановити, чи можна під'єднатися до ресурсу і чи є право записи. Використовуйте команду Net Use, щоб перевірити наявність доступу, а потім виконайте операцію запису. У наведеному нижче прикладі я тестую можливість створення каталогу в новому мережевому ресурсі:
C:> net use Z: \
Результат виконання команди:
The command completed successfully.
Далі намагаюся створити новий каталог:
Volume in drive Z is Files
Volume Serial Number is 2EE5-053C
Directory of Z:
11/15/00 11: 02a
11/15/00 11: 02a
11/15/00 11: 02a
УСУНЕННЯ ПОРУШЕНЬ SAMBA
Кожен раз при створенні загального файлового ресурсу запускайте пропоновані тести для перевірки конфігурації ресурсів. Якщо будь-який із запущених тестів видасть помилку, поверніться до файлу конфігурації і заново перевірте тестируемую конфігурацію.
Крім того, настройки можна перевірити за допомогою програми testparm, включеної до складу Samba. Ця програма контролює правильність синтаксису. Додаткову інформацію для з'ясування причини помилки можна знайти в двох журнальних файлах - log.smb і log.nmb (каталог / var / log / samba). У файлі log.smb реєструється активність сервера при зверненні до загальних файлів і принтерів, а log.nmb реєструє активність, пов'язану з іменами серверів (наприклад, реєстрацію Samba на сервері WINS).
Наскільки ви вийдете за рамки простої організації файлового сервера, залежить від того, як глибоко ви вирішили "зануритися" в тандем Samba-Linux. Можна інтегрувати Samba в домен NT для обслуговування користувачів системою безпеки NT. Samba може забезпечити виконання функцій основного контролера домену (PDC). Крім того, Samba можна задіяти для підключення Windows-клієнтів до принт-серверів на Linux- або UNIX-системах. Samba дозволяє управляти виконанням завдань, пов'язаних з печаткою (тобто знімати завдання з друку, проводити моніторинг їх виконання, змінювати принтери). Можна навіть налаштувати Samba на використання зовнішніх програм для здійснення моніторингу принтерів або факсів.
Можливості програмного пакету Samba вражаючі. У міру знайомства з цим програмним продуктом все більше розкривається його міць і гнучкість. І немає різниці - чи використовується Samba в обмеженому режимі або вирішено офіційно перевести файлові і принтерні служби з NT на Linux. У будь-якому випадку Samba - непоганий вибір для мережі.