Тест S5 Box

Вот примерно так работает модуль в реале...

Автоматическое монтирование сетевой папки в Ubuntu

Сетевая папка в Ubuntu. Network folder

О том как монтировать локальные диски комьютера под управлением Ubuntu 10 мы уже с вами знакомились в предыдущих статьях.

Но часто на предприятиях возникает необходимость автоматического монтирования сетевой папки содержащей, на пример, инсталяхи, базы даных, или иные данные небходимые для пользователей сети.

В Windows данная функция доступна просто при перетаскивании сетевой папки на ярлык Мой компьютер, после этого вас попросят задать букву диска и на этом все. А как же это сделать в Ubuntu ?

Монтирование сетевой папки из терминала Ubuntu

Предлагаю для начала попробовать подмонтировать сетевой диск через терминал Ubuntu. В качестве "подопытного" у меня Windows Server 2003 с расшаренным диском D, будем его монтировать в Ubuntu.

Для монтирования запускаем терминал выполняем следующие команды:

Регистрируемся пользователем Root.

# sudo -i

Создаем каталог в который будем монтировать сетевой диск.

# mkdir /mnt/server2003_d

После того как каталог создан, поключаем диск.

# mount //192.168.1.167/d /mnt/server2003_d -o username=koskv,password=1,dir_mode=0777,file_mode=0777,iocharset=utf8

После этого содержимое диска D Вы увидите в папке /mnt/server2003_d

Теперь разберемся с параметрами данной команды...

  • //192.168.0.139/d – правильно расшаренная папка на сервере.
  • /mnt/server2003_d – локальная директория, куда примонтируется содержимое сетевой папки.
  • file_mode=0777,dir_mode=0777   (еще можно задать и как fmask=777,dmask=777  ) –  это разрешения на файлы и папки внутри примонтированной директории – в данном случае (0777) полные права на все.
  • username=koskv,password=1  соответственно имя пользователя и пароль для подключения к Windows server 2003.
  • iocharset=utf8 - поддержка кодировки. Без этого параметра все папки и файлы название которых было написано кирилицей были нечитаемы.
  • Монтирование сетевой папки при загрузке Ubuntu

Итак мы немного разобрались с ручным монтированием сетевой папки, давайте теперь займемся монтированием при загрузке компьютера. Вы конечно помните, что Ubuntu, при загрузке,  в качестве файла конфига для монтирования дисков использует файл /etc/fstab. То есть, чтобы научить Ubuntu автоматически монтировать сетевые диски, нужно добавить кое какие строчки в этот файл.

Аналогично регистрируемся пользователем Root.

# sudo -i

Открываем fstab в редакторе (предлагаю 2 варианта).

# nano /etc/fstab

или

# gedit /etc/fstab

Теперь добавляем в fstab следующую строку:

//192.168.1.167/d  /mnt/server2003_d  cifs _netdev,username=koskv,password=1,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

(Вместо пробелов ставте табуляцию)

Здесь:

  • _netdev - опция, указывающая, что данный ресурс является сетевым. Полезно, если при запуске системы будет отсутствовать сеть, тогда система не будет выдавать ошибку о невозможности примонтирования ресурсов.
  • cifs - признак сетевой папки Windows.

После перезагрузки содержимое сетевой папки появится в примонтированной директории (/mnt/server2003_d).


Возможные проблемы

1. Не монтируется сетевой диск при загрузке системы. (Проверено, актуально для AltLinux 7)

Если такое произошло, выполним команду ... 

# su dmesg  - (выводит сообщения о загрузке ядра ОС в память компьютера. А также сообщения о загрузке драйверов для соответствующего оборудования). Ищем сообщение про - CIFS и если видим сообщение типа:

CIFS VFS: Error connecting to socket. Aborting operation

CIFS VFS: cifs_mount failed w/return code = -101       
, то обычно это значит, что fstab отработал до подлючения сетевого интерфейса. Проверить можно так, запустить из под root команду:
# su mount -a

если сетевая папка смонтируется, то fstab в порядке и нужно проделать следующее...
Пока нашел способ такой: создаем скрипт запуска команды
# su mount -a
даем пользователю права на запуск скрипта без логина и пароля и добавляем скрипт в автозагрузку при входе пользователя.

1. Создаем скрипт в любой папке, например /home:
# su gedit /home/mount.sh
с текстом:
#!/bin/sh
mount -a 
exit 0   

2. Добавляем пользователю возможность запускать созданный скрипт без ввода логина и пароля root. Для этого редактируем файл /etc/sudoers (дополнительно можно почитать man sudo)
# su nano /etc/sudoers
Добавляем строку, разрешающую пользователю выполнять без ввода пароля команду mount -a:
user ALL=NOPASSWD: /bin/mount -a

где, user = текущий пользователь
Теперь можно проверить и запустить скрипт просто мышкой, если сетевой диск примонтируется мы на правильном пути.

3. После этого можно добавить наш скрипт в меню программ автозагрузки. 

Добавить программу в автозагрузку Linux

Перегружаемся и проверяем результат...


На этом пока все...но еще будет продолжение.

Комментарии   

 
Dmitry
0 #3 Dmitry 31.05.2013 06:48
после монтирования доступ есть, но при попытке записать торрент - через какоето время онибка permission denied.
Автомонтирование также не работает.
Помогите.
 
 
Dmitry
0 #2 Dmitry 31.05.2013 06:46
Поддключаюсь к медиаплееру - wd tv live
при вводе
//10.1.1.108/Seagate_Expansion_Drive -o /mnt/wdtvliv e username=guest,password=1,iocharset=utf8,file_mode=0777,dir_mode=0777
выдает ошибку
error(13): permission denied
помогает команда
sudo echo 0x30030 > /proc/fs/cifs/SecurityFlags
но помогает одноразово, а
sec=lanman
вообще не работает.
 
 
Dmitry
0 #1 Dmitry 31.05.2013 06:43
с
 
cs-nsk

Последние комментарии

Теги ...

Опрос: iOS или Android ?

Какой ОС вы чаще пользуетесь?

iOS - 0%
Android - 60%
Windows Mobile - 20%
Tizen - 0%
Другая. - 20%

Всего голосов: 5
Голосование в этом опросе закончено в: 01 Янв 2017 - 00:00
Яндекс.Метрика Анализ сайта Рейтинг@Mail.ru