Локальна мережа лінукс та віндовс. Налаштування локальної мережі на Linux. Доступ до мережних принтерів

Завдання начебто і просте, але, проте, деякі моменти краще знати.

Напевно, можна і якось простіше і правильніше, але я зробив так.

Отже, завдання таке – є десяток користувачів anna, andy, olya, nataly… тощо. У кожного як операційна система Ubuntu 10.04. Потрібно організувати файловий сервер на окремій машині Ubuntu 10.04 з папками для даних кожного користувача з доступом тільки для цього користувача і для адміна, і папки для обміну файлами для кожної пари користувачів типу anna-andy, anna-olya, andy-olya. тільки для двох користувачів з назви папки та адміну. Організуємо описаний примітивний файловий сервер!

Заходжу на комп'ютер файлового серверапід обліком адміністратора, створюю каталог, скажімо «111» і всередині нього створюю потрібні каталоги:

Щоб дозволи Samba на запис працювали, потрібно дозволити запис користувачам у кожному потрібному йому каталозі. Я не став довго морочитись – все одно через samba будуть видні для кожного користувача з дозволами необхідними тільки ті каталоги, які я в samba відкрию, тому я в терміналі виконав команду

Sudo chmod -R 777 /home/alex/111

давши цим всім права на каталог «111» і всі каталоги з нього. А в ньому маю всі каталоги для файлового сервера і лежать.

Потім зайшов до «Системи» — «Адміністрування» — «Користувачі та групи», створив користувачів. Імена, паролі та ID користувачів повинні збігатися на файловому сервері та на комп'ютерах самих користувачів. Про те, що ID повинен збігатися, я дізнався вже після того, як створив користувачів, тому довелося на комп'ютерах користувачів змінювати його для відповідності ID цих користувачів на файловому сервері. Ім'я і пароль через графічну утиліту ставити відомо як, щоб задати ID необхідно вибрати користувача, зайти в « Додаткові параметри» на вкладку «Додатково». При цьому користувач, ID якого я зміню, повинен повністю вийти з системи – якщо завершення сеансу цього користувача не допомогло – краще перезавантажитися. У мене чомусь не виходило з графічного інтерфейсу поміняти ID – він ніби змінювався, але при повторному заході користувача виявлявся старим, тому я змінював його з терміналу. Щоб переглянути ID користувача заходимо у файл /etc/passwdі шукаємо рядок з його ім'ям:

vi /etc/passwd
...
andy:x:1008:1009:andy,:/home/andy:/bin/bash
...

У цьому терміні перша цифра, в моєму випадку 1008 і є ID користувача andy, якщо він не збігається з ID на сервері, щоб змінити ID вводжу в терміналі комп'ютера користувача:

Sudo usermod --uid 1005 andy

Всіх цих маніпуляцій можна уникнути, якщо створювати користувача командою useradd з параметрами -u (той самий uid) і p (пароль), наприклад:

sudo useradd -u 1005 -p userpassword username

Так, каталоги та користувачів я створив, тепер організую спільний доступ, для цього мені знадобляться з «Центру додатків Ubuntu» дві програми, які можна знайти, задавши для пошуку «samba» — це «Samba» та «SMB/CIFS file,print, and login server of Unix»

Встановивши їх, набираю у терміналі

Sudo system-config-samba

або йду до «Системи» «Адміністрування» «Samba».
Потім "Налаштування" "Користувачі Samba" "Додати користувача"

Вибираю першого користувача, якому потрібен файловий сервер з меню «Ім'я користувача Unix», вводжу таке ж ім'я в графі «Ім'я користувача Windows» потім пароль, «ok», «ok». І таким чином додаю всіх користувачів файлового сервера, створених раніше в Користувачі та групи. Ці ж дії можна виконати в терміналі, наприклад, додавання системного користувача andy до списку користувачів samba виглядає так:

smbpasswd -a andy

