| RSS

logo

Не мы нуждаемся в помощи,
  а она нуждается в нас...

Суббота, 2024.12.14, 17:59
Главная » Статьи » Полезности » Linux

Монтирование и автомонтирование сетевых дисков по SMB/CIFS
Ubuntu 9.10
Монтирование сетевых дисков по SMB/CIFS 
ubuntu-karmic

Для начала нужно установить поддержку файловых систем для команды mount (не знаю как правильно называется), у нас должен быть файл mount.cifs и mount.smbfs
проверить очень просто, в консоли пишем 
# mount[tab tab]
если их нет
# sudo apt-get update
# sudo apt-get install smbfs

Проверяем:
# mkdir /meida/netdisk
# sudo mount -t cifs //ip.ad.dr.es/netshare /meida/netdisk -o username=nobody,noexec
Попросит пароль, не запомнил с какой версии CIFS стал запрашивать логин:пароль, но теперь это обязательно, я всегда использую all:all - это не существующие пользователи, можете вписать что-то своё.
Или так
# sudo mount //ip.ad.dr.es/netshare /media/netdisk -o username=all,password=all,dir_mode=0777,file_mode=0777

Далее описан способ подключения для Ubuntu 9.10, в openSUSE мне не приходилось этого делать. 

Подключение сетевых дисков на этапе загрузки системы, через /etc/fstab

Без объяснений, если просто выполнить следующие действия от root`a то всё должно получится, естественно необходимо понимать что я подразумеваю отсутствие файла /root/.smbcredentials

Итак:
# sudo echo "username=all" > /root/.smbcredentials 
# sudo echo "password=all" >> /root/.smbcredentials
# sudo echo "//192.168.0.1/exchange /media/netdisk cifs credentials=/root/.smbcredentials,dir_mode=0777,file_mode=0777 0 0" >> /etc/fstab
ради безопасности можно изменить разрешения на файл /root/.smbcredentials
# sudo chmod 400 /root/.smbcredentials  /* root - чтение, остальные без доступа */
На данный момент (в Ubuntu 9.10) тип smbfs устарел, поэтому нужно использовать тип cifs. Для типа cifs вместо dmask и fmask нужно указывать параметры dir_mode и file_mode, причем числовые значения этих параметров должны начинаться с нуля — "dir_mode=0777,file_mode=0777".

Дополнения:
1. Если подключения диска не происходит, то можно посмотреть коды возвращаемых ошибок с помощью команды dmesg, а еще лучше запустить mount с помощью утилиты strace — sudo strace mount ....

2. Если mount возвращает ошибку (или вообще происходит нечно непонятное), то в первую очередь убедитесь, что у вас установлен mount, соответствующий типу файловой системы, которую вы хотите подключить. Например, для nfs в системе должен быть установлен mount.nfs, для smbfsmount.smbfs, для cifsmount.cifs и т.д. В качестве иллюстрации проблемы можно привести пример с cifs: при отсутствующем mount.cifs можно вполне успешно примонтировать cifs-диск используя параметры "username=...,password=...", но при этом попытка использования credential-файлов, будет заканчиваться ошибкой (http://ubuntuforums.org/archive/index.php/t-79612.html).

3. Ошибка монтирования "mount error 12 = Cannot allocate memory" при попытке подключения к расшаренной папке Windows.

Возможная причина — не хватает памяти на сервере (то есть, в Windows), а не на клиенте. В этом случае, могут помочь изменения в реестре Windows: ...\LanmanServer

4. Ошибка монтирования "mount error 5 = Input/output error". В логах dmesg сообщается об ошибке "CIFS VFS: cifs_read_super: get root inode failed".

Если при этом упоминается "Malformed FILE_UNIX_BASIC_INFO response", то возможно поможет добавление nounix в параметры вызова команды mount.

Еще одна возможная причина — проблемы с правами доступа к расшаренной папке. У меня такая ошибка возникла, когда на папку, которую, я хотел примонтировать, в числе прочих были установлены права "Everyone - Access denied". После корректировки прав доступа всё успешно примонтировалось.

5. Проблема монтирования CIFS диска на Ubuntu 9.10 — ресурс расшарен на другой unix-системе и успешно монтируется, но доступен только на чтение, хотя, если подключиться к этому ресурсу с помощью smbclient, то ресурс доступен и на чтение, и на запись.

Скорее всего проблема в несовпадении uid и gid на клиенте и на сервере. Исправляется добавлением в параметры запуска команды mount значений nounix, а также uid и gid, которые соответствуют вашему пользователю на сервере — "mount //server /client -o username=someone,gid=1000,uid=1000,nounix,file_mode=0777,dir_mode=0777". (http://ubuntuforums.org/showthread.php?t=1310273)


Источник: http://white-knight-is-alive.blogspot.com/2009/10/ubuntu.html

Так же рекомендую к прочтению:

Категория: Linux | Добавил: -=FORWARD=- (2010.08.23) W
Просмотров: 37005 | Теги: automount, автоподключение, smb, монтирование, Mount, Linux, cifs, Ubuntu, сетевой диск, подключение | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]