Файловий сервер під SAMBA? Без проблем, Linux, Операційні системи, статті

Юрій Лушня, Linux RSP Web Site

УВАГА: при використанні даної статті з метою створення і розробки свого файлового сервера під управлінням пакета Samba, ДУЖЕ РЕКОМЕНДУЄТЬСЯ прочитати SMB-HOWTO, NET-HOWTO, а також використовувати команди man smbclient і man smbmount для більш докладної інформації.

У даній статті мова піде про налаштування файлового сервера під управлінням Samba. Причому, тут будуть дані тільки початкові відомості з налаштування Samba. Більш детальніше про це можна дізнатися в SMB-HOWTO, а також в NET-HOWTO. Ну а в цій статті я спробую ввести початківців користувачів Linux в процес установки свого власного файлового сервера під управлінням Samba, А так само спробую зупинитися на деяких аспектах файлу smb.config.

Те, що Linux може працювати тривало і безперебійно – це ФАКТ. Виникає питання: чому б не оснастити яку-небудь “четвірку” Linux’ом і не зробити з неї сервер? Напевно, це не погане пропозицію. Більш того, більшість знайомих мені адміністраторів мережі так і роблять.

Спробуємо реалізувати дану здогад на базі пакету Samba. Даний пакет працює на основі протоколу SMB. Дуже багато плюсів він заслуговує за широку поширеність і невимогливість до ресурсів (Достатньо наявності комп’ютера на базі 80486 і 4 МБ оперативної пам’яті * ось до чого техніка дійшла 🙂 *).

Насамперед інсталюємо пакет Samba. Даний пакет складається з двох окремих програм (демонів): smbd (носій протоколу SMB) і nmbd (підтримка імен NetBIOS). Спочатку їх потрібно правильно настроїти і запустити. Тільки тоді ваша система (Linux) буде відображатися в мережі.

Є кілька варіантів завантаження smbd і nmbd демонів. Один з них, це коли запуск демонів проводиться автоматично при інсталяції. Якщо ж вам це не подобається, то можна використовувати сценарій Start-and-Stop в каталозі /etc/rc.d/init.d. Даний сценарій використовується для завантаження вищеописаних демонів в пам’ять. Якщо і це не підходить, тоді використовуйте Super-Demon Inetd (конфігураційний файл /etc/inetd.conf). При використанні останнього будьте гранично уважні і з міркувань безпеки краще використовуйте (при запуску за допомогою inetd) TCP-Swapper. Цей модуль фільтрує надходять запити відповідно із записами в файлах / Etc / hosts.allow та / etc / hosts.deny, Які дозволяють іншим комп’ютерам доступ до системи (allow) або забороняють його (deny). На основі всього цього спробуємо зробити коректні (правильні) записи в файл /etc/inetd.conf. Вони будуть виглядати наступним чином:

netbios-ssn stream tcp nowait root

usr/sbin/tcpd/usr/sbin/smbd

або ж

netbios-ns dgram udp wait

root/usr/sbin/nmbd nmbd

Характер наданих ресурсів та дозволів на їх використання визначається файлом /etc/smb.conf. Даний файл має дуже велике значення при налаштуванні Samba. Нижче я приведу “примітивний приклад” файлу smb.conf і спробую коротко описати функції того чи іншого рядка.

Всі розділи у файлі smb.conf розбиті по специфікації і укладені в прямокутні дужки [ ]. Окремі записи створені відповідно до формули Set_name = значення.

Перший розділ називається [global]

[global]
guest account = guest
security = share
printing = bsd
printcap name = /etc/printcap
load printers = yes

Тепер спробуємо розібратися з усіма цими записами. Запис guest account = guest говорить про те, що користувачі отримують доступ без реєстрації згідно облікового запису користувача-гостя (guest). Напевно, все-таки є сенс залишити цю запис (у мене, наприклад, така є в / etc / smb.conf). Але все ж слід приробити увагу і обережність при наданні прав доступу запису користувача-гостя.

