Как в Linux монтировать шару CIFS

Обновлено: 01.05.2023 Опубликовано: 18.07.2016
Что такое Linux и CIFS простыми словами. Работа с общими папками Windows происходит с использованием протокола CIFS (SMB). Все примеры в данном руководстве выполняются на Linux Ubuntu и CentOS.
Подготовка
Установка пакетов
Для монтирования общей папки необходимо установить набор утилит для работы с CIFS. CentOS:
yum install cifs-utils
apt install cifs-utils
Сетевые порты
- 137/UDP
- 138/UDP
- 139/TCP
- 445/TCP
Синтаксис
* вместо mount.cifs можно написать mount -t cifs.
mount.cifs //192.168.1.1/public /mnt
* простой пример монтирования папки public на сервере 192.168.1.1 в локальный каталог /mnt.
Если нам не известны расшаренные папки на сервере, мы можем воспользоваться утилитой smbclient. Для начала установим ее.
а) на RPM (Rocky Linux / РЕД ОС / Red Hat / CentOS / Fedora):
yum install samba-client
б) на Deb (Debian / Ubuntu / Astra Linux / Mint):
apt install samba-client
smbclient -L 192.168.1.1
или, при необходимости авторизоваться на файловом сервере:
smbclient -L 192.168.1.1 -U username
Ручное монтирование
Теперь монтирование можно выполнить следующей командой:
mount.cifs //192.168.1.10/share /mnt -o user=dmosk
* в данном примере будет примонтирован каталог share на сервере 192.168.1.10 в локальную папку /mnt под учетной записью dmosk.
То же самое, с использованием домена:
mount.cifs //192.168.1.10/share /mnt -o user=dmosk,domain=dmosk.local
Автоматическое монтирование CIFS через fstab
Для начала создаем файл, в котором будем хранить данные авторизации при подключении к общей папке:
И добавляем в него данные следующего вида:
username=dmosk
password=dPassw0rd
domain=dmosk.local
* в этом примере создана пара логин/пароль — dmosk/dPassw0rd; domain указывать не обязательно, если аутентификация выполняется без него.
Задаем права на созданный файл, чтобы доступ был только у пользователя, скажем, root:
chmod 600 /root/.smbclient
chown root:root /root/.smbclient
Теперь открываем конфигурационный файл fstab:
и добавляем в него следующее:
//192.168.1.10/share /mnt cifs user,rw,credentials=/root/.smbclient 0 0
* в данном примере выполняется монтирование общей папки share на сервере с IP-адресом 192.168.1.10 в каталог /mnt. Параметры для подключения — user: позволяет выполнить монтирование любому пользователю, rw: с правом на чтение и запись, credentials: файл, который мы создали на предыдущем шаге.
Чтобы проверить правильность настроек, вводим следующую команду:
Примеры использования опций
Версии SMB
Если на стороне Windows используется старая или слишком новая версия протокола SMB, при попытке монтирования мы можем получить ошибку mount error(112): Host is down. Чтобы это исправить, указываем версию:
mount.cifs //192.168.1.10/share /mnt/ -o vers=1.0
* монтирование по протоколу SMB1.0
Монтирование от гостевой учетной записи
Если сервер принимает запросы без логина и пароля, то клиент подключается, как гость:
mount.cifs //192.168.1.10/share /mnt -o guest
//192.168.1.10/share /mnt cifs guest 0 0
Права на примонтированные каталоги
При монтировании папки мы можем указать определенные права:
mount.cifs //192.168.1.10/share /mnt -o file_mode=0777,dir_mode=0777
Для указания владельца, который будет назначен для примонтированного каталога, используем:
mount.cifs //192.168.1.10/share /mnt -o uid=33,gid=33
* чтобы посмотреть идентификаторы пользователя, вводим id -u и id -g .
Пакет: cifs-utils (2:7.0-2 и другие)
Протокол SMB/CIFS — средство обмена файлами между компьютерами под управлением Microsoft Windows, OS X и систем Unix.
Этот пакет содержит утилиты для монтированич сетевых файловых систем CIFS.
Теги: Системное администрирование: Инструмент для файловой системы, Ядро или модули, Разработка программного обеспечения: Разработка на C, devel::library, implemented-in::c, Пользовательский интерфейс: Командная строка, Сетевой протокол: protocol::smb, role::devel-lib, Роль: Программа, Область: Утилита, Комплект приложений: Samba
Другие пакеты, относящиеся к cifs-utils
- dep: libc6 (>= 2.33) [sparc64] библиотека GNU C: динамически подключаемые библиотеки
также виртуальный пакет, предоставляемый libc6-udeb dep: libc6 (>= 2.34) [не alpha, ia64, sparc64] - dep: libc6.1 (>= 2.33) [alpha, ia64] библиотека GNU C: динамически подключаемые библиотеки
также виртуальный пакет, предоставляемый libc6.1-udeb - dep: libcap-ng0 (>= 0.7.9) alternate POSIX capabilities library
- dep: libgssapi-krb5-2 (>= 1.17) библиотеки MIT Kerberos (механизм krb5 GSS-API)
- dep: libkeyutils1 (>= 1.4) утилиты управления ключами Linux (библиотека)
- dep: libkrb5-3 (>= 1.13~alpha1+dfsg) библиотеки MIT Kerberos времени выполнения
- dep: libpam0g (>= 0.99.7.1) библиотека Подключаемых Модулей Аутентификации (PAM)
- dep: libtalloc2 (>= 2.0.4~git20101213) распределитель памяти на основе иерархических пулов
- dep: libwbclient0 (>= 2:4.0.3+dfsg1) клиентская библиотека winbind из Samba
- dep: python3 интерактивный высокоуровневый объектно-ориентированный язык (версия python3 по умолчанию)
- rec: keyutils утилиты управления ключами Linux
- sug: bash-completion программируемое дополнение ввода для оболочки командной строки bash
- sug: smbclient утилиты командной строки для работы с SMB/CIFS
- sug: winbind service to resolve user and group information from Windows NT servers
Загрузка cifs-utils
| Архитектура | Версия | Размер пакета | В установленном виде | Файлы |
|---|---|---|---|---|
| alpha (неофициальный перенос) | 2:7.0-2 | 95,1 Кб | 657,0 Кб | [список файлов] |
| amd64 | 2:7.0-2 | 92,6 Кб | 317,0 Кб | [список файлов] |
| arm64 | 2:7.0-2 | 89,7 Кб | 653,0 Кб | [список файлов] |
| armel | 2:7.0-2 | 87,4 Кб | 647,0 Кб | [список файлов] |
| armhf | 2:7.0-2 | 87,1 Кб | 647,0 Кб | [список файлов] |
| hppa (неофициальный перенос) | 2:7.0-2 | 94,0 Кб | 342,0 Кб | [список файлов] |
| i386 | 2:7.0-2 | 94,2 Кб | 323,0 Кб | [список файлов] |
| ia64 (неофициальный перенос) | 2:7.0-2 | 104,1 Кб | 391,0 Кб | [список файлов] |
| m68k (неофициальный перенос) | 2:7.0-2 | 89,2 Кб | 295,0 Кб | [список файлов] |
| mips64el | 2:7.0-2 | 90,4 Кб | 663,0 Кб | [список файлов] |
| ppc64 (неофициальный перенос) | 2:7.0-2 | 96,0 Кб | 973,0 Кб | [список файлов] |
| ppc64el | 2:7.0-2 | 95,9 Кб | 1 101,0 Кб | [список файлов] |
| riscv64 | 2:7.0-2+b1 | 90,8 Кб | 284,0 Кб | [список файлов] |
| s390x | 2:7.0-2 | 88,8 Кб | 305,0 Кб | [список файлов] |
| sh4 (неофициальный перенос) | 2:7.0-2 | 97,3 Кб | 649,0 Кб | [список файлов] |
| sparc64 (неофициальный перенос) | 2:7.0-2 | 89,6 Кб | 8 346,0 Кб | [список файлов] |
| x32 (неофициальный перенос) | 2:7.0-2 | 92,6 Кб | 303,0 Кб | [список файлов] |
Эта страница также доступна на следующих языках (Как установить язык по умолчанию):
Чтобы сообщить о проблеме, связанной с веб-сайтом, отправьте сообщение (на английском) в список рассылки debian-www@lists.debian.org. Прочую контактную информацию см. на странице Debian Как с нами связаться.
Авторские права © 1997 — 2024 SPI Inc.; См. условия лицензии. Debian это торговый знак компании SPI Inc. Об этом сайте.
mount.cifs (mount using the CIFS)
Эта страница является переводом man mount.cifs(8) из пакета Samba.
mount.cifs — монтирование Common Internet File System (CIFS)
mount.cifs [-o options]
Утилита часть пакета samba(7) .
mount.cifs монтирует файловую систему Linux CIFS. Обычно для этого косвенно используется команда mount(8) при использовании опции -t cifs . Работает только в Linux, ядро для этого должно поддерживать файловую систему cifs. CIFS протокол является преемником протокола SMB и поддерживается большинством серверов Windows и множеством других коммерческих серверов, также хранилищами Network Attached Storage, и популярным Open Source сервером Samba.
Утилита mount.cifs подключает UNC имя (экспортируемый сервис сети) указанное в параметре service (используется синтаксис //server/share , где «server» – это имя сервера или IP адрес и «share» – это имя общего ресурса) к локальной папке mount-point. Возможно получение программой mount.cifs прав пользователя root (setuid root) для разрешения не-root пользователям монтировать общие ресурсы в директории к которым эти пользователи имеют права на запись.
Опции mount.cifs определяются как список разделенных запятыми пар ключ=значение. Возможна отправка других опций не указанных здесь, но поддерживаемых модулем ядра (cifs.ko). Неопознаные опции монтирования cifs будут получены кодом cifs vfs kernel и запротоколированы в kernel log.
mount.cifs заставит cifs vfs запустить поток cifsd. После монтирования соединение удерживается пока ресурс не будет размонтирован (обычно утилитой размонтирования).
mount.cifs -V команда выводит версию помошника cifs mount helper.
Команда modinfo cifs выводит версию модуля cifs.
определяет имя для подключения. Если не указано используется значение переменоой USER. Этот параметр может также передавать комбинации user%password , workgroup/user или workgroup/user%password , проль и группа определяются как часть имени пользователя.
Замечание
cifs vfs принимает параметр user= , для для семейства пользователей smbfs принимает длинный формат параметр username= . Аналогично для длинного стиля smbfs имя параметра может приниматься как синоним к коротким параметрам cifs, таким как pass= , dom= и cred= .
определяет CIFS пароль. Если параметр не определен, используется значение переменной PASSWD . Если пароль не указан прямо или косвенно через аргумены монтирования, mount.cifs выведет приглашение ввода пароля, если не ввести будет получен гостевой доступ.
Обратите внимание если пароль содержит разделяющий символ comma= , он не сможет быть принят корректно из командной строки. Однако тот же пароль определенный в переменной окружения PASSWD , в файле полномочий (см ниже) или введенный в строке приглашения будет воспринят корректно.
определяет файл содержащий имя пользователя и/или пароль а так же опционально название рабочей группы. Формат файла ниже:
Этот вариант предпочтительней чем хранение паролей в незашифрованом виде в общих файлах, таких как /etc/fstab . Защитите должным образом файл полномочий.
установить uid который будет владельцем всех файлов на смонтированной файловой системе. Можно указать имя пользователя или его цифровой uid. Для монтирования на серверы поддерживающие CIFS Unix расширения, такие как правильно настроеный сервер Samba, сервер предоставляет uid, gid и режим, так что это параметр указывать не нужно, исключением является случай когда серверный и клиентский uid и gid отличаются. Если клиент и сервер находятся в одном домене (например, работает Winbind или nss_ldap ) и сервер поддерживает Unix расширений, то UID и GID могут быть получены с сервера (UID и GID не нужно указывать при монтировании. Для серверов не поддерживающих расширения CIFS Unix, uid (и gid) по умолчанию возвращаются с помощью поиска в существующих файлах для пользователя который выполняет монтирование (root, за исключением случая когда mount.cifs сконфигурирован с опцией setuid для пользовательского монтирования). Это справедливо если определена опция монтирования «uid=» (gid). uid (gid) вновь созданых файлов и папок, т е файлов созданых после последнего монтирования серверного общего ресурса, ожидаемый uid (gid) кешируется на стороне клиента как inode сохраненый в памяти. Обратите внимание что проверка прав доступа (проверка авторизации) на доступ к файлу происходит на сервере, но бывают случаи когда администратору это необходимо и на клиентской стороне. Для серверов не сообщающих uid/gid владельца (таких как Windows), разрешения могут быть проверены на клиенте, в грубой форме на клиентской стороне проверка прав доступа включается установкой file_mode и dir_mode . Обратите внимание что mount.cifs helper должен быть версии 1.10 или выше для установки uid (или gid) в нечисловом формате.
установит gid хозяина всех файлов на смонтированой файловой системе. Аргумент указывается в формате названия группы или цифровой gid. Другие варианты смотрите uid выше.
установить номер порта на сервере для соединения с CIFS. Если сервер CIFS не отвечает на этом порту или этот параметр не определен, то будет использован порт по умолчанию, т.е. если порт 445 не отвечает будет использован порт 139.
Определяет netbios имя сервера (RFC1001 имя) используемое при установке сессии с сервером. Хоть и редко этот параметр необходим для монтирования ресурсов некоторых старых серверов (таких как OS/2, Windows 98 и Windows ME), при подключении на порт 139 эти сервера не поддерживают имя сервера по умолчанию. Имя сервера должно содержать не более 15 символов и обычно пишется в верхнем регистре.
Согласно спецификации RFC1001 клиентское netbios имя компьютера используется при установке сеанса netbios при подключении к порту.
Параметр переопределит режим по умолчанию для файлов, если сервер не поддерживает расширения CIFS Unix extensions.
Параметр переопределит режим по умолчанию для директорий, если сервер не поддерживает расширения CIFS Unix extensions.
установит IP адрес назначения. Параметр установится по умолчанию если имя сервера является частью UNC имени, но может быть установлен пользователем, необходимо это крайне редко.
установит домен (рабочую группу) для пользователя
не выдавать пригляшения ввода пароля
Кодировка используется для преобразования локального пути к имени в и из Unicode. Unicode используется по умолчанию для сетевого пути к имени при условии что сервер это поддерживает. Если параметр iocharset не определен тогда используется nls_default установленый в ядре локальных клиентов. Если сервер не поддерживает Unicode, этот параметр не используется.
монтировать в режиме только чтение
монтировать в режиме чтение запись
Если CIFS Unix расширения используются с сервером клиент будет пытаться установить эфферкивный uid и gid локального процесса на вновь создаваемые файлы, папки и устройства ( create , mkdir , mknod ). Если CIFS Unix Extensions не используются, то для новых файлов и директорий будет использован uid и gid определенный при монтировании, uid и gid для новых файлов кешируется локально это значит что он может измениться при перезагрузке inode (или при перемонтировании общего ресурса).
Клиент не будет пытаться устанавливать uid и gid на вновь создаваемые файлы, директории и устройства ( create , mkdir , mknod ), в результате будут использоваться настройки сервера по умолчанию для uid и gid (обычно это uid пользователя смонтировавшего общий ресурс). По умолчанию сервер (но не клиент) устанавливает uid и gid. Если CIFS Unix Extensions не используются тогда uid и gid для новых файлов будут отображаться как uid (gid) смонтировавшего или параметр uid (gid) должен быть определен при монтировании.
Клиент проверяет права (vfs_permission проверит uid и gid файла в режиме и необходимые операции), Заметьте что параметр дополняет проверку ACL на целевой машине использующей серверное программное обеспечение. Проверка клиентских прав включена по умолчанию.
Клиент не проверяет права . Использование параметра может разрешить доступ к примонтированым файлам длугим пользователям локальной системы. Как правило необходино если сервер поддерживает CIFS Unix Extensions но UIDы/GIDы на клиенте и сервере не совпадают, а есть необходимость предоставить пользователю доступ к примонтированному ресурсу. Заметьте что это не повлияет на проверку ACL на целевой машине использующей серверное программное обеспечение (в серверных ACL указывается имя пользователя на момент монтирования).
Отключит inode кеширование файлов на смонтированом ресурсе. Это отключит mmaping файлов на этом смонтированном ресурсе. В случае использования быстрых сетей нет или мало преимущества в кешировании на клиенте (например приложение последовательно считывает объем больший чем размер страницы не перечитывая те же данные) это даст прирост производительности перед поведением по умолчанию когда кешируется чтение (readahead) и запись (writebehind) через локальный страничный кеш Linux клиента (при условии что oplock (caching token) предоставлены и прошли). Для некоторых ядер требуется модуль cifs.ko, собираемый с CIFS_EXPERIMENTAL конфигурационным параметром.
Перевести 6 из 7 зарезервированых символов (не обратный слеш, но включая символы двоеточие, знак вопроса, pipe, asterik, больше и меньше) переназначить диапазон (выше 0xF000), это позволит клиентам CIFS распознать файлы созданные с такими символами POSIX в Windows’s эмуляции. Это также может быть полезно примонтировании во всех версиях (где также запрещается создание и отркытие файлов в названии которых содержатся любой из этих семи символов). Параметр не имеет смысла если сервер не поддерживает Unicode.
Не транслировать любой из этих семи символов (по умолчанию)
сейчас не поддерживается
(по умолчанию) сейчас не поддерживается
В случае аварии на сервере, программа доступа к вайлу на cifs смонтированной файловой системе зависнет.
(по умолчанию) При зависании сервера программа доступа к файлу на cifs смонтированной файловой системе не зависнет и вернет ошибку в пользовательское приложение.
Не позволять операции POSIX ACL даже если сервер их поддерживает.
Клиент CIFS может получить и установить права POSIX ACLs (getfacl, setfacl) на сервере Samba версии 3.0.10 и выше. Настройки POSIX ACLs требуют включения также и XATTR а затем и поддержку POSIX в опциях конфигурации CIFS включаемую при компиляции модуля cifs. Поддержка POSIX ACL отключается указанием параметра noacl при монтировании.
Запросы пути станут не чувствительны к регистру (по умолчанию регистр учитывается).
Режим безопасности. Разрешенные варианты:
- none попытка соединения от пользователя null (нет имени)
- krb5 Импользовать авторизацию Kerberos версии 5
- krb5i Использовать авторизацию Kerberos и подписывание пакетов
- ntlm Использовать NTLM хеш пароля (по умолчанию)
- ntlmi Использовать NTLM хеш пароля с подписыванием (если /proc/fs/cifs/PacketSigningEnabled включено или если подписывание требуется сервером по умолчанию)
- ntlmv2 Использовать NTLMv2 хеш паролей
- ntlmv2i Использовать NTLMv2 хеш паролей с подписыванием пакетов
[ Этот [параметр sec ] находится в стадии разработки и будет доступен в cifs модуле версии ядра 1.40 или позднее]
Не отправлять байт запроса диапазона блокировок на сервере.Это необходимо некоторым приложениям которые нарушают обязательный стиль cifs байтовых диапазонов блокировок (и большинство cifs серверов пока не поддерживают запросы байтовых диапазонов блокировок).
Когда CIFS Unix Extensions не согласованы, предпринять попытку создания устройств файлов и каналов fifos в формате совместимом с Services for Unix (SFU). Кроме того выбрать 10-12 битный режим через SETFILEBITS расширенные атрибуты (как делает SFU). В будущем будет эмулироваться поддержка запросов дескрипторов безопасности (ACL) в режиме менее 9 бит. [требуемая версия 1.39 или выше CIFS VFS. Для распознавания символических ссылок и возможности их создавать в форме совместимости с SFU потребуется версия 1.40 или выше CIFS VFS модуля ядра.
Использовать номера inode (уникальный индексный дескриптор файла), возвращаемые сервером, вместо автоматической генерации временных номеров дескрипторов на клиенте. При использовании серверных индексных дескрипторов проще обнаруживать жесткие ссылки на файлы (они будут иметь одинаковые номера), также эти номера более стойкие (при использовании некоторого программного обеспечения), но сервер не гарантирует, что индексный дескриптор будет уникальным, если несколько серверов монтируют и экспортируют один общий ресурс (индексный дескриптор на сервере, не может быть уникальным, если несколько файловых систем смонтированы в корне общего файлового ресурса). Заметьте, что не все сервера поддерживают возврат номера серверного индексного дескриптора, хотя те, что поддерживают Unix расширения CIFS, а также Windows 2000 и более поздние версии серверов Windows обычно поддерживают это (хотя и не обязательно для каждой локальной файловой системы сервера). Параметр не будет иметь никакого эффекта, если сервер не поддерживает возврата индексного дескриптора или его эквивалента.
клиент создает индексные дескрипторы (вместо использования серверных) по умолчанию.
(по умолчанию) Не позволит команды getfattr/setfattr для получения установки параметра xattrs, даже если сервер поддерживает xattrs.
задает размер по умолчанию сетевого буфера чтения (как правлило 16K). The client currently can not use rsize larger than CIFSMaxBufSize. CIFSMaxBufSize defaults to 16K and may be changed (from 8K to the maximum kmalloc size allowed by your kernel) at module install time for cifs.ko. Setting CIFSMaxBufSize to a very large value will cause cifs to use more memory and may reduce performance in some cases. To use rsize greater than 127K (the original cifs protocol maximum) also requires that the server support a new Unix Capability flag (for very large read) which some newer servers (e.g. Samba 3.0.26 or later) do. rsize can be set from a minimum of 2048 to a maximum of 130048 (127K or CIFSMaxBufSize, whichever is smaller)
задает размер по умолчанию сетевого буфера чтения (как правлило 16K). В настоящее время клиент не может использовать rsize больше CIFSMaxBufSize. CIFSMaxBufSize по умолчанию 16K и может быть изменен (от 8K до максимально допустимого размера вашего ядра kmalloc) значение задается во время установки модуля cifs.ko. Изменение параметра CIFSMaxBufSize в сторону очень больших значений вынудит CIFS использовать больше памяти и в некоторых случаях может снизить производительность. Для использования значения rsize, большего127K (максимум для оригинального протокола CIFS) необходимо, чтобы сервер поддерживал новый флаг совместимости Unix (для очень больших значений чтения), который поддерживается некоторыми новыми серверами (например, Samba 3.0.26 или выше). rsize может быть установлен минимум от 2048 до максимум 130048 (127K или CIFSMaxBufSize, в зависимости от того какое значение меньше)
задает размер сетевого буфера записи (по умолчанию 57344) текущее максимальное значение wsize разрещенное для протокола CIFS — это 57344 (четырнадцать 4096 байт на страницу)
Выводит дополнительную отладочную информацию для точки монтирования. Обратите внимание, что параметр должен быть указан до параметра -o . Например:
mount -t cifs //server/share /mnt —verbose -o user=username
ФОРМАТ СЕРВИСА И РАЗДЕЛИТЕЛИ
Предпочтительно использовать косую черту / в качестве разделителя в службе имен. Она рассматриваются в качестве «универсального разделителем», так как не разрешается ее использование в пути компонентов на компьютерах Windows и клиент сам может конвертировать их в обратную косую черту \ . С другой стороны, символ обратной косой черты разрешен POSIX, является частью компонент пути, и не может быть автоматически преобразован в том же пути.
mount.cifs попытается преобразовать обратную косую черту в косую черту, где это возможно, но нельзя этого сделать в любом компоненте пути после имени общего ресурса.
Переменная USER может содержать имя пользователя, которое будет использовано для авторизации на сервере. Переменная может быть использована для установки имени пользователя и пароля в формате username%password .
Переменная PASSWD может содержать пароль используемый клиентом.
Переменная PASSWD_FILE может содержать путь к файлу, в котором хранится пароль. Строка ввода считывается и используется в качестве пароля.
Команда может быть запущена только из под root. Если установлен setuid, нужно включить флаги монтирования noeexec и nosuid.
Изменение конфигурации и получение отладочной информаций о CIFS VFS производится с помощью Linux файловой системы /proc . Каталог /proc/fs/cifs содержит различные файлы конфигурации и псевдо-файлы, отображающие отладочную информацию. Существуют дополнительные параметры запуска, такие как максимальный размер буфера и количество буферов, которые могут быть установлены при загруженном модуле VFS ядра CIFS (модуль cifs.ko). Посмотреть текущие значения можно запустив утилиту modinfo для cifs.ko файла, в котором будут перечислены параметры, которые могут быть переданы в CIFS во время установки модуля (драйвера нагрузки). Для получения дополнительной информации см. файл ядра fs/cifs/README .
Монтирование с использованием спецификации CIFS URL на сегодня не поддерживается.
В файле полномочий не должно быть пробелов в имени пользователя и в пароле.
Заметьте, что типичным ответом на сообщение об ошибке является предложение попробовать последнюю версию. Поэтому, пожалуйста, попробуйте сначала последнюю версию, и в сообщении об ошибках указывайте какие версии соответствующего программного обеспечения вы использовали (минимум: mount.cifs (попробуйте mount.cifs-V ), ядро (см. /proc/version ) и тип сервера к которому вы пытаетесь подключиться).
Эта страница man корректна для версии 1.52 cifs vfs файловой системы (примерно Linux ядро 2.6.24).
D ocumentation/filesystems/cifs.txt и fs/cifs/README , в linux дереве исходных кодов ядра могут содержаться дополнительные параметры и информация.
Синтаксис и страница man написаны по подобию команды smbmount . Она была преобразована в DocBook / XML Jelmer Vernooij.
Сопровождает Linux CIFS VFS и пользовательские инструменты mount.cifs Steve French. Linux CIFS Mailing list является предпочтительным местом для задания вопросов относительно этих программ.
Перевод на русский язык выполнил Айзятуллен Рамиль.
Обсудить данный перевод можно в соответствующей ветке форума.
Метки: mount.cifs
К сожалению, комментарии закрыты.
Самба: CIFS-Utils
Привет друзья!. «Common Iэто интернет Fс System utilities »или Common Utilities for Internet File Systems, поможет нам смонтировать в нашей локальной файловой системе Linux общие сетевые ресурсы CIFS на удаленных машинах.
Эль Пакет CIFS-Утилиты был частью Samba Suite до версий до 5.5-1 (см. / usr / share / doc / cifs-utils / README) который входит в состав Debian 7 «Wheezy» и на котором основана эта статья. В настоящее время утилиты CIFS являются отдельным проектом от Samba и активно поддерживаются командой Samba.
Прежде чем продолжить, мы должны прочитать статью Самба: SmbClient Что ж, мы к нему и обратимся. Фактически этот пост является его продолжением.
- Установка и немного общих знаний
- Используя команду mount.cifs
- Пример 1
- Пример 2
- Пример 3
- Резюме
Установка и немного общих знаний
Если у нас не установлен пакет smbclient или другое, связанное с пакетом Samba, при установке CIFS-Utils любыми способами они также:
- кейутилс: Инструменты управления ключами Linux. Keyutils — это набор инструментов для управления хранением ключей в ядре, который можно использовать в файловых системах, блочных устройствах и других устройствах для получения и сохранения ключей авторизации и шифрования, необходимых для выполнения безопасных операций.
- Winbind: Демон, который интегрирует механизмы аутентификации и поиска пользователей и / или групп из Active Directory в систему Linux.
- libnss-winbind: Пакет, который предоставляет нам плагин nss_winbind, который интегрируется с локальным сервером Винбинд для поиска по именам пользователей и групп. Это также дает нам плагин nss_wins, который обеспечивает поиск имен хостов или компьютеров как через протоколы NBNS («Служба имен NetBIOS»), так и через протоколы широковещательной передачи NetBIOS.
- самба y самба-обыкновенная корзина: Договоры в посте Самба: SmbClient на этом самом сайте.
Утилиты, инструменты или команды, которые предоставляет нам пакет CIFS-Utils являются: cifscreds, getcifsacl, setcifsacl, cifs.upcall, cifs.idmap и mount.cifs. Для практических целей мы увидим только команду mount.cifs. Как бы мы ни хотели, мы не можем написать трактат по этому поводу. Тем, кто хочет или нужно углубиться, просьба выполнить команда человека.
Используя команду mount.cifs
Обычно мы вызываем это как:
mount.cifs [-o параметры] mount -t cifs [-o параметры]
mount.cifs смонтировать файловую систему Linux CIFS. Это собственная команда Linux, и ядро должно поддерживать файловые системы. СИФ. Протокол CIFS является преемником протокола SMB и поддерживается большинством серверов Windows и многими другими коммерческими серверами, а также компьютерами NAS с сетевым хранилищем. Конечно, он полностью поддерживается сервером Samba с открытым исходным кодом.
Эта утилита прикрепить или смонтировать общий (или экспортированный) сетевой ресурс на удаленном сервере, который указан как обслуживание используя синтаксис // сервер / ресурс -где «сервер» — это имя или IP-адрес, на котором находится общий ресурс, а «ресурс» — это имя общего ресурса — в локальный каталог, который будет «точкой монтирования». Точка монтирования должна существовать в нашей локальной файловой системе ДО монтирования ресурса.
Лас- опции команды состоят из списка пар значений, разделенных запятыми, типы ключ = значение.
Чтобы облегчить работу с этой утилитой, рекомендуем внести изменения указанные в посте Самба: SmbClient подавать /etc/самба/smb.conf взяв оборудование за образец miwheezy.amigos.cu который не привязан к домену. Также рекомендуется установить пакет smbclient Если это еще не сделано, чтобы быстро узнать, какие ресурсы являются общими в сети. Конечно, мы можем определить вышеуказанное через Nautilus или файловый браузер, который мы используем, если он поддерживает протокол SMB / CIFS.
Пример 1
Мы хотим установить долю // w2003 / средиземье в локальной папке / главная / xeon / lan с учетными данными пользователя пипин принадлежащий домену friends.cu. Как пользователь root или через Sudo выполняем:
xeon @ miwheezy: ~ $ sudo mount.cifs // w2003 / middle earth / home / xeon / lan -o user=pipin@amigos.cu [sudo] пароль для xeon: Пароль:
Обратите внимание, что сначала нас спрашивают пароль локального пользователя. xeon @ miwheezy, а затем удаленный пользователь pipin@amigos.cu. Конечно, мы должны это знать, если наша команда не присоединилась к домену и не вошли локально в наш Debian как пипин. Мы увидим этот случай в следующих статьях.
Мы также должны были создать папку ЛВС (/ главная / xeon / lan) перед вызовом команды. Если нет, мы можем указать, что точкой монтирования будет каталог / мнт, если у нас нет других ресурсов, смонтированных в этом общем каталоге.
Давайте проявим любопытство и перечислим файлы в локальном каталоге, где мы смонтировали удаленный общий ресурс, и мы увидим, что пользователь и группа владельцев папок и файлов корень. Это означает, что у нас будет доступ только для чтения. Проверить это.
Некоторым будет немного сложно понять сказанное выше, но именно эти детали подчеркивают Мощность и безопасность файловой системы UNIX / Linux.
- Мы смогли вставить в нашу иерархическую файловую структуру, рожденную в /, файловая система, которая не ext3 o ext4, как это происходит, когда мы монтируем файловую систему NTFS, ЖИРили FAT32 в нашей команде Debian. Обычные операции, которые мы делаем, не соблюдая ее сути.
- После монтирования удаленного ресурса мы можем рассматривать его папки и файлы как локальные.
- Для ссылки на удаленный ресурс не требуется никакого письма или чего-либо подобного.
- Нам не нужно, чтобы наш Linux был присоединен к домену Windows. Нам нужна только учетная запись пользователя в этом Домене для доступа к общим ресурсам, в которых у нашего пользователя есть разрешения. Это также можно сделать из клиента Windows. Хорошо?.
Пример 2
Мы хотим установить долю // w2003 / средиземье в локальной папке / главная / xeon / lan с учетными данными пользователя пипин принадлежащий домену friends.cu. Нам также необходимо получить доступ к файлам с разрешениями на чтение / запись, и что владельцем является локальный пользователь, через которого мы вошли в систему, а в нашем примере это ксеон:
xeon @ miwheezy: ~ $ sudo mount.cifs //w2003.amigos.cu/tierramedia / home / xeon / lan -o user = pipin, uid = xeon, forceuid
Давайте снова проявим любопытство и перечислим папку ЛВС. Теперь собственник Xeon и группа все еще корень. Нам не нужно сообщать mount.cifs вариант rw иметь доступ для чтения / записи. Это гарантируют разрешения, присущие файловой системе UNIX / Linux. Мы можем проверить это, создавая и удаляя каталоги; изменение существующих файлов и т. д.
Пример 3
Каждый раз, когда запускается наша локальная машина, мы хотим смонтировать общий ресурс // w2003 / средиземье в локальной папке / главная / xeon / lan с учетными данными пользователя пипин принадлежащий домену friends.cu. Нам также необходимо получить доступ к файлам с разрешениями на чтение / запись, и что владельцем является локальный пользователь, через которого мы вошли в систему, а в нашем примере это ксеон.
Простое решение — создать скрипт в каталоге /etc/инит.д, дайте ему разрешения на выполнение и включите его в число программ, запускаемых при запуске. Как пользователь корень выполняем:
нано /etc/init.d/monta-tierramedia.sh
и добавьте следующее содержимое во вновь созданный сценарий запуска:
#! / bin / sh ### BEGIN INIT INFO # Предоставляет: Смонтировать удаленный ресурс // w2003 / middle earth в / home / xeon / lan # Требуется-Старт: $ local_fs $ syslog # Обязательно-Стоп: $ local_fs $ syslog # По умолчанию Start: 2 3 4 5 # Default-Stop: 0 1 6 # Краткое описание: Подключить удаленный ресурс ### END INIT INFO mount.cifs //10.10.10.30/tierramedia / home / xeon / lan \ -o user = pipin , пароль = пароль, uid = xeon, gid = xeon, \ forceuid, forcegid
Позже мы даем разрешение на выполнение скрипту и включаем его в стартовые скрипты. Как пользователь корень выполняем:
chmod u + x или ox /etc/init.d/monta-tierramedia.sh update-rc.d monta-tierramedia.sh по умолчанию
Если мы все сделали правильно, мы не должны получать никаких сообщений об ошибках. Чтобы проверить правильность синтаксиса скрипта, мы выполняем его вручную, и мы не должны получать никаких сообщений об ошибках. Как пользователь корень выполняем:
/etc/init.d/mountain-middleland.sh
Резюме
Мы можем написать множество примеров, но это НЕ наша цель. Мы должны перейти от простого к сложному, и этот пост — Точка входа к теме. Наши статьи основаны на основах, изложенных на страницах руководства или Страницы руководства и в сопроводительной документации к каждому пакету. Мы стараемся предложить что-то другое или то, что дополняет большинство статей, найденных в WWW Village.
Если мы хотим использовать бесплатное программное обеспечение в сетях Microsoft, SMB / CIFS и Samba, мы должны хотя бы прочитать . В противном случае мы будем страдать от последствий Базового Незнания.
Бесплатная подсказка: почему мы будем усложнять вещи, если можем легко их реализовать?
А пока активность окончена, Друзья .
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Из Linux » Сети / Серверы » Самба: CIFS-Utils
20 комментариев, оставьте свой
Оставьте свой комментарий Отменить ответ
Эрик сказал
тому назад 10 лет
Очень хороший пост, я должен сказать, хорошо, что друг расширяет эту информацию, так как самба для многих беспорядок, Приветствую
Федерико Антонио Вальдес Тужаге сказал
тому назад 10 лет
Спасибо за комментарий, Эрик . Если вы заметили, наш подход немного отличается от обычного, чтобы читатели лучше понимали тему Samba. Если вы прочтете четыре опубликованных на данный момент поста, это «развалится».
Энди сказал
тому назад 10 лет
Вы также можете подключить общий ресурс с помощью samba / cifs при запуске, включив строку в файл fstab. Что-то такое: // (ip или имя сервера samba) / (общий ресурс) / (каталог для монтирования) cifs credentials = / (путь к файлу с именем пользователя и паролем), uid = (id пользователя на этом компьютере, который будет владеть файлами), gid = (то же, что и раньше, но для группы), iocharset = utf8, auto 0 0 iocharset = utf8 понятно, что это для кодировки файлов.
auto — это автоматическое монтирование при запуске. Если мы этого не хотим, нам придется поставить no-auto, но в этом случае только root сможет монтировать файловую систему. Если мы хотим, чтобы любой пользователь мог монтировать общий ресурс, мы должны поставить опцию «пользователи» в конце. Вместо параметра учетных данных вы можете указать тот, который вы используете, — пользователя и пароль. Проблема будет в том, что любой, у кого есть учетная запись на компьютере, может знать имя пользователя и пароль, используемые для монтирования. С другой стороны, если имя пользователя и пароль находятся в отдельном файле, этому файлу могут быть предоставлены ограничительные разрешения, чтобы никто не знал имя пользователя и пароль, если не root. В файле учетных данных есть две строки: имя пользователя = (имя пользователя)
пароль = (пароль) Для вашего примера строка fstab будет: //10.10.10.30/tierramedia / home / xeon / lan cifs credentials = / etc / credentials, uid = xeon, gid = xeon, iocharset = utf8, auto 0 0 И в файле / etc / credentials: имя пользователя = pipin
пароль = пароль И мы бы поместили этот файл как пользователя root и группу, и только владелец файла имеет разрешение на чтение для него. Легко и быстро, и это самый рекомендуемый вариант.
Рафаэль сказал
тому назад 10 лет
Я являюсь пользователем OpenSUSE в домене Windows, и я монтирую соединения в fstab, но, несмотря на наличие _netdev в качестве параметра, он, наконец, не загружается, потому что сеть не работает вовремя, и мне нужно принудительно выполнить монтирование позже. Однако с помощью сценария из этой статьи я могу его смонтировать после запуска KDE, посмотреть, работает ли он . приветствия
Альваро Гарсия Брюс сказал
тому назад 8 лет
ЭНДИ Что, если ресурс будет называться Средиземье, а не Средиземье? Я попытался запустить пример на основе упомянутого вами варианта. В Средиземье он монтируется без проблем, но в Средиземье он отправляет мне ошибку в этой строке fstab. Как исправить, если по каким-то причинам переименовать папку невозможно?
Энди сказал
тому назад 8 лет
Обратите внимание, что имя общего ресурса не обязательно должно совпадать с именем папки. Может так ты и решишь. В противном случае вы всегда можете выйти из общего пространства ресурсов с помощью обратной косой черты, оставив это как золотую середину. Помните, я никогда не пробовал это в fstab, но он должен работать.
Энди сказал
тому назад 10 лет
В вашем примере вы также можете изменить пользователя и пароль для файла учетных данных: mount.cifs //10.10.10.30/tierramedia / home / xeon / lan
-o учетные данные = / etc / credentials, uid = xeon, gid = xeon,
forceuid, forcegid
Федерико Антонио Вальдес Тужаге сказал
тому назад 10 лет
Большое спасибо за ваши комментарии и вклад, @andye . Я знаю, что монтирование можно объявить в fstab, чтобы оно монтировалось каждый раз, когда мы запускаем систему. Лично я предпочитаю решение, которое не касается файла / etc / fstab, поэтому я привел этот простой пример. Он также отвечает на вопросы о том, как превратить сценарии запуска в простые задачи в Squeeze и Wheezy.
Юлий Цезарь сказал
тому назад 10 лет
Хороший пост, мой партнер продолжает делать хорошие взносы, привет Freeke
Федерико Антонио Вальдес Тужаге сказал
тому назад 10 лет
Спасибо за комментарий, Freeke . В следующем посте будет рассказано, как реализовать автономный сервер Samba.
Pepo сказал
тому назад 10 лет
Друзья с Debian у меня следующая проблема: sudo mount.cifs //192.168.6.2/Archive / home / pepo / backupA1330 / mntCentro -o user = myuser, password = myipassword ошибка монтирования (5): ошибка ввода / вывода
Обратитесь к странице руководства по mount.cifs (8) (например, man mount.cifs) Это происходило со мной в течение некоторого времени, и теперь мне нужно использовать графическую среду, потому что с Dolphin у меня нет проблем с использованием smb: //192.168.6.2/Archive
Федерико Антонио Вальдес Тужаге сказал
тому назад 10 лет
Привет Пепо . Я лично никогда не получал этого сообщения об ошибке. Попробуйте прочитать сообщения ядра, открыв консоль и выполнив ее как root tail -f / var / log / syslog, в то время как в другой вы выполните команду mount.cifs . чтобы посмотреть, есть ли у вас дополнительные данные, которые могут помочь вам. Успехов
Pepo сказал
тому назад 10 лет
ПРИВЕТ, под ЖУРНАЛОМ я получаю (/ var / log / syslog): 6 сен 20:34:05 ядро avernum: [74531.103307] FS-Cache: Netfs ‘cifs’ зарегистрирован для кеширования
6 сен 20:34:05 avernum kernel: [74531.103411] Зарегистрирован тип ключа cifs.spnego
6 сен 20:34:05 avernum kernel: [74531.103441] Зарегистрирован тип ключа cifs.idmap
6 сентября 20:34:06 ядро avernum: [74532.602462] CIFS VFS: ошибка отправки в SessSetup = -5
6 сентября 20:34:06 ядро avernum: [74532.602768] CIFS VFS: сбой cifs_mount с кодом возврата = -5
габукс сказал
тому назад 10 лет
Спасибо вам большое, такой вклад в desdelinux очень полезен, благодаря таким людям, как вы, мы открываем себя для обширной области Linux…. Спасибо вам всем…