Smbpasswd -e andy

Після додавання користувачів натискаю зелений плюсик у вікні system-config-samba, у вікні натискаю кнопку «Огляд», в огляді знаходжу необхідний каталог, скажімо «Anna-Andy», вибираю його, ставлю галочки «Запис дозволено» і «Віден» ,

на вкладці «Доступ» ставлю галочки навпроти користувачів andy та anna. Повторюю цю операцію всім каталогів. Після цього необхідно перезапустити сервіс samba, для чого виконати в терміналі

Sudo service smbd restart

Тепер якщо натиснути в головному меню "Перехід" "З'єднатися з сервером", вибрати в меню "Тип сервісу" пункт "Ресурс ОС Windows", ввести в поле "Сервер" його IP адресу, то відкривається список каталогів файлового сервера. Далі клацаємо по потрібному каталогу, вводимо ім'я користувача та пароль, і якщо на сервері самба з такими обліковими даними раніше я дозволив ходити в цей каталог - він відкриється з правами для читання та запису). Але мені потрібно щоб файли створені одним користувачем були доступні для читання та запису іншому користувачеві, з яким у першого користувача цей каталог загальний. У графічній утиліті цей пункт пропущено, тому виправимо з терміналу створений раніше нами на сервері файл /etc/samba/smb.conf. Щоб файли та каталоги, створювані користувачем andy у розшарованій папці andy-anna були доступні для читання та запису користувачу anna, потрібно у файлі /etc/samba/smb.confзнайти пункт та вставити рядки create mask = 0777і directory mask = 0777, вийде так.

Перед тим, як приступати до налаштування мережного підключенняв Лінукс, треба почати з того, що подивитися - які установки мережі використовуються зараз. Для цього треба скористатися командою ifconfig. В інформаційному режимі вона доступна і без прав ROOT, хоча для її повноцінного використання краще отримати привілеї суперкористувача, ввівши команду sudo ifconfig. Результатом її роботи буде список наявних у системі мережевих підключень та їх параметрів.

У різних версіяхЛінукс ім'я мережного інтерфейсуможе бути скороченням від Ethernet - eth0, eth1, eth2 і т.п.

На інтерфейс lo – скорочення від loopback – тобто локальна петля з адресою 127.0.0.1.
Наприклад розглянемо інтерфейс Eth0.
В рядку inet addrвідображається поточна IP-адреса комп'ютера в локальної мережі, підключеної до цієї мережі. У прикладі це: 192.168.1.144
Bcast- Це широкомовна адреса в мережі, так званий Бродкаст (Broadcast).
Mask- Це маска мережі.
HWaddr— це апаратна адреса мережевої карти, вона ж MAC-адреса, яка використовується на канальному рівні.

Інформацію про поточні підключення дізналися, тепер розглянемо налаштування локальної мережі на Linux. Зробити це можна трьома способами:
1 - Через графічну оболонку
2 - через команду ifconfigабо інструмент Network Manager
3 — через файли конфігурації мережевого сервісу Netork або Networking.

На мій погляд, останній спосіб - найзручніший і надійніший, а значить - правильний. Щоб налаштувати мережу в Лінукс, потрібно відкрити файл, що містить конфіг інтерфейсу. Тут все залежить від того, який Linux дистрибутив використовується.

Варіант 1. У дистрибутивах, заснованих на Debian (Ubuntu, Kubuntu тощо)

Файл із параметрами підключення до мережі:

/etc/network/interfaces

Для того, щоб змінити linux налаштуваннямережі, файл його треба з правами rootбудь-яким текстовим редактором. Наприклад, через nano:

Sudo nano /etc/network/interfaces

Для автоматичного отримання адрес від DHCP-сервера треба пописати таке:

Allow-hotplug eth0 iface eth0 inet dhcp

Якщо адресу треба прописати статично, то вказуємо наступне:

Allow-hotplug eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.16.16

