Расшаривание папок или дисков в Linux Ubuntu 8.10.

03.03.2009
Новиков Максим Глебович

В Windows общий доступ к папке или диску делается достаточно просто. В Линуксе, в связи с его более мощной системой безопасности, организация общего доступа, если таковая делается на нём впервые, занимает немного больше времени из-за подготовительных действий, тем не менее ничего сложного в этом тоже нет. А для последующих папок организация доступа становится не сложнее, чем в Windows.

Сделать в Ubuntu общедоступной для локальной сети папку («расшарить» её) можно как вручную, путём установки NFS-сервера, правки конфигурационных файлов и последующего монтирования расшаренной папки в целевом компьютере, так и посредством специальной службы, которая называется samba. Эта служба позволяет расшаривать папку не только для компьютеров под Linux, но сделать это и для других операционных систем, для чего она, в общем-то, в первую очередь и предназначается. Служба реализуют протокол SMB/CIFS, который ещё называют LanManager или NetBIOS.

Итак, ниже предлагается методика для организации общего доступа из локальной сети к папке посредством службы samba. Не пугайтесь длинному описанию — методика короткая, просто она довольно ёмко описана. Кроме того, если вы уже один раз её выполнили, то для расшаривания остальных папок будет достаточно выполнять только пункт 5, то есть, по сути, просто включать общий доступ к любой папке через её контекстное меню.

  1. С помощью «Система → Администрирование → Программа управления пакетами Synaptic» удостоверяемся, что у нас установлен пакет samba. Если нет, устанавливаем его.
     
  2. Если вы собираетесь сделать общедоступным сразу целый диск, или папку, владельцем которой ваша учётная запись не является, то открываем файл /etc/samba/smb.conf и в секцию [global] в подраздел Misc дописываем строчку:

    usershare owner only = False.

    Это разрешит нам как пользователю открывать общий доступ к чужим объектам. Так, диски находятся в ведении суперпользователя.

    Также проверяем, чтобы SAMBA была настроена на рабочую группу, компьютеры которой должны получать доступ к нашим папкам. По умолчанию это WORKGROUP. Настраивается имя рабочей группы в том же конфигурационном файле установкой параметра workgroup, расположенного в самом его начале.
     
  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 [global] 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 изначально создавался как сетевая система, и только сейчас начал обрастать бумажными интефейсами.

[Вернуться в начало]
[Оставить отзыв в гостевой]
Hosted by uCoz