Расшарить папку в ubuntu

Вот, написал очередную статью на тему расшаривания папок в Убунту…
Внимание! Данный текст в откорректированном виде опубликован на моём сайте по адресу http://novikovmaxim.narod.ru/linux/ub_share.htm
Сделать в Ubuntu общедоступной для локальной сети папку («расшарить» её) можно вручную, путём правки конфигурационных файлов, а можно воспользоваться и специальной службой, которая называется samba. Эта служба позволяет «расшаривать» папку не только для компьютеров под Linux, но сделать это и для DOS, Windows и OS/2, для чего она, в общем-то, в первую очередь и разрабатывалась. Служба реализуют протокол SMB/CIFS, который ещё называют LanManager или NetBIOS.
Итак, ниже предлагается методика для организации общего доступа из локальной сети к папке. Не пугайтесь длинному описанию — методика короткая, просто она довольно ёмко описана:

  1. С помощью «Система → Администрирование → Программа управления пакетами Synaptic» удостоверяемся, что у нас установлен пакет samba. Если нет, устанавливаем его.
  2. Если вы собираетесь сделать общедоступным сразу целый диск, или папку, владельцем которой ваша учётная запись не являеется, то открываем файл /etc/samba/smb.conf и в секцию в подраздел Misc дописываем строчку usershare owner only = False. Это разрешит нам как пользователю открывать общий доступ к чужим объектам. Так, диски находятся в ведении суперпользователя.
  3. Проверяем, и при отсутствии разрешаем себе привилегию публиковать папки в локальной сети. Для этого открываем «Система → Администрирование → Пользователи и группы», нажимаем кнопку «Свойства», в открывшемся окне переходим на вкладку «Привилегии пользователя» и проверяем галочку напротив записи «Публиковать папки в локальной сети». Если не стоит, то закрываем окно свойств, в окне настроек нажимаем кнопку «Разблокировать», вводим свой пароль и авторизовываемся. Далее снова открываем свойства и в ставшем активным списке устанавливаем нужную галочку. Затем нажимаем «ОК» и закрываем настройки.
  4. Находим в обозревателе файлов папку, которую вы хотите сделать доступной для локальной сети. Она должна находится в правой, основной части обозревателя. Если необходимо отобразить в правой части диск, то не забываем, что диски в Линукс представлины всё теми же папками, и находятся в каталоге media. Если требующийся диск ещё не был подмонтирован (присоединён), то достаточно щёлкнуть левой кнопкой мыши на его имени в левой части обозревателя, и он автоматически подмонтируется и появится в папке media (и отобразится значком на рабочем столе).
  5. В правой части обозревателя щёлкаем правой кнопкой мыши на нужной папке и выбираем пункт «Общий доступ». В открывшемся окне ставим галочки напротив пунктов «Опубликовать эту папку», «Разрешать другим пользователям изменять содержимое папки» и «Гостевой доступ», задаём имя ресурса и нажимаем кнопку «Создать ресурс».
    Если после установки первой галочки появилось сообщение об отсутствии службы публикации папок, значит вы не выполнили пункт 1 настоящей методики. Нажимаем предлагаемую нам в этом же сообщении кнопку «Установить службу», после чего произойдёт скачка и установка требующихся пакетов, и программа попросит перезагрузить сессию. После перезагрузки попробуйте повторить всё снова, начиная с пункта 4.
    Если после нажатия на кнопку «Создать ресурс» появилась ошибка:
    Ошибка 255 при запуске ‘net usershare’: net usershare add: cannot 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 section of the smb.conf to allow this.
    значит вы пытаетесь сделать общедоступным диск или папку, владельцем которой ваша учётная запись не является, но не выполнили пункт 2 настоящей методики.
  6. Теперь включаем в правила сетевых фильтров на всех компьютерах локальной сети в таблицу filter записи, разрешающие необходимые samba порты, с указанием нужных сетевых интерфейсов вместо приведённого здесь eth1:

# Разрешим работу 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 изначально создавался как сетевая система, и только сейчас начал обрастать бумажными интефейсами.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *