Linux - чудова операційна система, але від Windows ми не куди не подінемось і він від нас теж. Windows буде оточувати нас завжди - будь то домашня, корпоративна мережаабо інтернет-кафе. Нам постійно доведеться обмінюватися документами з Windows-комп'ютерами - адже далеко не всі користувачі вважають за краще працювати в Linux. Маючи у своєму розпорядженні сервер на Linux , у будь-якому випадку виникне необхідність взаємодії з Windows-комп'ютерами, тому й йтиметься про підключення Linux до мережі Microsoft.
Установка Samba
Для встановлення Samba нам потрібно встановити пакети samba та samba-client. Бажано встановити пакет smbfs. Крім того, система поставить на оновлення пакет samba-common, який, можливо, вже встановлений у системі. Усі мої маніпуляції будуть проводитись на Ubuntu 10.04, основні відмінності інших дистрибутивів – це спосіб установки. Для Ubuntu через консоль, таким чином:
$ sudo apt — get install samba
Або використовуючи менеджер пакетів Synaptic, Що я і зробив, такий варіант виявився зручнішим для мене, оскільки можна було вибрати зі списку ті пакети, які мені потрібні, це були:
samba
smbclient
samba-common
Якщо ви колись використовували інший дистрибутив Linux, то, напевно, знайомі з програмою LinNeighborhood. Це графічна програма, яка дає змогу переглядати ресурси Windows-мережі. У Ubuntu в ній немає потреби. По перше, штатні засоби GNOME дозволяють переглядати Windows-мережі. А по-друге, заради інтересу було встановлено програму LinNeighborhood з одного з репозиторіїв Ubuntu. З'ясувалося, що ця програма, знайдена Synaptic, взагалі не придатна для використання (проблеми з локалізацією). Ну і добре, сенс розбиратися, якщо є відмінні стандартні засоби, які вже працюють.
Базове налаштування Samba
На цьому етапі вважатимемо, що утиліта встановлена. Основний конфігураційний файл Samba – /etc/samba/smb.conf. Його необхідно відкрити та змінити кілька параметрів. Перший це workgroup - він задає ім'я (на Ваш вибір) робочої групи або домену NT:
WORKGROUP = MyHomeGroup
Можна також встановити параметр comment - це опис вашого комп'ютера:
comment = My Linux computer
Встановіть параметр security. Якщо мережа клієнт/сервер, потрібно вибрати параметр server, а якщооднорангова мережу (тобто мережу без виділеного сервера), потрібно вибрати user чи share:
security = share
Ім'я гостьового облікового запису встановіть так:
guest account = guest
Також потрібно налаштувати кодування:
client code page = 866
character set = utf8
Для того, щоб Samba працював швидше, встановіть такі опції:
socket options = TCP_NO DELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = no
Параметр interfaces вказує інтерфейси, у яких має працювати сервіс Samba. Необхідно вказати ті інтерфейси, які пов'язують нашу машину з Windows-мережами:
interfaces = 192.168.0.22/24
Налаштування загальних ресурсів
Тепер залишилося налаштувати ресурси, які ми хочемо надати у спільне користування, це секція [ public].
# загальний каталог
comment = Public Directory
# шлях
path = /var/samba
# не тільки читання
read only = no
# дозволити запис
writable = yes
# дозволити гостьовий доступ
guest ok = yes
# дозволити перегляд вмісту каталогу
browseable = yes
У цьому випадку загальним ресурсом нашого комп'ютера буде каталог /var/samba (його потрібно створити, оскільки за умовчанням у системі немає такого каталогу). В нього інші користувачі зможуть записувати свої файли (read only=no, writeable=yes), природно, вони зможуть їх читати (browseable=yes). Перевірка імені користувача та пароля для доступу до ресурсу не потрібна (guest ok=yes) – використовується так званий гостьовий доступ. Коментар "Public Directory" побачать інші користувачі Windows-мережі під час перегляду ресурсів нашого комп'ютера.
Якщо є необхідність надати спільний доступ («розшарити») до домашніх каталогів користувачів, то йдемо до секції. Розкоментуємо всі рядки, закоментовані за допомогою крапки з комою до рядка; Т. е. повинно вийти наступне:
comment = Home Directories
browseable = no
valid users = %S
writable = no
create mask = 0600
directory mask = 0700
Зараз каталоги користувача не будуть видно в списку загальних ресурсів, звернутися до них можна за адресою \\сервер\ім'я_користувача . Наприклад, \serverpetya. Якщо потрібно, щоб ресурси можна було переглянути, тоді встановлюємо значення yes для параметра browseable:
browseable = yes
Після всіх змін зберігаємо файл конфігурації та запускаємо (або перезапускаємо – restart) Samba:
$ sudo /etc/init.d/samba start
Перегляд ресурсів Windows-мережі
Переглянути ресурси мережі Windows можна за допомогою програми smbclient, але вона працює в текстовому режимі, тому не зовсім зручна у використанні. Набагато зручніше використовувати браузер файлів для перегляду ресурсів мережі. Зробити це можна за допомогою меню Перехід З'єднатися із сервером…
Секрети оптимізації Samba
Тепер поговоримо про те, як змусити Samba працювати трохи швидше. Якщо ви відкриєте файл конфігурації smb.conf, знайдете в ньому параметр wide links. Ніколи не встановлюйте його в no ! Так ми значно знизимо продуктивність Samba. Навпаки, встановити його потрібно в yes (якщо раніше параметр wide links був відключений), що істотно підвищить продуктивність.
Параметр wide links визначає, як Samba слідуватиме за символічними посиланнями. Якщо wide links=no, Samba не слідуватиме за символічними посиланнями поза експортованою областю. Спочатку Samba слідує за символічним посиланням, а потім виконує так званий directory path lookup (системний виклик, що визначає, де завершилося посилання). Ця операція передбачає на 6 системних викликів більше, ніж у випадку, якщо wide links = yes. Враховуючи, що подібних операцій робиться дуже багато, вимкнення wide links знижує продуктивність Samba приблизно на 30%.
Samba – це програма, яка дозволяє комп'ютерам UNIX/Linux імітувати машини Windows. За допомогою Samba комп'ютери можуть обмінюватися файлами або керувати завданнями друку як файл-сервери або сервери друку під Windows. Подібно до операційної системи UNIX/Linux, на якій вона працює, Samba являє собою розроблене безліччю програмістів ПЗ з відкритим вихідним кодом.
Протокол SMB використовується Microsoft Windows 2000, NT та 95/98 для організації доступу до дисків та принтерів. Використовуючи набір утиліт Samba від Andrew Tridgell ( [email protected]), UNIX-машини (включаючи Linux) можуть організовувати доступ до дисків та принтерів для Windows-машин. Утиліти smbfs написані Paal-Kr. Engstad ( [email protected]) та Volker Lendecke ( [email protected]), дозволяють машинам з UNIX монтувати SMB-ресурси, доступні на машинах з Windows або Samba.
За допомогою Samba можна реалізувати такі найпоширеніші:
- Надавати доступ до дисків Linux Windows-машин.
- Отримувати доступ до дисків Windowsдля машин під Linux
- Надавати доступ до принтерів Linux для Windows-машин.
- Отримувати доступ до принтерів Windows із Linux-систем.
Інсталяція та тестування Samba
Інсталяцію, як відомо, слід розпочинати з докладного вивчення документації. Щоправда, більшість системних адміністраторів нехтують цим правилом, керуючись іншим: «Якщо нічого не допомагає, почитайте документацію». Загалом радимо почати інсталяцію Samba з простої команди: $ man samba (рис. 1).
А також читання документації, доступної на сайті http://www.samba.org/. Слід зазначити, що для використання Samba ваша машина повинна бути в одиночному Ethernet-сегменті локальної мережі, використовуючи протокол TCP/IP. Samba не буде працювати при використанні інших мережевих протоколів. Це, в принципі, легко, оскільки Linux та Windows 95/98/NT постачаються з підтримкою TCP/IP. Однак, якщо ви використовуєте машини з Windows 3.x, вам необхідно додати підтримку TCP/IP.
Де взяти
Щоб отримати вихідні тексти останньої версії Samba, зв'яжіться з сайтом http://www.samba.org/ та оберіть найближчий до вас сервер-дзеркало: ftp://ftp.samba.org/. Пакет Samba входить до складу дистрибутивів низки UNIX/Linux систем, наприклад Rad Hat або Suse Linux. Уважно вивчіть документацію вашого Linux, і цілком можливо, що вам буде достатньо тільки вставити CD і інсталювати пакети Samba. У цьому випадку ви можете продовжувати читати статтю з наступного розділу.
Після отримання цього пакету витягаємо все те, що знаходиться під «грифом» *.tar.gz, наприклад, в директорію /tmp (причому для цього не обов'язково бути root"ом:), тобто:
$tar-zxvf samba-latest.tar.gz
Якщо у вас не виникло жодних проблем при вийманні цього пакета, ви виявите нову директорію, наприклад samba-latest, і в ній вилучені файли. Перейдіть до неї, загляньте у файли «README» та «Manifest» - інструкція з інсталяції знаходиться в останньому файлі і виглядає приблизно так:
$ ./configure $ make $ su # make install
Тепер потрібно звернути увагу на те, де знаходяться файли конфігурації. Більшість дистрибутивів Samba за умовчанням поміщає їх у директорію /etc, а себе - директорію /usr/local/samba.
Налаштування Samba
Основна інформація про конфігурацію Samba міститься у файлі smb.conf. З цим файлом слід звертатися обережно. Якщо ви плануєте якось змінити працюючу версію, обов'язково зробіть копію.
Щоб перший раз запустити сервер, необхідно мати робочу версію файлу smb.conf. Перейдіть до директорії, в якій має бути ваш конфігураційний файл. Найімовірніше це буде /etc або /usr/local/samba/lib. Зробіть копію даного файлунаприклад smb.old, - це можливо за наявності прав root. Тепер, коли у вас є чистий файл, можна ввести найпростішу конфігурацію, тобто набрати наступні рядки:
#Basic Samba configuration file (smb.conf) workgroup = PTO netbios name = GALKA
Нижче ми розберемося, що означають ці рядки у конфігураційному файлі, але спочатку тимчасово відвернемося від нього і перейдемо до демонів SMB.
Запуск демонів
Є два демони SMB: /usr/sbin/smbd та /usr/sbin/nmbd. Ви можете запустити демони Samba з inetd або як автономний процес. Samba буде відповідати трохи швидше, якщо вона запущена як автономний процес.
Іноді буває необхідно перевірити наявність у файлі /etc/services приблизно таких рядків:
netbios-ns 137/tcp nbns netbios-ns 137/udp nbns netbios-dgm 138/tcp nbdgm netbios-dgm 138/udp nbdgm
Переконайтеся, що вони не закоментовані. Залежно від вашого дистрибутива вам, ймовірно, навіть доведеться додати їх до цього файлу. Samba не зможе прив'язатися до відповідних портів, поки ці рядки не будуть у файлі /etc/services.
Для запуску демонів із inetd помістіть наступні рядки у конфігураційний файл inetd, /etc/inetd.conf:
# SAMBA NetBIOS services (для комп'ютерних файлів і print sharing) netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd
Потім перезапустіть демон inetd, виконавши команду:
Kill -HUP 1 `cat /var/run/inetd.pid`
Для запуску демонів із системних стартових скриптів помістіть наступний скрипт у файл /etc/rc.d/init.d/smb (для дистрибутива RedHat) або /etc/rc.d (для дистрибутива Suse Linux) та створіть на нього символічні посилання з іменами виду /etc/rc.d/rcX.d/S91smb (запускає сервіси SMB у розрахованому на багато користувачів режимі), /etc/rc.d/rcX.d/K91smb (вбиває сервіси SMB при вимкненні), /etc/rc.d/rc6 .d/K91smb (вбиває сервіси SMB під час перезавантаження), де X - номер завантажувального рівня системи, зазвичай це цифра 2 чи 3.
#! /bin/sh. /etc/rc.config # Визначте основу й натисніть на runlevel link name. base=$(0##*/) link=$(base#*) # Force execution if not called by a runlevel directory. test $link = $base && START_SMB=yes test "$START_SMB" = "yes" || exit 0 # echo return value for success (визначено в /etc/rc.config). return=$rc_done case "$1" in start) echo -n "Starting SMB services:" startproc /usr/sbin/nmbd -D || return=$rc_failed startproc /usr/sbin/smbd -D || return=$rc_failed echo -e "$return";; startd) echo -n "Starting SMB services:" startproc /usr/sbin/nmbd -D -d 10 || return=$rc_failed startproc /usr/sbin/smbd -D -d 10 || return=$rc_failed echo -e "$return";; stop) echo -n "Shutting down SMB services:" killproc -TERM /usr/sbin/nmbd || return=$rc_failed killproc -TERM /usr/sbin/smbd || return=$rc_failed echo -e "$return";; restart|reload) $0 stop && $0 start || return=$rc_failed;; status) echo -n "Застосування для служби smb: " checkproc /usr/sbin/nmbd && echo -n "OK " || echo -n "No process" checkproc /usr/sbin/smbd && echo "OK" || echo "No process";; *) echo "Usage: $0 (start|stop|restart|reload|status)" exit 1 esac # Inform тел. test "$return" = "$rc_done" || exit 1 exit 0
Якщо при старті Samba ви отримуєте повідомлення, в якому говориться, що демон не може підключитися до порту 139, то, швидше за все, у вас вже є запущені процеси Samba, які не були завершені. Перегляньте список процесів (використовуючи команду "ps ax | grep mbd") для того, щоб визначити, чи є ще запущені сервіси Samba. Якщо ж демони відмовляються запускатися з якихось інших причин, то найімовірніше цей скрипт не підходить до вашого UNIX/Linux і вам доведеться ще раз покопатися в документації, щось у ньому виправити, а можливо, і переписати.
Основне налаштування smb.conf
Очевидно, що в наведеній вище конфігурації Samba може функціонувати, але практично не може нічого робити. Нижче буде розглянуто більш корисні та складніші приклади. Але спочатку треба розібратися у директивах smb.conf.
Кожен розділ файлу починається із заголовка розділу, такого як , , і т.п.
Тепер переходьте в першу закладку «Конфігурація» (Configuration) і натисніть на кнопці «Доступ до файлів та принтерів» (File and print sharing). У вікні, що з'явиться, необхідно поставити прапорці в полі «Файли цього комп'ютера можна зробити спільними» (I want to be able to give access to my files) і «Принтери цього комп'ютера можна зробити спільними» (I want to be able to allow others to print to my printer(s)).
І нарешті, ми вказуємо Windows, що Samba є сервером WINS і саме він буде browse master". Для цього переходимо у властивості TCP / IP-протоколу (рис. 4). У вікні, що з'явилося, вибираємо "Конфігурація WINS" (WINS Configuration). Ставимо прапорець у полі «Включити розпізнавання WINS» (Enable WINS Resolution) У полі «Основний сервер WINS» (WINS Server Search Order), що з'явилося, прописуємо IP-адресу сервера (Samba) - 192.168.0.1 і натискаємо «Додати» (Add) або просто ... Переходимо на закладку "Додатково" (Advanced) і натискаємо на "Browse Master" у лівому вікні, а в правому встановлюємо значення "Disabled". Ось і все. Тепер залишається лише кілька разів натиснути кнопку "ОК" і перезавантажити Windows.
У Windows NT екрани властивостей мережі трохи різняться (показані малюнки), але головна концепція побудови залишається тієї ж.
Після перезавантаження Windows сміливо натисніть на "Мережеве оточення" (Network Neighborhood) і ви зможете побачити Samba-сервер, а також свою домашню директорію на Linux-сервері. Тепер ви можете просто підключити дані ресурси як мережеві диски та присвоїти їм drive letters.
Трохи ускладнимо конфігурацію: зробимо директорію /home/public доступною для читання всіма, але дозволимо поміщати в неї інформацію лише людям із групи ADMINS. Для цього змінимо запис наступним чином:
Comment = Public Stuff path = /home/public public = yes writable = yes printable = no write list = @ADMINS
Можна навести ще багато різних прикладів налаштувань файлового сервера Samba, але краще, якщо ви заглянете в документацію Samba або довідкові сторінки і розберете їх самостійно.
Доступ до дисків Windows з Linux
Навряд чи користувачі-початківці Linux OS зможуть швидко розібратися з системою доступу до Linux-файлів з-під Windows, і навпаки. Але не все так складно. Доступ до Linux-ресурсів з-під Windows був коротко описаний вище, а доступ до Windows-ресурсів з-під Linux ми зараз розглянемо.
Програма клієнта SMB для UNIX/Linux-машин включена до дистрибутиву Samba. Вона забезпечує ftp-подібний інтерфейс командного рядка. Ви можете використовувати цю утиліту для перенесення файлів між «сервером» під керуванням Windowsта клієнтом під Linux.
Щоб побачити, які ресурси доступні на даній машині, виконайте команду:
/usr/sbin/smbclient -L host
де host – це ім'я машини, яку ви хочете бачити. Ця команда поверне список імен сервісів - тобто імен дисків або принтерів, до яких можна отримати доступ. Доки SMB-сервер не буде налаштований без керування доступом, він буде запитувати у вас пароль. Введіть у відповідь на запит пароль для користувача гість (guest) або ваш персональний пароль на цій машині.
Для використання клієнта виконайте таку команду:
/usr/sbin/smbclient service
де service - ім'я машини та сервісу. Наприклад, якщо ви намагаєтеся звернутися до директорії, яка доступна під ім'ям public на машині, названої galka, ім'я сервісу має звучати як \\galka\public.
Ви отримаєте запрошення smbclient:
Server time is Wen May 22 15:58:44 2001 Timezone is UTC+10.0 Domain= OS= Server= smb: \>
Команди для використання Samba аналогічні командам ftp, але якщо ви не вмієте користуватися ні тим, ні іншим, надрукуйте h, щоб отримати допомогу.
Ви, звичайно, можете використовувати smbclient для тестування, проте дуже скоро вам це набридне. Для роботи вам швидше за все знадобиться пакет smbfs. Smbfs поставляється з двома простими утилітами - smbmount та smbumount. Вони працюють подібно mount та umount для SMB-ресурсів. Наприклад,
Smbmount//computer_name/catalog/Mountpoint -U user_name
У результаті ви отримаєте «підмонтований» ресурс із можливістю звернення щодо нього звичними методами провідника.
Принт-сервер під Linux
Для організації доступу до Linux-принтера з Windows-машин необхідно переконатися, що принтер працює під Linux. Якщо ви можете друкувати під Linux, організація доступу до принтера буде дуже проста.
Додайте налаштування принтера до файлу smb.conf:
Printing = bsd printcap name = /etc/printcap load printers = yes log file = /var/log/samba-log. /lpd/lp browseable = no printable = yes public = yes writable = no create mode = 0700 security = server path = /var/spool/lpd/lp printer name = lp writable = yes public = yes printable = yes print command = lpr -r -h -P %p %s
Переконайтеся, що шлях до принтера (у нашому випадку для ) відповідає буферній директорії, вказаній у файлі /etc/printcap, тобто перевірте наявність рядків:
Printcap name = /etc/printcap load printers = yes
Ці рядки контролюють, чи всі принтери, перелічені в /etc/printcap, повинні бути завантажені за замовчуванням. У цьому випадку не потрібно налаштовувати кожен принтер окремо. Розділ вказує настройки для принтерів, які потрібно визначити явно. Якщо підсистема друку не працює подібним чином (BSD), то вам необхідно налаштувати фальшивий файл printcap (або використовувати "print command", див. нижче). Для отримання додаткової інформаціїпро систему printcap див. Printing-HOWTO.
Доступ до принтеру Windowsз машин, що працюють під Linux
Для доступу до принтера на машині Windows необхідно дотримуватися таких умов:
- Вам необхідно мати у файлі /etc/printcap правильні записи, які мають відповідати локальній структурі директорій (для буферної директорії тощо)
- У вас має бути скрипт /usr/bin/smbprint. Він постачається разом із вихідними текстами Samba, але не з усіма двійковими дистрибутивами Samba.
- Якщо ви хочете перетворити ASCII-файли на PostScript, ви повинні мати програму nenscript або її еквівалент. Програма nenscript - це конвертор PostScript, який зазвичай встановлюється директорією /usr/bin.
Запис у наведеному нижче файлі /etc/printcap зроблено для принтера HP 5MP на сервері Windows NT. Використовуються такі поля файлу /etc/printcap:
Cm – коментар; lp - ім'я пристрою, що відкривається для виведення; sd – директорія спула принтера (на локальній машині); af – файл обліку користування принтером; mx - максимальний розмірфайлу (нуль - без обмежень); if – ім'я вхідного фільтра (скрипта).
Фрагмент файлу /etc/printcap:
# /etc/printcap # # // galka/oreilly via smbprint # lp:\ :cm=HP 5MP Postscript OReilly on galka:\ :lp=/dev/lp1:\ :sd=/var/spool/lpd/lp: \ :af=/var/spool/lpd/lp/acct:\ :mx#0:\ :if=/usr/bin/smbprint:
Переконайтеся, що буферні директорії та директорія, які застосовуються для обліку користування, існують і мають право на запис. Переконайтеся, що рядок «if» містить правильний шлях до скрипту smbprint (наведено нижче) і що записи вказують на правильний вивідний пристрій (спеціальний файл /dev).
#!/bin/sh –x # # Debugging log file, змінити /dev/null if you like. # logfile=/tmp/smb-print.log # logfile=/dev/null # # The last parameter to the filter is the accounting file name. # spool_dir=/var/spool/lpd/lp config_file=$spool_dir/.config # Should read the following variables set in the config file: # server # service # password # user eval `cat $config_file` # # Some debugging help, change the >> to > if you want to same space. # echo "server $server, service $service" >> $logfile (# NOTE Ви можете повідомити про line `echo translate" if you want automatic # CR/LF translation when printing. echo translate echo "print -" cat) /usr/bin/smbclient "$server" $password -U $user -N -P >> $logfile
Більшість дистрибутивів Linux поставляється з програмою nenscript для перетворення ASCII-документів у PostScript.
Висновок
Ще зовсім недавно можливості Samba обмежувалися лише переліченими вище. Однак можна з упевненістю говорити, що нова версія Samba 2.2 наздоганяє Windows 2000 за функціональними можливостями і містить додаткові вдосконалення. Один із провідних розробників Samba Джеремі Еллісон (Jeremy Allison) називає її «важливим оновленням», яке допоможе системам Samba легше впроваджуватися в мережі Microsoft. ПЗ забезпечує економію не тільки тому, що не потрібно платити за серверну ОС, а й тому, що не доводиться оплачувати «клієнтські» ліцензії за всі комп'ютери, які використовують сервер.
Про нові можливості Samba 2.2. читайте у нашій статті «Samba 2.2 - що нового » .
Комп'ютерПрес 10"2001
Samba- програма, яка дозволяє звертатися до мережних дисків на різних операційні системиза протоколом SMB/CIFS. Має клієнтську та серверну частини. Є вільним програмним забезпеченням, випущеним під ліцензією GPL .Sambaпрацює на більшості Unix-подібних систем, таких як GNU/Linux, POSIX-сумісних Solaris та Mac OS X Server, на різних варіантах BSD, у OS/2, Windows. Sambaвключена практично у всі дистрибутиви GNU/Linux, у тому числі, звичайно, і в Ubuntu.
Встановлення
Щоб зробити спільну папкув Ubuntu Desktop достатньо натиснути правою кнопкоюмиші на папці та вибрати пункт меню "Опублікувати папку". Жодних конфігураційних файлів при цьому правити не треба. Все описане нижче стосується тільки ручне налаштуваннянаприклад, у разі створення файлового сервера.
Для встановлення достатньо відкрити термінал та ввести:
Sudo apt-get install samba
Програма буде автоматично завантажена та встановлена.
Налаштування
За допомогою терміналу зробимо резервну копіюпочаткового конфігураційного файлу:
Sudo cp /etc/samba/smb.conf(,.bak)
Тепер можна відредагувати файл налаштувань /etc/samba/smb.conf, для цього відкрийте його в будь-якому текстовому редакторі з правами користувача. Наприклад, так:
Sudo nano /etc/samba/smb.conf
Написане далі взагалі лише один конкретний сценарій використання Samba, і у величезній кількості випадків все налаштовується абсолютно не так. Статтю необхідно виправити, наголосивши на можливостях Samba, а не тільки на застосуванні цієї програми як файлосховища з локальною авторизацією. Приклад з файлосховищем краще винести в окрему докладну статтю.
Приклад налаштування Samba як автономний файловий сервер з авторизацією:
; Глобальні налаштування сервера; General server settings; Ім'я комп'ютера, яке відображатиметься у мережному оточенні netbios name = main-server server string = ; Робоча група клієнтів workgroup = WORKGROUP announce version = 5.0 socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192 passdb backend = tdbsam security = user Файл для альясів імен користувачів username map = /etc/samba/smbusers name resolve order = hosts wins bcast ; wins support встановлюється в yes, якщо ваш nmbd(8) Самба є WINS сервером. Не встановлюйте цей параметр у yes якщо у вас немає кількох підмереж і ви не хочете, щоб ваш nmbd працював як WINS сервер. Ніколи не встановлюйте цей параметр у yes більш ніж на одній машині в межах однієї підмережі. wins support = no; Підтримка принтерів printing = CUPS printcap name = CUPS; Логи log file = /var/log/samba/log.%m syslog = 0 syslog only = no; Налаштування прив'язки до інтерфейсів, на яких слухати, якщо не вказано слухає на всі інтерфейси; interfaces = lo, eth0; bind interfaces only = true; ; ; path = /var/lib/samba/printers; browseable = yes; guest ok = yes; read only = yes; write list = root; create mask = 0664; directory mask = 0775; ; ; path = / tmp; printable = yes; guest ok = yes; browseable = no; ; ;path = /media/cdrom ;browseable = yes ;read only = yes ;guest ok = yes ; Куля жорсткого диска; Ім'я кулі, видно у клієнтів; Шлях до диска path = /media/sda1 ; Чи можна переглядати browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755; Прив'язка до певного імені користувача або групи, імена через пропуск; force user = user1 user2 ; force group = group1 group2; Ще один жорсткий диск, за аналогією з тим що вище path = /media/sde1 browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755
Тепер слід розібратися з користувачами.
Samba використовує користувачів які вже є в системі, візьмемо для прикладу ім'я user, припустимо, що він вже є в системі, треба внести його в базу даних SMB і призначити пароль для доступу до загальних ресурсів, зробимо це командою:
Smbpasswd -a user
Вам буде запропоновано ввести пароль, користувач буде доданий до бази, тепер необхідно включити цього користувача.
Smbpasswd -e user
Далі створимо псевдонім для імені користувача user щоб полегшити собі доступ з Windows машини на якій у нас наприклад користувач з ім'ям Admin, для цього створимо і відредагуємо файл /etc/samba/smbusers:
Sudo touch /etc/samba/smbusers sudo gedit /etc/samba/smbusers
Впишіть у файл кілька рядків
# Unix_name = SMB_name1 SMB_name2 user = Admin
На цьому налаштування закінчено, перезапустіть Samba.
Установити найпростіший GUI для Samba можна командою:
Sudo apt-get install system-config-samba
Запускається він командою:
Sudo system-config-samba
Всі зміни він записує до конфігураційного файлу samba.
Для віддаленого адміністрування Samba як web-інтерфейс для Samba відмінно підійде