Далі слід запис security = share. Вона визначає, яким чином задається ім’я користувача. Що це таке? В security можна задати одне з трьох значень: share, user, server. Якщо вказується в якості значення security = share, То при кожному доступі запитується ім’я користувача ресурсу. Запис security = user задіє ім’я користувача комп’ютера Windows (потрібно вказати ім’я користувача, під яким ви входите в мережу Windows. Пароль – відповідно). І, нарешті, якщо security = server, Тоді даний запис використовує для перевірки пароля можливості NT-Server.

Переходимо до другого розділу файлу smb.conf. Цей розділ називається [directory] і служить для спільного доступу до каталогів. Для спільного використання окремого каталогу необхідно вказати повний шлях до цього каталогу. При цьому скористаємося наступною послідовністю записів:

[directory]
comment = elk’s directory # коментар
path = спільно використовуваний каталог
read only = yes

Тут запис path встановлює, який каталог повинен використовуватися спільно (наприклад, /usr/doc/SMB-HOWTO). Ресурси, що надаються для спільного використання, повинні мати окремий запис для кожного каталогу. Для власних же каталогів користувачів колективний доступ реалізується наступним чином:

[homes]
comment = # тут можна написати коментар
browserable = yes
read only = no

Пояснення. Як ім’я мережного ресурсу, Samba використовує ім’я користувача, яке відноситься до числа “Рідних” (“своїх”). Отже, запис browserable = yes забезпечує відображення в мережі Windows спільно використовуваних каталогів. Наступний запис read only = no забезпечує можливість запису в каталогах (якщо тут no поміняти на yes, Тоді записувати в каталоги не буде можливості).

Проблеми

Проблема № 1. Закодовані паролі

З появою Windows NT 4 (ох уже цей Windows) в операційних системах Microsoft відбувається передача закодованих паролів по мережі. Цей процес відбувається так само, як і в середовищі Windows 98 (починаючи з NT Service Pack 3). На жаль, Samba не підтримує ЦЬОГО.

Що ж робити? Так як безвихідних ситуацій не буває (хоча, ніж Windows не жартує :), то спробуємо щось зробити.

Робоче оточення формується за допомогою запису в системному реєстрі (Windows): створюємо запис типу DWORD в ключі (Для Windows NT 4) HKEY_LOCAL_MACHINE \ System \ Current ControlSet \ Services \ Rdr \ Parameters або ж (Для Windows 95/98) HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ VxD \ Parameters. Даємо їй назву EnablePlainTextPassword і присвоюємо значення 1.

Це один із способів вирішення даної проблеми. Крім цього, можна встановити собі останню версію пакету Samba (наприклад, 2.05а), яка підтримує закодовані паролі.

Але, І в тому і в іншому випадку управління користувачами повинно відбуватися за допомогою команди smbpassword, А в файл smb.conf повинна додаватися запис encrypt passwords = yes.

Проблема № 2. Використання Windows-машин з Linux

Навряд чи починаючі користувачі Linux OS зможуть швидко розібратися з системою доступу до Linux-файлів з під Windows і навпаки.

Але, не все так складно. Доступ до Linux-ресурсів з під Windows був коротко описаний вище, а доступ до Windows-ресурсів з під Linux’а ми зараз розглянемо.

Програма smbclient, Що викликається з різними параметрами (довідка викликається командою man smbclient), Робить ресурси Windows доступними з Linux. Тим користувачам, які працювали з Ftp, дана програма не здасться складною. За допомогою smbclient ви можете перевіряти також конфігурацію власного Samba-сервера або інші комп’ютери вашої мережі. Робиться це за допомогою команди smbclient-L комп’ютер-U ім’я користувача

Можна також безпосередньо вбудувати мережеві ресурси Windows або Samba за допомогою команди smbmount:

smbmount / / ім’я_комп’ютера / каталог / Mountpoint-U ім’я користувача

І висновок. Можна з упевненістю сказати, що налаштування свого файлового сервера під Linux – “Справа популярне”. Якщо ж ще й врахувати, що NT-і Samba-сервер в одній мережі насилу терплять один одного (Windows 🙂 є Windows :), оскільки Samba в конкурентній боротьбі за домени має пріоритет по відношенню до NT-сервера, То варто задуматися про більш ефективному виході з ситуації, що склалася.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*