Швидке та просте налаштування samba. Файловий сервер Samba Налаштування samba для роботи в windows

Головна / Очищення пристрою

Зараз вже досить часто в одній локальній мережі можна зустріти комп'ютери під керуванням Linux та Windows. Причини такого симбіозу можуть бути різними: наприклад, у власників інтернет-кафе не вистачило коштів на придбання ліцензійної ОС для всіх комп'ютерів або системного адміністратора просто залучили позитивні сторони Linux. Популярність операційних систем від Microsoft багато в чому визначаться клієнтським програмним забезпеченням для Windows. Не секрет, що цей сектор програмного забезпечення дуже розвинений. Безліч фірм доклали до цього серйозних зусиль і створили справді хороші, а головне, зручні у використанні програми, які легко може освоїти навіть рядовий користувач. Зате як сервер позиція Windows вже не так однозначна. Сервер під управлінням Unix традиційно відрізняється надійністю, стабільністю в роботі, безпекою та найчастіше меншими вимогами до системних ресурсів. Але в будь-якому випадку, просто підключивши комп'ютери з різними програмними платформами до мережі, ми не отримаємо очікуваного результату. Вся проблема в тому, що ці дві системи використовують різні принципи організації мережевих ресурсів, несумісні між собою.
Так як милості Microsoft чекати не доводиться, і Windows навряд чи навчиться працювати з мережевою файловою системою Unix (NFS) стандартними засобами, а програм сторонніх виробників, якщо чесно, я не знаю, то найбільш популярним способом є спроба навчити Unix «прикидатися», ніби б він - Windows NT.

Взаємодія з мережею комп'ютерів під керуванням Windows побудована на використанні протоколу SMB (Server Message Block)- Блоки серверних повідомлень. Він забезпечує виконання всіх необхідних у цих випадках завдань з відкриття та закриття, читання та запису, пошуку файлів, створення та видалення каталогів, постановки завдання на друк та видалення його звідти. Усі необхідні для цього дії реалізуються в Unix-подібних операційних системах за допомогою використання пакета SAMBA. Можливості його умовно можна розділити на дві категорії: надання ресурсів (під якими розуміється доступ до системи принтерів та файлів) для клієнтів Windows та доступ до ресурсів клієнтів. Тобто комп'ютер під управлінням Linux може виступати як у ролі сервера, так і клієнта. Спочатку розглянемо варіант SAMBA-сервера.

Що ж має забезпечити SAMBA для нормальної роботи в мережі Windows? По-перше, контроль доступу, який може бути реалізований або на рівні ресурсів (share level), коли якомусь ресурсу в мережі призначається пароль та відповідні правила використання (наприклад, «тільки для читання»), при цьому ім'я користувача не має абсолютно жодного значення; або ж більш досконалу та гнучку організацію на рівні користувача, коли для кожного користувача створюється обліковий запис, де крім імені та пароля міститься вся необхідна інформація про права доступу до ресурсу. Перш ніж отримати доступ до необхідного ресурсу, кожен користувач проходить автентифікацію, після чого йому надаються права відповідно до облікових записів. По-друге, необхідна емуляція прав доступу, які визначаються файловою системою. Справа в тому, що у систем права доступу до файлів і каталогів на диску організовані по-різному. У Unix традиційно існує три категорії користувачів файлів: власник (owner), група (group)і решта (other). Кожному з цих суб'єктів можуть бути надані права читання (read), запис (write)і виконання (execute). У Windows NT система доступу дещо гнучкіша, доступ надається декільком групам або користувачам, причому відповідні права доступу визначаються окремо для кожного суб'єкта. Тому повноцінно емулювати засоби SAMBA права доступу, закладені в NTFS, неможливо.

З клієнтами, які працюють під керуванням Windows 9x, Справа інакше. Ще з часів дідуся ДОСа, тому що система однокористувацька і про жодних користувачів і тим більше груп і не могло бути мови, для файлової системи FAT визначено всього чотири атрибути. тільки читання (read only), системний (system), архівний (archive) та прихований (hidden). Плюс до всього у Windows, на відміну від Unix, має особливе значення розширення файлу - ті, що призначені для виконання, мають розширення .exe, .com або .bat. При копіюванні файлів з Unix-машин на комп'ютери під керуванням Windows атрибути встановлюються так:

тільки для читання- Читання, запис для власника;

архівний- Виконання для власника;

системний- Виконання для групи;

прихований - виконання для групи.

Мережа Windows-машин може бути організована як робоча група (workgroup), коли комп'ютери незалежні друг від друга і кожному є своя база паролів і логінів зі своєю політикою безпеки, і навіть як домен NT. Вся база для автентифікації користувачів та комп'ютерів керується головним контролером домену (PDC, Primary Domain Controler), тобто. централізовано. Samba дозволяє обмежувати доступ на всіх цих рівнях та виконує функції "головного браузера" в контексті робочої групи або контролера домену.

Із загальноорганізаційними питаннями розібралися. Давайте подивимося тепер безпосередньо на реалізацію та настроювання SAMBA-сервера в Linux. Для роботи Samba-сервера необхідно, щоб було запущено два демони: smbd, що забезпечує роботу служби друку та поділу файлів для клієнтів Samba (таких як Windows усіх мастей), та nmbd, що забезпечує роботу служби імен NetBIOS (він може використовуватися для запиту інших демонів служб імен). Для доступу до клієнтів використовується протокол TCP/IP. Як правило, Samba встановлюється разом із дистрибутивом Linux. Як перевірити? Просто дайте команду:

$whereis samba

і ви повинні отримати щось на кшталт цього:

Samba: /usr/sbin/samba /etc/samba /usr/share/man/man7/samba.7.gz

Якщо його не виявиться у стандартній поставці, то ласкаво просимо на ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz або практично на будь-який сервер із програмами для Linux. Пакет простий в установці, тому щоб не займати місця, будемо вважати, що він у вас встановлений. Тепер давайте перевіримо, чи запущений демон:

$ps-aux | grep smbd root 1122 0.0 0.6 4440 380 ? S 16:36 0:00 smbd -D

У мене вже, як бачите, запущено. Якщо у вас немає, а ви хочете, щоб він запускався при завантаженні системи, то в Linux Mandrake, наприклад, позначте потрібний пункт DrakConfстартові сервісиабо в Red Hat Control-panelServise Configurationзазвичай цього буває достатньо. Або запускайте вручну: ./etc/rc.d/init.d/smb start. Єдиний конфігураційний файл Samba називається smb.conf і зазвичай знаходиться у каталозі /еtc (хоча в AltLinux, наприклад, він лежить у каталозі /etc/samba). Сервіс SAMBA зчитує його кожні 60 секунд, тому зміни, внесені в конфігурацію, набувають чинності без перезавантаження, але не поширюються на вже встановлені з'єднання.

