Монтирование и автомонтирование сетевых дисков по SMB/CIFS
Ubuntu 9.10
Монтирование сетевых дисков по SMB/CIFS
Для начала нужно установить поддержку файловых систем для команды 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
ради безопасности можно изменить разрешения на файл/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, для smbfs — mount.smbfs, для cifs — mount.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
Еще одна возможная причина — проблемы с правами доступа к расшаренной папке. У меня такая ошибка возникла, когда на папку, которую, я хотел примонтировать, в числе прочих были установлены права "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)