У цьому конфізі розглянуто приклад звичайної домашньої мережі, де адреса комп'ютера буде 192.168.1.2, адреса шлюзу та DNS-сервера (їх функції зазвичай виконує wifi-роутер)- .

Варіант 2. RedHat-based дистрибутиви (Fedora, OpenSuse, CentOS)

Файл із налаштуваннями мережі Linux:

/etc/sysconfig/network-scripts/ifcfg-eth0

Відкриваємо його так само через nano чи vim:

Vim /etc/sysconfig/network-scripts/ifcfg-eth0

У разі автоматичного отримання налаштувань від DHCP-сервера:

DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00-1C-1B-11-F6-07 ONBOOT=yes

Статична IP-адреса:

DEVICE=eth0 HWADDR=00-1C-1B-11-F6-07 IPADDR=192.168.1.2 NETMASK=255.255.255.0 BROADCAST=192.168.1.255 GATEWAY=192.168.1.1

IP-адреси DNS-серверів у цьому випадку прописуються у файлі

/etc/resolv.conf

ось приклад для публічних DNS-серверів від Google:

Nameserver 8.8.8.8 nameserver 8.8.4.4

Налаштування мережі в Лінукс завершено. Залишається тільки перезапустити мережу командою:

Service network restart

Власне, все.

Як постскриптум розповім як включити і вимкнути мережу в Linux. Робиться це через ту саму команду ifconfig. Вимкнути мережну картку eth0:

Sudo ifconfig eth0 down

Включити мережну плату в Лінуксі назад:

Sudo ifconfig eth0 up

Цілком зупинити роботу всіх мережевих інтерфейсів.

Service network stop

/etc/init.d/network stop

Включити все назад:

Service network start

/etc/init.d/network restart

Для систематизування інформації щодо налаштування мережі в ОС Linux було вирішено написати цю нотатку. Тут у доступній формі описаний процес налаштування мережного інтерфейсу на прикладі ОС Ubuntu. Також цей посібникдопоможе «підняти» локальну мережу та на будь-якому іншому дистрибутиві Linux.

Для перегляду поточних параметрів мережі та стану мережних інтерфейсів у ОС Лінукс існує команда:

Приклад висновку:

eth0 Link encap:Ethernet HWaddr 00:11:5b:91:25:3e

inet addr:192.168.1.18 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::211:5bff:fe91:253e/64 Діапазон:Посилання
ВВЕРХ BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:648009 errors:0 dropped:0 overruns:0 frame:0
TX пакетів:1075413 errors:0 dropped:0 overruns:0 carrier:0
колізії:0 txqueuelen:1000
RX bytes:70177943 (70.1 MB) TX bytes:1536487024 (1.5 GB)
Перервано:19 Base address:0xd000

lo Link encap:Локальна петля (Loopback)

inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Діапазон:Вузол
ВВЕРХ LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:106 errors:0 dropped:0 overruns:0 frame:0
TX пакетів:106 errors:0 dropped:0 overruns:0 carrier:0
колізії:0 txqueuelen:0
RX bytes:13776 (13.7 KB) TX bytes:13776 (13.7 KB)

Для перегляду всіх мережевих інтерфейсів запускаємо команду з ключем -a:

# sudo ifconfig -a

З наведеного прикладу видно, що на комп'ютері використовується два мережеві інтерфейси: eth0і lo.

Інтерфейс lo- це локальна петля, яка має IP-адресу 127.0.0.1 і призначена для мережного доступу до свого комп'ютера. Далі цей інтерфейс не розглядатиметься, оскільки для ефективної роботи не вимагає додаткового налаштування.

Інтерфейс eth0- це Ethernet мережевакарта, яка має мережеві параметри: IP-адреса - 192.168.1.18 , маску мережі - 255.255.0.0 та MAC-адреса - 00:11:5b:91:25:3e. Значення RUNNINGпоказує, що зараз мережевий інтерфейс eth0 працює.