Ось за що я люблю Linux, це за те, що конфігураційні файли є звичайними текстовими (до того ж добре коментованими всередині), і для того, щоб задіяти більшість параметрів, достатньо лише розкоментувати відповідний рядок. Файл smb.conf – не виняток. Він складається з іменованих розділів, що починаються з імені розділу, укладеного у квадратні дужки. Всередині кожного розділу міститься ряд параметрів у вигляді key=value. Файл конфігурації містить чотири спеціальні розділи: , , та окремі ресурси (shares). Як випливає з назви, розділ містить найбільш загальні характеристики, які будуть застосовуватися скрізь, але які, втім, можна перевизначити в секціях для окремих ресурсів. Деякі параметри цього розділу стосуються налаштування клієнтської частини Samba.

Значення типових параметрів секції global:

Workgroup = ім'я_групи # назва робочої групи в мережі Windows netbios name = ім'я сервера в мережі server string = коментар, який видно у вікні властивостей перегляду мережі nobody # ім'я, під яким дозволено гостьовий вхід до системи security = user # Рівень доступу. user – на рівні користувача, security = share – автентифікація на основі імені та пароля. При зберіганні бази паролів на іншому SMB-сервері використовується значення security=server та password server=name_server_NT. Якщо сервер є членом домену, використовується значення security = domain, пароль для доступу вказується у файлі, визначеному за допомогою опції smb passwd file = /path/to/file.

Крім того, під час реєстрації можуть використовуватися шифровані (encrypted) та незашифровані (plain-text) паролі. Останні використовують у старих Windows (Windows for Workgroups, Windows 95 (OSR2), всіх версіях Windows NT 3.x, Windows NT 4 (до Service Pack 3)). Для увімкнення варіанта використання шифрованого пароля використовується опція encrypt password = yes. Прошу звернути особливу увагу на цю опцію. У старих дистрибутивах Linux, які створювалися в епоху Windows 95 (і з більш старою версією Samba), за замовчуванням шифрування паролів відключено, а samba до версії 2.0даного режиму взагалі не підтримує (до речі, ця опція і подібні до неї — ті, що не стосуються доступу до конкретних ресурсів — використовуються і в клієнті).

Для правильного відображення російських імен файлів необхідні такі опції: client code page = 866 і character set = koi8-r. У дистрибутивах з гарною локалізацією, наприклад, похідних від Mandrake і російських цей рядок вже є, іноді його досить просто розкоментувати, але в більшості інших його треба дописати самому.

Опція interfaces = 192.168.0.1/24 вказує, у якій мережі (інтерфейсі) має працювати програма, якщо сервер підключений відразу до кількох мереж. При установці параметра bind interfaces only = yes сервер відповідатиме на запити лише з цих мереж.

hosts allow=192.168.1. 192.168.2. 127. — визначає клієнтів, котрим дозволено доступом до сервісу.

У секції global можливе використання різних змінних для більш гнучкого налаштування сервера. Після встановлення з'єднання замість них підставляються реальні значення. Наприклад, у директиві log file = /var/log/samba/%m.log, %m допомагає визначити окремий лог-файл для кожної клієнтської машини. Ось найбільш уживані змінні, що використовуються в секції global:

%a - архітектура ОС на клієнтській машині (можливі значення Win95, Win NT, UNKNOWN і т.д.);

%m - NetBIOS-ім'я комп'ютера клієнта;

%L - NetBIOS-ім'я сервера SAMBA;

%v - версія SAMBA;

%I - IP-адреса комп'ютера клієнта;

%T - дата та час;

%u - ім'я користувача, що працює із сервісом;

%H — домашня директорія користувача %u.

Також для більш гнучкої установки застосовується директива include, що використовує наведені вище змінні. Наприклад: include = /etc/samba/smb.conf.%m - тепер при запиті з комп'ютера sales за наявності файлу /etc/samba/smb.conf.sales конфігурація буде взята з цього файлу. Якщо окремого файлу якоїсь машини нічого очікувати, то роботи з нею задіюється загальний файл.

Також є цікава можливість створення віртуального сервера. Для цього використовується параметр netbios aliases:

Netbios aliases = sales accounting admin

Тепер наказуємо Самбі, щоб для кожного віртуального сервера використовувала свій конфігураційний файл:

Include = /etc/samba/smb.conf.%L

У вікні браузера мережі буде видно три сервери: sales, accounting, admin.

Увімкнення параметрів preserve case і short preserve case змушують сервер зберігати всю інформацію з урахуванням регістру символів (у Windows регістр не має значення, у всіх Unix — навпаки).

Розділ дозволяє користувачам підключатися до своїх робочих каталогів без явного їхнього опису. При запиті клієнтом свого каталогу //sambaserver/sergej, машина шукає відповідний опис у файлі і якщо не знаходить його, переглядає наявність цього розділу. Якщо розділ існує, переглядається файл паролів для пошуку робочого каталогу користувача, що надіслав запит, і при знаходженні робить його доступним для користувача.

Типовий опис даного розділу виглядає так:

Comment = Home Directories # коментар, який видно у вікні властивостей мережі browseable = no # визначає, чи виводити ресурс у списку перегляду. writable = yes # дозволяє (no - забороняє) запис у домашню директорію create mode = 0750 # права доступу для новостворених файлів directory mode = 0775 # теж, але тільки для каталогів

Після налаштування параметрів за замовчуванням можна створити мережні ресурси, доступ до яких може отримати певний користувач або група користувачів. Створюється такий ресурс із вже існуючого каталогу, для цього у файлі пишемо:

Comment = Public Stuff path = /home/samba public = yes writable = no printable = no write list = administrator, @sales

Параметр path вказує на каталог, в якому розміщується ресурс; параметр public вказує, чи може користуватися ресурсом гість, а printable - чи може використовуватися ресурс для друку. Параметр write list дозволяє визначити користувачів, яким дозволено запис до ресурсу незалежно від значення writable (у даному прикладі це користувач administrator та група sales). Можливе використання та протилежного списку - read list. Якщо є необхідність приховати деякі файли, то в Unix/Linux для цього ім'я файлу повинне починатися з точки (параметр hide dot files, який регулює відображення прихованих файлів, за промовчанням дорівнює yes). Крім того, можна задати шаблони імен прихованих файлів, для чого використовується параметр hide files. Кожен шаблон починається і закінчується із символу косої риси (/) і може містити символи, що застосовуються у регулярних виразах. Наприклад: hide files = /*.log/??.tmp/. Такі хитрощі обходяться користувачам Windows лише встановленням режиму «Показувати приховані і системні файли» Провідника. Для впевненого обмеження доступності (можливості видалення) файлу (каталогу) використовуйте параметри veto files та delete veto files.

