У Windows загальний доступ до папки або диска робиться досить просто. В Лінуксі, в зв'язку з його більш потужною системою безпеки, організація загального доступу, якщо така робиться на ньому вперше, займає трохи більше часу через підготовчих дій, проте нічого складного в цьому теж немає. А для наступних папок організація доступу стає складніше, ніж в Windows.
Зробити в Ubuntu загальнодоступною для локальної мережі папку ( «розшарити» її) можна як вручну, шляхом установки NFS-сервера, редагування конфігураційних файлів і подальшого монтування расшаренной папки в цільовому комп'ютері, так і за допомогою спеціальної служби, яка називається samba. Ця служба дозволяє расшарівать папку не тільки для комп'ютерів під Linux, але зробити це і для інших операційних систем, для чого вона, в общем-то, в першу чергу і призначається. Служба реалізують протокол SMB / CIFS, який ще називають LanManager або NetBIOS.
Отже, нижче пропонується методика для організації загального доступу з локальної мережі до папки за допомогою служби samba. Не лякайтеся довгого опису - методика коротка, просто вона досить ємко описана. Крім того, якщо ви вже один раз її виконали, то для розшарювання інших папок буде достатньо виконувати тільки пункт 5. тобто, по суті, просто включати загальний доступ до будь-якої папки через її контекстне меню.
- За допомогою «Система → Адміністрування → Програма управління пакетами Synaptic» упевняємося, що у нас встановлений пакет samba. Якщо немає, встановлюємо його.
- Якщо ви збираєтеся зробити загальнодоступним відразу цілий диск, або папку, власником якої ваш обліковий запис не є, то відкриваємо файл /etc/samba/smb.conf і в секцію [global] в підрозділ Misc дописуємо рядок:
usershare owner only = False.
Це дозволить нам як користувачу відкривати загальний доступ до чужих об'єктів. Так, диски знаходяться у веденні суперкористувача.
Якщо після натискання на кнопку «Створити ресурс» з'явилася помилка:
Помилка 255 при запуску 'net usershare': net usershare add: can not share path / media / disk as we are restricted to only sharing directories we own. Ask the administrator to add the line "usershare owner only = False" to the [global] section of the smb.conf to allow this.
значить ви намагаєтеся зробити загальнодоступним диск або папку, власником якої ваш обліковий запис не є, але не виконали пункт 2 цієї методики.# Дозволимо роботу samba
# Порт 137 (netbios-ns) - служба імен NETBIOS
# Порт 138 (netbios-dgm) - служба датаграмм NETBIOS
# Порт 139 (netbios-ssn) - служба сеансів NETBIOS
# Порт 445 (microsoft-ds) - протокол SMB поверх TCP / IP
-A INPUT -p udp -m udp -m multiport -i eth1 --port 137,138 -j ACCEPT
-A INPUT -p tcp -m tcp -m multiport -i eth1 --port 139,445 -j ACCEPT
-A OUTPUT -p udp -m udp -m multiport -o eth1 --port 137,138 -j ACCEPT
-A OUTPUT -p tcp -m tcp -m multiport -o eth1 --port 139,445 -j ACCEPT
# Якщо треба, дозволяємо інструмент адміністрування
# Порт 901 (swat) - Web-інструмент адміністрування Samba (SWAT)
# -A INPUT -p tcp -m tcp -m multiport -i eth1 --port 901 -j ACCEPT
# -A OUTPUT -p tcp -m tcp -m multiport -o eth1 --port 901 -j ACCEPT
Усе. Тепер папка «розшарити», і доступна з будь-якого комп'ютера локальної мережі. Для доступу до неї відкриваємо «Перехід → Мережа», і розкриваємо «Мережа Windows». Після цього відкриваємо робочу групу WORKGROUP, знаходимо потрібний комп'ютер, і відкривши його отримуємо список його расшаренних ресурсів.
Зауважу, що з одного боку, ресурс буде доступний в мережі тільки тоді, коли містить його носій буде подмонтіровать до системи, а з іншого боку, не можна буде отмонтировать цей носій, поки він не буде отмонтировать на інших комп'ютерах локальної мережі, що, у загальному -то, логічно.
Служба samba встановлюється тільки на тих машинах, ресурси якого необхідно відкрити в мережу. На всіх інших машинах з Ubuntu вже за замовчуванням встановлена клієнтська частина служби (smbclient), і нічого доустанавливать не треба.
За моїми спостереженнями, робота з мережею взагалі і з «Розшарені» ресурсами зокрема працює в Linux набагато швидше і впевненіше, ніж в Windows. Воно і зрозуміло - якщо Windows створювалася за великим рахунком як емулятор паперових документів, і тільки потім пішла в мережу, то Linux спочатку створювався як мережева система, і тільки зараз почав обростати паперовими інтефейс.