Для перегляду типу з'єднання, швидкості та підтримуваних параметрів мережним інтерфейсом eth0 набираємо команду:

# sudo ethtool eth0

Висновок:

Supported ports: [ TP MII ]
Supported link modes:10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pg
Wake-on: d
Current message level: 0x000000c5 (197)
Link detected: yes

З висновку видно, що мережевий інтерфейс eth0 працює на швидкості 100Мб/с з повним повним дуплексом (Full Duplex). Повний дуплекс від напівдуплексу (Half Duplex) відрізняється тим, перший забезпечує передачу даних в обидві сторони одночасно, а другий здійснює передачу вхідних і вихідних даних по черзі.

2. Як зупинити/запустити або перезавантажити мережний інтерфейс?

Для зупинки інтерфейсу eth0 існує команда:

# sudo ifconfig eth0 down

Команду легко запам'ятати, тому що після назви самої команди йде ім'я інтерфейсу та після дія, яку потрібно зробити над ним (down або up).

Для відновлення роботи мережного інтерфейсу eth0:

# sudo ifconfig eth0 up

Щоб перезапустити всі мережеві інтерфейси ОС, вводимо команду:

# sudo /etc/init.d/networking restart

Цей рядок запускає bash-скрипт networking, що перезапускає мережні інтерфейси системи.

Також за аналогією проводиться зупинка всіх інтерфейсів:

# sudo /etc/init.d/networking stop

І їхній запуск:

# sudo /etc/init.d/networking start

3. Як змінити мережеві налаштування?

Щоб змінити налаштування мережі в ОС Linux можна піти двома шляхами:
  1. використовувати команди для визначення параметрів мережевих інтерфейсів;
  2. редагувати конфігураційний файл, який містить параметри мережних інтерфейсів.

Налаштувати мережу можна одним із наведених вище способів. Ці два способи абсолютно взаємозамінні. Кому як звичніше.

  1. Налаштування мережі за допомогою команд.

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

    Щоб встановити основну IP-адресу та маску мережі для інтерфейсу eth0:

    # sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0

    Для присвоєння додаткової IP-адреси інтерфейсу eth0:

    # sudo ifconfig eth0:0 10.10.0.1 netmask 255.255.255.0

  2. Налаштування мережі за допомогою редагування конфігураційного файлу.

    Редагувати конфігураційний файл /etc/network/interfaces. Щоб вивести вміст конфігу на екран, набираємо команду:

    # sudo nano /etc/network/interfaces

    Якщо локальна мережа, до якої підключаємося, має на увазі ручне налаштування IP-адреси, то конфігураційний файл має виглядати приблизно так:

    iface lo inet loopback

    auto eth0
    iface eth0 inet static
    address 192.168.1.18
    netmask 255.255.0.0
    gateway 192.168.1.253

    Перші рядки залишаємо як є, тому що їх додаткове налаштуванняне вимагається.

    Рядок auto eth0каже, що мережевий інтерфейс eth0 має стартувати під час завантаження ОС.

    Другий рядок iface eth0 inet staticкаже, що мережному інтерфейсу eth0 IP-адреса задається вручну.

    Рядок address 192.168.1.18каже, що мережному інтерфейсу eth0 призначено IP-адресу 192.168.1.18 (ця мережна адреса взята для прикладу і на його місці може бути будь-яка інша).

    Рядок netmask 255.255.0.0каже, що маска мережі 255.255.0.0.

    Останній рядок gateway 192.168.1.253показує, що мережевим шлюзом є комп'ютер із IP-адресою 192.168.1.253. Цей рядок може бути відсутнім, оскільки його наявність у конфігураційному файлі залежить від параметрів локальної мережі, до якої підключається комп'ютер, що настроюється.

    Якщо в локальній мережі, що підключається, використовується автоматична роздача мережевих налаштувань DHCP-сервером, то конфігураційний файл /etc/network/interfacesмає бути приведений до вигляду:

    iface lo inet loopback

    auto eth0
    iface eth0 inet dhcp