З CD-приводами справа трохи складніша. Справа в тому, що в Unix-подібних системах поняття диска відсутнє як таке, і для того, щоб отримати доступ до потрібного пристрою, воно спочатку має бути змонтоване в дерево каталогів (# mount -t iso9660 /dev/cdrom /mnt/cdrom) , а після використання, щоб не зруйнувати файлову систему, обов'язково розмонтовано (# umount /dev/cdrom), інакше пристрій просто не віддасть диска. Якщо у вас на сервері запущений демон autofs, то проблема вирішується просто. Для того, щоб пристрій, який не використовується протягом певного часу, був автоматично розмонтований, встановіть потрібне значення параметра timeout у файлі /etc/auto.master. Наприклад:

/mnt/auto/etc/ --timeout=5

(подібний рядок вже там є, його потрібно лише розкоментувати). Потім установіть параметри для відповідного пристрою у файлі /etc/auto.tab:

Cdrom -fstype=auto,ro:/dev/cdrom

Після цього прописуємо в /etc/smb.conf наступні рядки, щоб зробити доступним даний ресурс:

Path = /mnt/cdrom writable = no

Другий варіант полягає у використанні директив preexec та postexec, які вказують, які команди необхідно виконати при зверненні до ресурсу та після від'єднання від нього (ці параметри можна вказати для будь-якого ресурсу та навіть у секції global, що відкриває великі можливості).

Path = /mnt/cdrom read only = yes root preexec = mount /mnt/cdrom # монтувати ресурс має право тільки root root postexec = umount /mnt/cdrom # природно, ці точки монтування повинні бути описані у файлі /etc/fstab, інакше Необхідно вказати та інші дані.

Тепер при зверненні до ресурсу автоматично монтується CD-ROM, інколи ж і розмонтується. Вся проблема в тому, що рішення про закриття ресурсу має прийняти сервер - клієнти, як правило, не повідомляють про це. Але зазвичай це тому, що ресурсом одночасно користуються відразу кілька користувачів чи одному комп'ютері залишено відкритий файл цьому ресурсі (Device busy). Тому CD-ROM автоматично не розмонтується, єдиний прийнятний спосіб, щоб звільнити ресурс — подивитися за допомогою утиліти smbstatusномер процесу, який використовує даний ресурс, і вбити його командою #kill pid_number (або kill-s HUP pid_number).

Встановивши необхідну конфігурацію, тепер створимо облікові записи користувачів (крім гостьового входу з мінімальними правами nobody). Для ідентифікації користувачів SAMBA використовується файл /etc/samba/smbpasswd, який містить імена та зашифровані паролі користувачів. Оскільки механізм шифрування в мережах Windows-машин не сумісний зі стандартними Unix-механізмами, для заповнення файлу паролів використовується окрема утиліта. smbpasswd.

# useradd -s /bin/false -d /home/samba/sergej -g sales sergej # smbpasswd -a sergej # smbpasswd -е sergej

У цьому прикладі додається новий користувач sergej, що належить групі sales, з фіктивною оболонкою (можливі варіанти /sbin/nologin, /dev/null) та домашнім каталогом /home/samba/sergej. Потім створюємо пароль користувача sergej і останнім кроком включаємо доступ користувачеві, т.к. за замовчуванням він вимкнено. Цікавий момент, який може часом збити з пантелику. Справа в тому, що при підключенні до SAMBA-серверу комп'ютера з Windows NT/2000 користувачеві пропонується ввести, як і належить, логін і пароль, а якщо для доступу використовується комп'ютер з Windows 9x/Me, то користувачеві пропонується ввести тільки пароль, а логін формується автоматично з урахуванням реєстраційного імені.

Можна також порівняти кількох користувачів Windows одному користувачеві Linux/Unix. Для цього створюється файл зіставлення /etc/smbusers.map, в якому окремим рядком задається кожне зіставлення:

Користувач_ Linux = user_win1 user_win2 user_winN

У розділі додайте рядок username map = /etc/smbusers.map. При цьому користувач Windows повинен реєструватися з паролем користувача, з яким він зіставлений.

За допомогою SAMBA можна організувати можливість мережного друку з комп'ютерів під керуванням Windows (якщо планується окремий сервер друку, то цього буває достатньо і машини з урахуванням 486-процесора).

Для цього у секції необхідно записати такі рядки:

Printcap name = /etc/printcap # файл опису принтерів, підключених до системи load printers = yes # вказує на необхідність автоматичного включення до списку мережевих ресурсів printing = lprng # система друку (для Linux може ще використовуватись bsd).

Path = /var/spool/samba # вказує на каталог, в якому розміщуються завдання на друк browseable = yes printable = yes read only = yes

Після створення файлу протестуйте його за допомогою утиліти testparm. На жаль, за допомогою даної програми можна виявити лише синтаксичні помилки, а не логічні, тому немає жодної гарантії, що описані у файлі сервіси коректно працюватимуть (при тестуванні будуть виведені всі установки, навіть ті, які встановлені за замовчуванням, — тому уважно перегляньте результат). Але якщо програма не свариться, можете сподіватися, що при запуску файл буде завантажено без проблем. Коректність роботи принтерів, перерахованих у файлі /etc/printcap, із сервером SAMBA можна перевірити за допомогою утиліти testprns. Плюс не забувайте про log-файли: при виникненні проблем там іноді можна знайти рішення.

Тепер трохи про хороше. Конфігурування Samba – досить складна процедура, але з дистрибутивом поставляється інструмент адміністрування на основі Web, який називається swat(Samba Web Administration Tool,). Swat запускається як сервіс або за допомогою сервера Apache і призначений для редагування файлу smb.conf, а також для перевірки стану, запуску та зупинки демонів Samba, зміни паролів користувачів. Щоб він працював у вигляді сервісу, у файлі /etc/services повинен обов'язково бути рядок swat 901/tcp, а у файлі /etc/inetd.conf — swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat (це якщо використовується мережевий демон inetd, як правило, у старих дистрибутивах; у сучасних дистрибутивах використовується більш захищений варіант xinetd). Для того, щоб використовувати при цьому swat у каталозі /etc/xinet.d, створіть файл swat такого змісту:

Service swat ( disable = no port = 901 socket_type = stream wait = no only_from = 127.0.0.1 # це рядок для запуску тільки з локальної машини user = root server = /usr/sbin/swat log_on_failure += USERID )

Тепер, щоб запустити Swat у вікні браузера, введіть:

Http://localhost:901

Але перед цим обов'язково створіть користувача adminописаним вище способом. І ніколи не запускайте сервіс SAMBA від імені root.

Після всіх змін у файлі smb.conf іноді потрібно перезапустити демон:

Smb: /etc/rc.d/init.d/smb restart

Якщо після всіх перерахованих дій так і не вдалося організувати доступ до ресурсів SAMBA, то в подальшому налаштуванні допоможуть такі утиліти як ping(Для перевірки доступності вузла в мережі), nmblookup(для запиту імен NetBIOS), або на крайній випадок tcpdump. І не забувайте про права доступу, адже призначивши для користувача каталог /gde/to/w/glubine, ви надасте можливість прочитати (право на виконання) і попередні каталоги.

Тепер поговоримо про використання клієнта Samba, адже нам (користувачам Linux) також хочеться працювати з мережевими ресурсами Windows. Щоб дізнатися, які ресурси доступні, необхідно ввести команду /usr/bin/smbclient -L host_name. Програма запросить пароль, у відповідь на що здебільшого достатньо натиснути Enter. Тепер, щоб підключитися до потрібного ресурсу, введіть ім'я комп'ютера та потрібний ресурс. Наприклад:

# /usr/bin/smbclient \Alex\Sound

(Тут ми пробуємо підключитися до папки Sound на комп'ютері Alex). В результаті, якщо команда введена правильно і такий мережевий ресурс існує, ви маєте отримати запрошення на введення пароля. Введіть його або натисніть клавішу Enter, якщо пароль не потрібний для доступу. У відповідь ви отримаєте запрошення samba клієнта: smb: >. Надалі робота відбувається шляхом набору команд, з допомогою яких можна зробити всі необхідні операції з роботі з файлами (копіювання, створення, переміщення тощо.). Щоб отримати довідку, введіть smb: > help. Цей режим дещо незручний, тому в більшості випадків використовують модуль smbfs, що входить до складу samba; але в старих дистрибутивах ядро ​​може бути зібране без підтримки smbfs, і його доведеться перезбирати. Для того щоб змонтувати необхідний ресурс, наберіть щось на зразок цього:

Mount -t smbfs -o username=user,password=123456,iocharset=koi8-r,codepage=866 //alex/sound /mnt/sound.

Якщо не вказати ім'я користувача та пароль, система сама його у вас запитає. Не забувайте, що, переглянувши файл ~HOME/.bash_history, можна за командами, які ви набирали, дізнатися пароль. Ще одна тонкість: якщо програма smbclient правильно відображає файли з російськими іменами, модуль smbfs іноді не звертає на інше кодування абсолютно ніякої уваги, навіть якщо вказати її явно. Кажуть, це можна виправити патчем, але я для Red Hat його ще не знайшов.

Якщо ви бажаєте, щоб ресурс SMB монтувався автоматично при запуску системи, додайте до файлу /etc/fstab приблизно такий рядок:

//[email protected]/sound /mnt/alex/sound smbfs rw, noauto 0 0.

У цьому прикладі від імені користувача guest(якщо ресурс підтримує даного користувача і якщо цей користувач має доступ тільки за паролем, то не хвилюйтеся: у вас його неодмінно запитають) мережевий ресурс sound на комп'ютері alex монтується в папку /mnt/alex/sound з можливістю запису в цей каталог. До речі, клієнт Samba добре бачить приховані мережеві ресурси, тобто. ті, у яких мережеве ім'я закінчується знаком $.

Як бачите, доводиться працювати з командним рядком, який у сучасного користувача викликає тихий жах. І тут світ OpenSource пішов йому назустріч - створено багато утиліт, що дозволяють працювати з Samba-ресурсами звичнішим шляхом, натискаючи кнопки в графічних оболонках. Найпопулярніша програма, що входить до дистрибутивів Mandrake і похідних від нього, а також Debian — gnomba. У будь-якому випадку її можна знайти на більшості серверів з програмним забезпеченням для Linux (на ftp://ftp.altlinux.ru/ бачив точно). Дана утиліта дозволяє переглянути доступні мережеві ресурси () і при необхідності змонтувати в потрібний каталог, при цьому можливий варіант монтування із зазначенням логіна та пароля для тих ресурсів, які цього вимагають. Можливий запуск файлового менеджера під час монтування (за замовчуванням) gmc), створення каталогів для ресурсів, що монтуються, завдання опції автоматичного сканування при запуску програми (можливо з використанням протоколу SMB за замовчуванням) і сканування за IP-адресами (планується з використанням WINS-протоколу). З нез'ясованих причин у деяких дистрибутивах при скануванні за допомогою SMB-протоколу не виводилися мережеві ресурси, тому я завжди використовую другий метод, благо він діє безвідмовно, необхідно лише задати діапазон IP-адрес для сканування (якщо знаєте). Для того, щоб відображалися правильно російські імена файлів, не забудьте встановити шрифти koi8-r у вкладці Опції > Вибір шрифту, а також перевірити рядки, що вказують на кодування кирилиці у файлі smb.conf (див. вище).

Якщо gnomba може лише монтувати та розмонтувати ресурси, то програма xsmbrowserдозволяє ще й заходити в них як папки на локальному комп'ютері (). Правда, мені поки не вдалося змусити цю програму розуміти файли з російськими назвами, але є і позитивні сторони: при роботі цієї програми всі команди з монтування та різні мережеві запити виводяться на консоль, що дозволяє добре розібратися в них. Розробники KDE теж постаралися: через Preferences > Informationдоступна утиліта Samba Status, що відображає всі підключення до/від локального комп'ютера, що одночасно є зручним засобом перегляду.log-файлів. Аналогічну інформацію представляє і утиліта komba, що можна знайти на http://linux.tucows.com/ ().

Хоч би як я хотів розповісти вам більше, але журнал є журнал — всього не вмістиш. Далі на допомогу вам прийдуть всюдисущі man та info. Також всю необхідну довідкову інформацію можна отримати з утиліти SWAT, до того ж у Red Hat 7.3 виявилася книга Using Samba Robert"a Eckstein"a(мова англійська - погано, абсолютно безкоштовно - добре: /usr/share/swat/using_samba), доступна також із SWAT (). У каталозі /usr/share/doc/samba можна знайти додаткову документацію, FAQ та приклади конфігураційних файлів. У різних форумах можна зустріти досить суперечливі думки про роботу Samba, від вкрай негативних до захоплення. Особисто я на стороні прихильників цього емулятора Windows NT, до того ж, за результатами тестів при однаковому обладнанні сервер Samba показує продуктивність приблизно на 25-30% вище, ніж комп'ютер під управлінням системи від Microsoft. Успіхів.

(Дякую одному з читачів за питання на цю тему!). Тобто, я розповім, як зробити, щоб Documents бачила файли з вашого персонального комп'ютера.

Для доступу до файлів ПК ми використовуватимемо технологію SMB.

SMB (скор. від англ. Server Message Block) - мережевий протокол прикладного рівня для віддаленого доступу до файлів, принтерів та інших мережевих ресурсів, а також для міжпроцесної взаємодії.

Для зручної роботи та налаштування iPad, iPhone, iPod Touch повинні бути в одній Wi-Fi мережі з комп'ютером.

Налаштування SMB у Documents

Заходьте в налаштування програми (іконка у верхньому лівому куті). Потім тикайте розділ “Мережа” та натисніть “Додати обліковий запис”.

Вибирайте сервіс для зберігання Windows SMB.

Залишилося вбити параметри:

  • Назва – пишіть, що хочете. :)
  • URL-адреса – дивіться розділи нижче про Mac OS та Windows.
  • Домен не є обов'язковим пунктом.
  • Логін – логін користувача на комп'ютері, який має доступ до файлів (див. розділи нижче)
  • Пароль – пароль користувача на комп'ютері (див. розділи нижче)

Все, SMB настроєно. Тепер можна отримувати доступ до файлів комп'ютера буквально в 1 клік та залежно від налаштувань читати їх, копіювати або навіть змінювати.

Налаштування SMB у Mac OS (OS X)

Відкрийте Системні установки та знайдіть пункт “Спільний доступ”.

Якщо натиснути кнопку “Параметри”, має вискочити вікно, в якому галочка потрібна напроти пункту: Надання загального доступу до файлів та папок за допомогою SMB.

Також вкажіть, який обліковий запис буде надано доступ по SMB (потрібно ввести пароль від нього).

Тепер у вікні налаштуйте “Спільні папки”. Саме їх буде видно у Documents. І користувачів, які матимуть доступ до них.

Налаштування SMB у Windows

У Windows найголовніше дізнатися свою IP-адресу. Це можна зробити, натиснувши клавіші Win+R. Відкриється вікно програми cmd (командний рядок). Там вбийте команду ipconfig (і натисніть Enter). Ваш рядок "IPv4 Address". Саме цей IP треба вбити у Documents.

Логін та пароль можна використовувати той, що ви використовуєте на вхід до Windows. Далі необхідно відкрити спільний доступ до папки, яку ви бажаєте зробити доступною через SMB.

Права кнопка миші на папці. У меню виберіть "Властивості". А потім вкладку "Доступ" та в ній треба натиснути кнопку "Загальний доступ".

Це простий спосіб, що дозволяє додати папку для SMB. Розширені налаштування під конкретні ситуації слід шукати на спеціалізованих сайтах.

Налаштування Samba в Linux (або інших UNIX-машин) контролюється єдиним файлом, /etc/smb.conf . Цей файл визначає, до яких системних ресурсів ви хочете дати доступ для зовнішнього світу і які обмеження ви хочете дати на використання цих ресурсів.

Оскільки наступні розділи присвячені організації доступу до дисків і принтерів Linux для Windows-машин, файл smb.conf, показаний у цьому розділі є прикладом, виключно з метою введення.

Не турбуйтесь зараз про деталі. Наступні розділи запровадять основні концепції.

Кожен розділ файлу починається з заголовка розділу, такого як , , , і т.п.

Секція визначає деякі змінні, які Samba використовуватиме визначення доступу до всіх ресурсів.

Розділ дозволяє віддаленим користувачам мати доступ до своїх (і тільки своїх) домашніх директорій на локальній Linux-машині. Отже, якщо користувачі Windows намагатимуться підключитися до цього розділу зі своїх Windows-машин, то вони будуть підключені до своїх персональних домашніх директорій. Зауважимо, що для того, щоб зробити це, вони мають бути зареєстровані на Linux-машині.

Простий файл smb.conf, наведений нижче, дозволяє віддаленим користувачам мати доступ до їхніх домашніх директорій на локальній машині та писати до тимчасової директорії. Для того, щоб користувачі Windows могли побачити ці ресурси, машина з Linux повинна бути в локальній мережі. Після цього користувачі просто підключають мережні диски за допомогою Windows File Manager або Windows Explorer.

Зауважимо, що в наступних розділах будуть дані додаткові записи для цього файлу, щоб дати доступ до більшої кількості ресурсів.

; /etc/smb.conf; ; Переконайтеся та перезапустіть сервер після внесення змін до цього; файл, наприклад: ; /etc/rc.d/init.d/smb stop; /etc/rc.d/init.d/smb start; Розкоментуйте цей рядок, якщо ви хочете дати доступ користувачеві "гість"; guest account = nobody log file = /var/log/samba-log. space path = /tmp read only = no public = yes

Написав новий файл smb.conf , корисно перевірити його правильність. Ви можете перевірити правильність написання файлу smb.conf, використовуючи утиліту testparm (довідкова сторінка: testparm); якщо testparm повідомляє про відсутність проблем, smbd правильно завантажить файл налаштувань.

Корисний трюк: Якщо сервер Samba має більше одного ethernet інтерфейсу, то smbd може підключитися до неправильного. Якщо це так, що ви можете явно змусить її підключатися до потрібного, додавши рядок у розділ файлу /etc/smb.conf:

Interfaces = 192.168.1.1/24

тут замініть наведену адресу на адресу вашого інтерфейсу ethernet. Значення 24 є правильним для мережі класу C, але вам може знадобитися перерахувати це значення, якщо ви розділили її на підмережі. Це число відноситься до маски мережі. Числа інших класів мереж наведені в IP-Masquerade mini-HOWTO.

Існує також GUI-утиліта для налаштування Samba: GtkSamba.

2. Отримувати доступ до ресурсів мережі Microsoft.

3. Роздрукувати документи на мережевих принтерах мережі Microsoft, а також дозволити використовувати свій принтер як мережевий.

При установці на першому етапі потрібно встановити пакети samba, samba-common та samba-client:

# rpm –ih /mnt/cdrom/Mandrake/RPMS/samba*

При цьому якщо ви використовуєте інший дистрибутив (не Mandrake, як зазначено в прикладі), перейдіть в потрібний каталог.

Пакет samba і двох основних файлів - smbd і nmbd. Перший є носієм протоколу 8MB, а другий забезпечує підтримку імен NetBIOS. Відразу ж після їх налаштування ваш комп'ютер відображатиметься в мережі.

Після встановлення сервіси smbd і nmbd конфігуруються як автозапуск, тобто вам не доведеться самостійно робити жодних дій щодо їх запуску. Можливо, вас не влаштовує такий варіант (наприклад, у тих випадках, якщо звернення до них проводитиметься рідко, і ви хочете звільнити пам'ять). У цій ситуації ніхто не заважає додати їх до файлу конфігурації суперсервера /etc/inetd.conf і запускати «за запитом». При цьому не забудьте лише вимкнути їхнє автозавантаження за допомогою конфігуратора системи.

У цьому розділі буде розглянуто налаштування пакета Samba "вручну", тобто не вдаючись до допомоги конфігуратора. Ви ж можете використовувати конфігуратор netconf (див. рис. 9.1), але в цьому випадку є одне «але»: якщо ви налаштовуватимете Samba або будь-яку іншу службу сервера в іншому дистрибутиві (не Red Hat або Mandrake), звичного вам конфігуратора може і не бути, тому ви повинні знати хоча б призначення та розташування системних файлів тієї чи іншої служби сервера.

Рис. 9.1. Конфігурація Samba


Якщо ж ви вирішили використовувати конфігуратор, запустіть netconf і, перейшовши на вкладку Server Tasks, виберіть конфігурування samba (див. мал. 9.1).

За допомогою конфігуратора netconf можна повністю налаштувати пакет Samba - від вказівки загальних параметрів (див. мал. 9.2) до визначення загальних ресурсів (див. рис. 9.3).

Рис. 9.2. Загальні параметри

Рис. 9.З. Визначення загальних ресурсів

9.2. Налаштування файлового сервера

Основним файлом конфігурації сервера Samba є файл /etc/smb.conf. Саме в ньому задаються всі ресурси, що використовуються і надаються. Формат файлу нагадує формат INI-файлу програм для Windows, наприклад, win.ini. Файл /etc/smb.conf складається з кількох секцій, на початку кожної з яких у квадратних дужках зазначається її ім'я. Параметри у кожній секції вказуються як записів Имя=3начение. Основною є секція, її приклад наведено у лістингу 9.1.

Лістинг 9.1. Приклад секції global
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
interfaces = 192.168.1.1/24 192.168.2.1/24

Параметр workgroup визначає робочу групу чи ім'я домену NT. Параметр comment аналогічний параметру NT Description для Windows NT або Description (Опис комп'ютера) для Windows 9x. Параметр guest account визначає ім'я користувача. Вказівка ​​guest як користувача означає, що користувачі отримують доступ без реєстрації. Вірніше, реєстрація все ж таки відбувається, але використовується гостьовий обліковий запис.

Наступний параметр – параметр security може приймати три значення:

share - при кожному доступі буде запитуватися ім'я ресурсу користувача.

user - для автентифікації використовуватиметься ім'я користувача та пароль, які використовуються для входу в мережу Windows. Це значення використовується за замовчуванням.

server - для перевірки пароля використовуватиметься сервер NT.

Записи printing та printcap name відносяться до підсистеми друку. Перша з них визначає систему друку типу BSD, а друга - вказує, де розташований файл, що містить інформацію про принтери. Про налаштування принтерів ми поговоримо трохи згодом.

Параметри client code page та character set необхідні для коректного відображення російськомовних імен файлів файлової системи Windows.

У Windows NT, починаючи з Service Pack 3, передача паролів по мережі відбувається в закодованому вигляді. Останні версії Samba дають змогу підтримувати цю можливість. Для цього потрібно встановити значення параметра encrypt password, що дорівнює yes. Якщо ваша версія Samba не підтримує цю можливість, ви можете відключити використання закодованих паролів у Windows. Зважаючи на те, що вам доведеться вручну змінювати параметр реєстру всіх робочих станцій Windows, мені здається, що простіше оновити Samba. Але якщо вас все ж таки цікавить, який саме параметр реєстру Windows потрібно змінити, я вкажу його. У розділі реєстру Windows NT:

потрібно створити ключ EnablePlainTextPassword типу DWORD і встановити його значення, що дорівнює 1. У ОС Windows 9x вам потрібно створити той самий ключ, але в розділі

У Windows 2000 потрібно внести зміни до розділу реєстру

Параметри log file та max log size визначають ім'я файлу протоколу (журналу) та його максимальний розмір. Опції сокетів задаються за допомогою socket option.

Якщо у вашому комп'ютері встановлено кілька мережних інтерфейсів, ви можете налаштувати пакет Samba так, щоб він використовував усі інтерфейси. Як це зробив я, показано у лістингу 9.1.

Тепер перейдемо до наступної секції, яка визначає параметри ресурсів, що спільно використовуються. Ця секція називається . Приклад вмісту цієї секції наведено у лістингу 9.2.

Лістинг 9.2. Секція

Параметр browseable=yes (див. листинг 9.2) дозволяє відображати спільно використовувані ресурси в мережі Microsoft. Параметр writable =yes дозволяє запис у каталоги (замість цього параметра можна використовувати параметр read only=no).

Тепер створимо загальний каталог (див. листинг 9.3). Робиться це у секції.

Лістинг 9.3. Секція

Ваших знань вже достатньо, щоб самому зробити подальше настроювання. Як завершення цього розділу я наведу кілька практичних прикладів (див. листинг 9.4). Зверніть увагу, що у файлі smb.conf коментарі можуть позначатися або ґратами (#), або крапкою з комою (;).

Лістинг 9.4.
; Каталог NETLOGON для входу в домен
comment = Samba Netlogon Service
; Не встановлюйте значення yes
; Профіль для спільно використовуваних ресурсів
path = /usr/local/samba/proflies
; Каталог, який використовується користувачем admin
; Користувач admin повинен існувати на сервері Samba

9.3. Доступ до SMB-ресурсів із Linux

Дивитимемося правді в очі, ОС Windows розроблялася для домогосподарок. Кожна домогосподарка, щоб переглянути ресурси мережі Microsoft, використовує піктограму Мережеве оточення на робочому столі Windows. А тепер уявіть, що ця домогосподарка працює в ОС Linux і хоче переглянути ресурси мережі. Швидше за все, у неї виникнуть певні проблеми. Спробуймо їх зараз вирішити.

Для перегляду ресурсів мережі Microsoft використовується програма smbclient. Допустимо, ви хочете підключитися до спільного каталогу share комп'ютера nt_ws1. При цьому припустимо, що ваше ім'я користувача user тапароль 123456. У цьому випадку використання команди smbclient виглядає так:

$ smbclient //nt_ws1/share –U user%123456

Якщо пароль не потрібен, вказується лише ім'я користувача без знака відсотка.

Після підключення до загального ресурсу, якщо точніше до каталогу, ви можете використовувати ті ж команди, що й при роботі з клієнтом ftp (див. табл. 9.1).

Команди програми smbclient Таблиця 9.1

Команда Опис
Dir Виводить список файлів у каталозі
cd [каталог] Виконує перехід до заданого каталогу на сервері (врахуйте, що саме на сервері, а не на клієнтському комп'ютері). Якщо каталог не вказаний, то smbclient просто видасть ім'я поточного каталогу
get [файл] [лок. ім'я] Отримує вказаний файл із загального ресурсу та зберігає його на локальному комп'ютері. Якщо вказано локальне ім'я, отриманий з сервера файл буде збережено на клієнтському комп'ютері під цим ім'ям
put [файл] [удал, ім'я] Копіює файл на віддалений комп'ютер (сервер) і зберігає його там під ім'ям, вказаним у полі віддаленого імені. Відповідно, якщо це ім'я не вказано, файл при збереженні перейменовуватися не буде
rm [каталог] rmdir [каталог] Видаляє вказаний каталог на віддаленому комп'ютері (сервері)
md [каталог] mkdir [каталог] Створює вказаний каталог на віддаленому комп'ютері (сервері)
mput [файли] Копіює всі вказані файли на віддалений комп'ютер (сервер)
del [файли] Видаляє на сервері вказані файли, якщо користувач має на це права
help Допомога
exit або quit Завершення сеансу роботи програми smbclient

Використовувати програму smbclient не дуже зручно. Набагато зручніше використовувати програму smbmount, яка вміє монтувати віддалений загальний ресурс як звичайну файлову систему. При цьому згодом використовувати спільний ресурс стає набагато приємнішим і зручнішим. Нижче наведено приклад команди, яка монтує загальний ресурс customers комп'ютера nt, використовуючи ім'я користувача user.Точка монтування - каталог /mnt/customers, ідентифікатор користувача (UID) дорівнює 500, а групи (GID) - 100:

smbmount //nt//customers –U user –c "mount /mnt/customers –u 500 –g 100"

Для цих цілей можна скористатися командою:

smbmount //nt/customers/ /mnt/customers –U user

Примітка. Використовувати команду smbmount має право лише користувач root. Щоб звичайний користувач міг використовувати цю програму, слід встановити для неї атрибут Setuid root, однак таке рішення є небезпечним. Виходом з цього положення може стати запуск програми smbmount при завантаженні системи. Додайте у сценарії автозавантаження виклик програми smbmount для монтування файлових систем спільного використання, з якими ви працюєте найчастіше. Після цього звичайні користувачі зможуть працювати з віддаленими ресурсами як зі звичайною локальною файловою системою.

Рис. 9.4. Загальні ресурси


Переглянути загальні ресурси комп'ютера можна за допомогою опції –L (див. мал. 9.4).

Список Browse list (див. мал. 9.4) показує інші smb-сервери в мережі з доступними ресурсами. Опція -I дозволяє програмі smbclient працювати з іменами DNS. Наприклад, якщо домен називається domain.ru, то переглянути загальні ресурси комп'ютера nt_ws1 можна командою:

$ smbclient –L –I nt ws1.domain.ru

9.4. Доступ до принтера Linux для Windows-машин

Для забезпечення підтримки друку ми зробили майже все можливе. Параметр секції load printers завантажує принтери з /etc/printcap (див. листинг 9.1). Використовується система друку BSD. Тепер залишилося визначити секцію файлу smb.conf (див. список 9.5). У цій секції задаються глобальні параметри для всіх принтерів, тому не потрібно вказувати їх окремо для кожного принтера.

Лістинг 9.5. Секція

Деякі параметри, що використовуються в цій секції (browseable, writable, comment), мають ті ж значення, що й у секції . Параметр path задає буферний каталог, до якого файли копіюватимуться перед печаткою (так званий спулпринтера). Параметр public у значенні yes дозволяє друк з-під гостьового облікового запису, тобто всім охочим. Щоб заборонити друк з-під гостьового облікового запису, вкажіть public=no. У цьому випадку доступ до принтера матимуть лише зареєстровані на сервері користувачі. Замість параметра public іноді використовується синонім - параметр guest ok. Параметр writable встановлений у значенні для того, щоб у буферний каталог принтера (спул) могли записуватися тільки друковані файли.

Можливо, вам потрібно буде дозволити друк лише одному або декільком певним користувачам на певному принтері. Зробити це можна так, як показано в лістингу 9.6.

Лістинг 9.6. Дозвіл друку певному користувачеві
valid user = root admin administrator

Підключення до комп'ютера Windows мережного принтера, підключеного до Linux-сервера або Linux-станції, здійснюється аналогічно підключенню звичайного мережного принтера, підключеного до робочої станції Windows. У операційній системі Windows 98 для цього виконайте такі дії:

1. Виконайте пункт Пуск→Настройка→Принтери.

2. Активуйте майстри Налаштування принтера.

3. Виберіть тип принтера: мережний.

4. Вкажіть шлях до принтера або натисніть кнопку «Огляд», щоб автоматично вибрати ресурс (див. мал. 9.5).

Рис. 9.5. Підключення мережевого принтера

9.5. Доступ до Windows-принтера з комп'ютерів, що працюють під Linux

Перш за все вам потрібно створити правильні записи у файлі /etc/printcap. З форматом цього файлу ви можете ознайомитись у лістингу 9.7.

Лістинг 9.7. Файл printcap
# просто коментар
:cm=HP 5MP Postscript hp5m on nt_wsl:\
ім'я пристрою, що відкривається для виводу
директорія спула принтера (на локальній машині)
# файл обліку використання принтера
максимальний розмір файлу.
# Якщо вказано значення «нуль», то обмеження знімається

У лістингу 9.7 наведено (у коментарях) опис полів файлу printcap, але, я думаю, не завадить окремо навести їхній перелік:

cm - задає коментар;

lp – ім'я пристрою, що відкривається для виведення;

sd – директорія спула принтера на локальній машині;

af – файл обліку використання принтера;

mx – максимальний розмір файлу. Якщо вказано значення нуль, то обмеження знімається;

if – ім'я вхідного фільтра.

Повертаючись до налаштування доступу, переконайтеся, що каталог для спула принтера існує та дозволений для запису. Також потрібно вказати існуючий пристрій для виводу. У лістингу 9.7 цим пристроєм є /dev/lp0. У пакет Samba входить сценарій smbprint. За допомогою цього сценарію можна друкувати документи на мережному принтері за допомогою сервісів SMB. Можливо, до складу вашого пакета він не входить, тому я відтворив його у лістингу 9.8. Цей листинг частково запозичений із посібника з пакету Samba.

Лістинг 9.8. Сценарій smbprint
# Цей скрипт є фільтром системи друку, що використовує
# Він використовує програму smbclient для друку файлу на мережевому
# принтер, який підключено до робочої станції Windows.
# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint
# Запис створює unix-принтер, названий "smb", який буде
друкувати за допомогою цього скрипта. Вам необхідно створити директорію
# спула /usr/spool/smb з відповідними правами та власником
# Встановіть ім'я сервера та принтер, на який ви хочете друкувати.
# Далі скрипт було змінено Майклом Гамільтоном (Michael Hamilton)
так що сервер, сервіс і пароль можуть бути зчитані з файлу
# /usr/var/spool/lpd/PRINTNAME/.config
# Для того, щоб це працювало, запис у /etc/printcap повинен
# включати файл обліку використання (af=…):
# :cm=CD IBM Colorjet on 6th: \
# :sd=/var/spool/lpd/cdcolour: \
# :af=/var/spool/Ipd/cdcolour/acct: \
# :if=/usr/local/etc/smbprint:\
# Файл /usr/var/spool/lpd/PRINTNAME/.config повинен містити
# Файл для налагоджувальної інформації можна змінити на /dev/null
config_file=$spool_dir/. config
echo "server $server, service $service" >> $logfile
) | /usr/bin/smbclient "\\\$server\\$service" $password –U $user –N –P >> $logfile

Тепер ви можете надрукувати на мережному принтері. Проте, я все ж таки рекомендую прочитати посібник з пакету Samba для отримання більш детальної інформації про друк на мережевих принтерах.

9.6. Приклад файлу smb.conf

У лістингу 9.9 наведено приклад мого файлу /etc/smb.conf. Швидше за все, він і у вас теж буде коректно працювати.

Лістинг 9.9. Файл smb.conf
log file = /var/log/samba/log.%m
# Наступні рядки я закоментував, тому що вони характерні
# тільки для моєї конфігурації
# socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# interfaces = 192.168.1.1/24 192.168.2.1/24

9.7. Конфігуратор SWAT

Конфігуратор SWAT (Samba Web-based Administrative Tool) призначений для налаштування пакета Samba через Web-інтерфейс. Як і інші конфігуратори, наприклад netconf або linuxconf, SWAT надає зручний графічний інтерфейс для адміністрування сервера Samba. Основною перевагою конфігуратора є те, що вам не потрібно перебувати за комп'ютером, який ви адмініструєте. Адмініструвати сервери Samba можна з будь-якого комп'ютера вашої мережі. Як і при роботі з іншими конфігураторами, при роботі зі SWAT вам не потрібно знати ні формат конфігураційних файлів, ні їхню назву, ні розташування.

Для встановлення SWAT необхідно встановити пакет samba-swat. Зазвичай цей пакет знаходиться на другому компакт-диску вашого інсталяційного набору Linux. Встановіть пакет командою:

rpm –ihv samba-swat-2.2.la-4.1386.rpm

Після встановлення пакета простежте за тим, щоб у файлі /etc/services був наступний запис:

Конфігуратор SWAT для своєї роботи використовує протокол TCP і порт 901. Проте ви можете призначити будь-який інший порт. У разі зміни номера порту не забудьте змінити номер порту у файлі /etc/inetd.conf або /etc/xinetd.conf.

Якщо ви використовуєте суперсервер inetd, додайте до файлу /etc/inetd.conf наступний рядок (якщо його там немає):

swatstream tcp nowait.400 root/usr/sbin/swat swat

При використанні суперсервера xinetd до каталогу /etc/xinetd.conf буде додано файл swat наступного змісту (листинг 9.11):

Лістинг 9.11. Файл /etc/xinetd.conf/swat
# description: SWAT є Samba Web Admin Tool. Use swat \
# configure ваш Samba server. To use SWAT, \
# connect to port 901 with your favorite web browser,

Якщо ви бажаєте конфігурувати сервер Samba з будь-якого комп'ютера вашої мережі, закоментуйте запис only_from = 127.0.0.1 або встановіть будь-які інші параметри доступу до SWAT.

Тепер потрібно перезапустити суперсервер. Для цього введіть команду:

Можна також скористатися командою:

При використанні inetd перезапустити суперсервер можна командою:

Усе! Налаштування SWAT завершено і тепер можна розпочати конфігурування Samba за допомогою SWAT. Для цього запустіть свій улюблений браузер та введіть URL:

Після встановлення з'єднання ви побачите вікно, що запитує ім'я користувача та пароль (див. мал. 9.6).


Введіть ім'я користувача та пароль. Потім ви побачите головне вікно конфігуратора (див. мал. 9.7).

Рис. 9.7. Samba Web Administration Tool

З рис. 9.7 видно, що у конфігураторі SWAT все найнеобхідніше знаходиться «під рукою» адміністратора: від документації до паролів користувачів.

У розділі Globals визначаються значення глобальних змінних (рис. 9.8). Ви можете отримати підказку за тим чи іншим параметром, перейшовши за посиланням Help. Можна встановити значення за замовчуванням, натиснувши кнопку Set Default.

Рис. 9.8. Глобальні змінні Samba


У розділі Shares визначаються спільні ресурси, а розділ Printers - спільні принтери. Стан сервера Samba можна переглянути в розділі Status (див. мал. 9.9). Тут можна запустити, зупинити і перезапустити сервіси SMB і NMB. У цьому розділі можна завершити будь-яке з'єднання із сервером Samba, а також переглянути стан з'єднання.

Рис. 9.9. Розділ Status


У розділі Passwords визначаються користувачі, які мають доступ до сервера Samba.

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 сервер. Ніколи не встановлюйте цей параметр у більш ніж на одній машині в межах однієї підмережі. 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

Тепер слід розібратися з користувачами.

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 відмінно підійде

© 2022 androidas.ru - Все про Android