4. Додаткові налаштування мережі: DNS-сервера, MAC-адреси і швидкість мережного інтерфейсу.

Налаштування сервера DNS.

Так само в багатьох випадках для правильної роботи локальної мережі на комп'ютері, що настроюється, потрібно ввести IP-адресу використовуваного DNS-сервера.

Для цього потрібно відкрити файл конфігурації командою:

# sudo nano /etc/resolv.conf

Висновок:

# Generated by NetworkManager
nameserver 192.168.1.253

Рядок nameserver 192.168.1.253каже, що як DNS-сервер використовується комп'ютер з IP-адресою 192.168.1.253.

Зміна MAC-адреси мережі.

Щоб тимчасово поміняти MAC-адресу мережевої карти eth0, потрібно скористатися командою:

# sudo ifconfig eth0 hw ether 00:01:02:03:04:05

Останнє число - це нова MAC-адреса.

Для зміни MAC-адреси назавжди потрібно в конфігураційному файлі /etc/network/interfacesдо налаштувань мережного інтерфейсу додати рядок з новою MAC-адресою:

iface eth0 inet dhcp

pre-up ifconfig eth0 hw ether 00:01:02:03:04:05

Зміна швидкості мережного інтерфейсу.

Для суворого завдання швидкості мережевої картки:

# sudo ethtool -s eth0 speed 100 duplex full autoneg off

# Примусово встановити швидкість мережного інтерфейсу 100Mbit і режим Full Duplex і відключити автоматичне визначення

# sudo ethtool -s eth0 speed 10 duplex half autoneg off

# Примусово встановити швидкість мережного інтерфейсу 10Mbit і режим Half Duplex і вимкнути автоматичне визначення

Випадкові 7 статей:

Коментарі

  1. sergo
    1 Листопада, 23:27

    велике спасибі за статтю! в лінукс нещодавно, оч допомогло, не підкажете, якщо мережевих в комп'ютері дві, в однієї мережевий dns-server 192.168.0.9, а в інший наприклад 192.168.1.9, коректно буде в одному файлі resolv.conf написати
    nameserver 192.168.0.9
    nameserver 192.168.1.9
    Чи зрозуміють сетевухи кому який dns?
    І чи можна в лінукс призначити мережевій картці якесь ім'я, наприклад eth0 це loc, а eth1 це prov?

  2. Mut@NT
    2 Листопад, 00:07

    1. DNS можна вказати обидва, але мережним слід зазначити маски мережі 255.255.255.0. Тоді вони будуть ходити своїм DNS `ам.

    2. Про назви мережевих не знаю. Думаю, що можна, це ж Linux!

  3. sergo
    2 Листопад, 03:44

    вимикаємо інтерфейс
    ifconfig eth0 down
    даємо команду
    ifrename -i eth0 -n нове_ім'я (наприклад, local)
    ifconfig local up
    потім у вашому лінуксі напевно треба буде у файлі /etc/network/interfaces деякі eth0 поміняти на local, у мене просто альт, і цього файлу взагалі немає, у мене /etc/net/ifaces/папки_з_інтерфейсами, і ось у мене треба папку eth0 перейменувати в local, та й потім
    service network restart:)

  4. Mut@NT
    2 Листопад, 08:45

    Потрібно буде додати до статті, дякую))

  5. gpns
    14 Травня, 17:36

    Думаю варто поправити рядок: sudo ifconfig eth0:0 10.10.0.1 netmask 255.255.255.0
    у аліасу може бути маски /24 (255.255.255.0), це помилка, т.к. у будь-якому випадку інтерфейсу eth0:0 буде присвоєно маску /32 (255.255.255.255)
    У вашому випадку буде: sudo ifconfig eth0:0 10.10.0.1/32

  6. Mut@NT
    16 Травня, 12:02

    gpns:Думаю варто поправити рядок: sudo ifconfig eth0:0 10.10.0.1 netmask 255.255.255.0 у аліаса не може бути маски /24 (255.255.255.0), це не помилка, т.к. у будь-якому випадку інтерфейсу eth0:0 буде присвоєно маску /32 (255.255.255.255) У вашому випадку буде: sudo ifconfig eth0:0 10.10.0.1/32

    Чорт, Ви перевернули всю мою свідомість. Прийде переробляти налаштування мережного інтерфейсу на комп'ютері, які працювали вже майже 2 роки.
    Чому тоді командою ifconfigпоказується маска, яку я встановив?

  7. GydruS
    13 Вересень, 23:32

    Простою мовою! Зрозуміло та зрозуміло! Величезне спасибі!
    P.S. Тільки в лістингах введення команд добре шрифт зробити такий, де 0 від О візуально відрізняється.

  8. Mut@NT
    14 Вересень, 18:34

    GydruS: P.S. Тільки в лістингах введення команд добре шрифт зробити такий, де 0 від О візуально відрізняється.

    Дякую, прийму до уваги. Хоча начебто відмінність є, у точці)

  9. andrey
    18 Вересень, 23:50

    дякую за ваш сайт. мені подобається! все зрозуміло і зрозуміло
    у мене до вас таке запитання. якщо можна підкажіть будь ласка, як налаштувати мережу щоб працювала локалка та DSL з'єднання одночасно.
    не можу зрозуміти як це зробити???!!

  10. Mut@NT
    20 Вересень, 07:18

    andrey:дякую за ваш сайт. мені подобається! все зрозуміло в мене до вас таке питання. якщо можна підкажіть будь ласка, як налаштувати мережу щоб працювала локалка та DSL з'єднання одночасно.

    Якщо чесно давно не стикався з DSL-з'єднаннями. Розкажіть якомога детальніше:
    1. Яка локальна мережа? За модемом чи на інший мережевий?

  11. andrey
    20 Вересень, 18:38

    з'єднання звичайнісіньке – міська мережа
    комп'ютер підключено через мережну картку
    вихід в інтернет підключається через з'єднання DSL

  12. Mut@NT
    21 Вересень, 17:22

    andrey:з'єднання звичайнісіньке – міська мережа комп'ютер підключений через мережну карту вихід в інтернет підключається через з'єднання DSL

    По-моєму, Вам потрібно налаштовувати сам модем. Подивіться убік Dual PPPOE
    Я щось подібне робив на роутері D-Link DIR-320, але на модемі неодноразово.

  13. andrey
    21 Вересень, 18:22

    Дякую!!! буду шукати!

  14. Serpent22
    3 Листопад, 06:21

    До слів про DSL через локальну мережу: дуже багато парився, перерив купу манів (у мене Debian Lenny) і щоб позбавити інших людей від тих же граблів скажу - pppoeconf допомагає не всім, у мене наприклад, інет з'являвся на пару секунд і зникав чудовим чином . Конфіги, логи не допомогли. Але через два тижні і нару шматків вирваного волосся, натрапив на просту команду ifconfig ppp0 mtu 1372. Сподіваюся комусь це допоможе. Виговорився, аж легше стало)))

  15. nick
    7 Грудень, 09:17

    Доброго дня, у мене в папці etc немає ні папки network, ні папки net, варто centos 5.7, що робити підкажіть

  16. Марина
    27 Грудень, 21:12

    Здрастуйте, така проблема трапилася. До інтернету комп'ютер підключений через роутер.. Проблема в тому, що деякі сайти не відкриваються- пише помилка перетворення dns.. Що потрібно зробити. щоб все нормально працювало? Заздалегідь дякую!!

  17. papick
    30 Липень, 17:05

    Артем: 2 мережеві карти. по одній гвинтова мережа з доменом. у другій встромлять адсл модем з підключенням PPPoE. Як зробити так, щоб і в мережі працювати можна було і в Інтернеті?!

    наприклад прописати правила маршрутизації на машині таким чином, щоб пакети призначені для локальної мережі відправлялися в етн0, а всі інші в етн1
    Проте ця тема виходить за межі цієї статті.

  18. Комполюбитель
    29 Серпень, 03:01

    Цілком придатна стаття. велике дякую

  19. Valera
    21 Січня, 07:20

    я всього 3-й міс на linux але вже штук 17 перепробував але ніхто не хоче dsl підкл\одразу обриває локалку\ залишив zorin і ось поставив ALT -працюю як домашні а для мережі ХРюша\7 -зніс як і всі інші\.якщо- б мережа на ALT то до кінця життя ... я всього років 7 як освоїв комп - старий вже.

Усі маніпуляції, по відкриттю загального доступуу локальній мережі до папки, я проводив у Ubuntu 14.04 LTS.

  1. Для початку, клацніть правою кнопкою миші на папці, яку ви хочете надати в мережу і виберіть опцію "Загальнодоступна папка локальної мережі". Якщо ця опція не доступна з контекстного меню по клацанню мишки, то Вам необхідно відкрити Ubuntu Software Center - знайти та встановлювати nautilus-share. Після перезапустити Nautilus, командою:
    nautilus -q

    або просто вийти та зайти знову в систему.

  2. Коли з'явиться діалогове вікно «Спільний доступ до папки», виберіть «Опублікувати цю папку». Натисніть кнопку "Встановити службу", якщо система цього попросить.
    Після фінішу процесу встановлення доведеться знову вийти і зайти в систему.
  3. Після всіх інсталяцій, налаштування папки для спільного доступу, відкриються додаткові опції. Залежно від ваших потреб, Ви можете увімкнути: "Дозволити іншим користувачам змінювати вміст папки", "Гостьовий доступ (для користувачів без локального облікового запису)". На цьому етапі можна застосувати всі налаштування. Ця папка буде доступна по локальній мережі для всіх користувачів.
  4. Але якщо ви хочете, щоб клієнтські машини могли отримувати доступ до цієї папки тільки на ім'я користувача та паролю, то потрібно виконати такі умови:
  • Відкрити Ubuntu Software Center, знайти та встановити system-config-samba.
  • Запустити з меню, встановлений інструмент інструменту Samba.
  • Установки -> Користувачі Samba.
  • Натисніть кнопку «Додати користувача».

Потім виберіть ім'я користувача, введіть ім'я в "Ім'я користувача Windows" та "Пароль Samba" -> OK.

Тепер ви можете отримати доступ до цієї папки з локальної мережі іншої «машини», використовуючи ім'я користувача та пароль.

Незважаючи на простоту доступу до загальної папці Windowsз Linux деякі користувачі, що особливо почали користуватися Linux, можуть зіткнутися з проблемою, яка, на перший погляд, може виявитися нерозв'язною. При цьому користувачі Windows будуть говорити "нічого не знаю - від мене кулі вилітають". Щоб не виникло враження про "глючність" Linux, спробуємо в цьому питанні розібратися.

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

Отже, Windows відкриває папку спільного доступу. Але при зверненні користувача Linux до цієї папки через мережеве оточення виявляється, що достукатися неможливо навіть до вузла.

На початку можна зіткнутися з проблемою відсутності доступу навіть до робочої групи.


Це може пояснюватися невеликою інерційністю при першому зверненні за протоколом SMB, який використовується для доступу до папок і файлів Windowsіз мережі. Зачекайте трохи, хоча б кілька секунд, і спробуйте ще раз. Зрештою Ви комп'ютер "побачите".


При подальшому зверненні висвітиться форма запиту повноважень доступу, наприклад:


Користувач Linux вводить свій пароль і знову на екрані отримує цю ж форму запиту. І так може продовжуватися до безкінечності.

Причина в тому, що як у Linux, так і Windows, з метою забезпечення безпеки на рівні файлової системидіють так звані права на файли та папки. А в даному випадку користувач Linux намагається звернутися до папки Windows під своїм ім'ям та паролем, про яке Windows не має жодного уявлення. Звертатися до ресурсу необхідно з використанням даних, про які "знає" Windows. Тобто, використовуючи якісь ім'я користувача та пароль Windows, які відомі Windows.

Так як на російськомовних Windows імена користувачів можуть бути кириличними, тобто, наприклад, Адміністратор, Вася, Петя, красуня і т.п., то для цілей надання доступу до папки попросіть адміністратора комп'ютера Windowsзавести користувача з латинським логіном або перейменувати існуючий логін на латинські літери. Наприклад, можна створити спеціального користувача,


у якого буде постійний пароль і він перебуватиме у групі "Користувачі". Цим можна виключити можливі подальші випадки "системного нерозуміння" між Linux та Windows.

Права на папку, що надається в доступ, потребують деякого коригування, оскільки за замовчуванням для користувачів призначаються права "тільки читання".

Пояснення. Щоб побачити повний вміст вкладки "Безпека" на Windows, відкрийте Провідник і в розділі "Сервіс - Властивості папки - Вид" зніміть галочку в полі "Використовувати простий спільний доступ до файлів".




Не потрібно виставляти Повний доступ" ні на вкладці "Доступ – Дозволи", ні на вкладці "Безпека", хоча дуже багато хто робить саме так. Повний доступ передбачає дозвіл на зміну як дозволів на об'єкт, так і його власника. І якщо певною мірою це може бути допустимо у межах домашньої мережі з 2-3 комп'ютерів, то інших випадках краще не робити.

Краще поставити галочку в полі "Зміна" (Всі – це активні, тобто не відключені, облікові записикористувачів на комп'ютері Windows).


Далі необхідно перейти до вкладки "Безпека" і для користувачів комп'ютера Windows поставити галочку в полі "Запис".



Але це ще не все. Потрібно натиснути на кнопку "Додатково" і для рядка зі внесеною зміною (стовпчик "Дозвіл - Запис") додати галочки в полях "Огляд папок", "Зміст папки", "Видалення підпапок та файлів", "Видалення".




При цьому встановити галочку в полі "Застосовувати ці дозволи до об'єктів та контейнерів тільки всередині цього контейнера" ​​(див. малюнок вище).

Ого скільки всього. Прямо пристрасті якісь мексиканські. І все це треба зробити на Windows.


Тепер повернемося до питання звернення до папки з Linux. Вводимо правильні значення. Замість


вкажемо ім'я користувача у форматі комп'ютер. Так як комп'ютер, до якого здійснюється звернення називається H-38, а функціонує в моїй маленькій мережі сервер DHCPпризначає ім'я домену vot, то вводжу необхідні дані і нарешті отримую перелік загальних ресурсів комп'ютера H-38.



Як видно з малюнка, клієнт Samba відобразив не тільки папку Data, але й приховані ресурси ADMIN та C, які використовуються системою Windowsдля цілей адміністрування (приховані ресурси Windows відображаються значком $ після імені ресурсу).

Однак при спробі звернення до папки Data система знову видає запит на введення облікових даних. При цьому за промовчанням пропонується підключитися анонімно.


Згадайте, що загальний доступ було надано користувачам Windows. Тому необхідно вводити ім'я та пароль конкретного користувача.

Якщо пароль користувача Windows ніколи змінюватися не буде (а на початку рекомендувалося створити на Windows користувача з незмінним паролем), то можна вибирати "Запам'ятати назавжди" і тоді пароль при зверненні до папки загального доступу надалі не буде запитуватися. Це справедливо й у звернення до комп'ютера. У наведених прикладах пароль не зберігається.