Как в Linux монтировать шару CIFS
CIFS (Common Internet File System) - это сетевой протокол для обмена файлами между различными операционными системами, такими как Windows, Linux и MacOS. CIFS также известен как SMB (Server Message Block). Часто мы сталкиваемся с ситуацией, когда нам нужно получить доступ к общим папкам или дискам на удаленном сервере Windows с нашего компьютера Linux. Для этого нам необходимо монтировать шару CIFS в Linux. В этой статье мы рассмотрим, как это сделать с помощью различных методов и опций.
Установка необходимых пакетов
Для работы с CIFS в Linux нам нужно установить пакет cifs-utils, который содержит утилиты для доступа к файловой системе CIFS. Команда для установки зависит от вашего дистрибутива Linux. Например, для Ubuntu или Debian вы можете использовать команду sudo apt install cifs-utils
. Для CentOS или Fedora вы можете использовать команду sudo yum install cifs-utils
Для работы CIFS/SMB необходимы порты:
- TCP 445
- UDP 137
- UDP 138
- UDP 139
Для предоставления удалённого доступа используется TCP 445. Для разрешения имен NetBios используются порты UDP 137, 138 и TCP 139, без них будет работать только обращение по IP адресу.
В Windows поддержка CIFS/SMB есть по умолчанию. В Linux CIFS/SMB реализуется с помощью samba.
Монтирование CIFS вручную
Самый простой способ монтировать шару CIFS в Linux - это использовать команду mount с опцией -t cifs. Синтаксис команды следующий:
mount -t cifs //server/share /mount_point -o options
Здесь:
//server/share
- это путь к общей папке или диску на удаленном сервере Windows. Вы можете использовать IP-адрес или имя сервера, а также имя шары./mount_point
- это локальная директория, которая будет служить точкой монтирования для шары CIFS. Вы должны создать ее заранее с помощью командыsudo mkdir /mount_point
.-o options
- это дополнительные опции для монтирования, такие как имя пользователя, пароль, домен, права доступа и т.д.
Например, чтобы монтировать шару CIFS с именем share на сервере с IP-адресом 192.168.1.100 в локальную директорию /mnt, вы можете использовать такую команду:
sudo mount -t cifs //192.168.1.100/share /mnt
Если шара CIFS требует аутентификации, то вам нужно указать имя пользователя, пароль и домен (если есть) для доступа к шаре. Вы можете сделать это с помощью опции -o user=username,password=password,domain=domain
. Например:
sudo mount -t cifs //192.168.1.100/share /mnt -o user=alice,password=secret,domain=workgroup
Вам может потребоваться ввести пароль, если вы не указали его в команде. Вы также можете использовать опцию -o credentials=file
, где file - это файл, содержащий имя пользователя, пароль и домен в отдельных строках. Это повышает безопасность и удобство. Например:
username=alice
password=secret
domain=workgroup
Затем вы можете монтировать шару CIFS с помощью команды:
sudo mount -t cifs //192.168.1.100/share /mnt -o credentials=/home/alice/.cifs_credentials
Вы должны установить правильные разрешения и владельца для файла с учетными данными, чтобы он был доступен только для root. Для этого вы можете использовать команды:
sudo chown root: /home/alice/.cifs_credentials
sudo chmod 600 /home/alice/.cifs_credentials
После монтирования шары CIFS вы можете работать с удаленными файлами, как с локальными, используя директорию /mnt. Вы можете проверить, что шара успешно смонтирована, используя команду mount
или df -h
.
Монтирование CIFS через fstab
Если вы хотите, чтобы шара CIFS монтировалась автоматически при загрузке системы или по запросу, вы можете добавить соответствующую запись в файл /etc/fstab. Это файл, содержащий информацию о разделах диска и точках монтирования. Синтаксис записи для шары CIFS такой:
//server/share /mount_point cifs options 0 0
Здесь:
//server/share
- это путь к общей папке или диску на удаленном сервере Windows, как и в предыдущем методе./mount_point
- это локальная директория, которая будет служить точкой монтирования для шары CIFS, как и в предыдущем методе.cifs
- это тип файловой системы, указывающий на CIFS.options
- это дополнительные опции для монтирования, такие как имя пользователя, пароль, домен, права доступа и т.д., как и в предыдущем методе.0
- это индикатор резервной копии, указывающий, что шара CIFS не нуждается в резервном копировании.0
- это порядок проверки раздела, указывающий, что шара CIFS не нуждается в проверке.
Например, чтобы монтировать шару CIFS с именем share на сервере с IP-адресом 192.168.1.100 в локальную директорию /mnt при загрузке системы, вы можете добавить такую запись в файл /etc/fstab:
//192.168.1.100/share /mnt cifs user=alice,password=secret,domain=workgroup 0 0
Или, если вы используете файл с учетными данными, то такую:
//192.168.1.100/share /mnt cifs credentials=/home/alice/.cifs_credentials 0 0
После добавления записи в файл /etc/fstab вы можете монтировать шару CIFS с помощью команды sudo mount -a
или перезагрузить систему.
Примеры использования опций
В этом разделе мы рассмотрим некоторые полезные опции для монтирования шары CIFS в Linux, которые вы можете использовать в команде mount или в файле /etc/fstab.
vers=version
- это опция, которая позволяет указать версию протокола SMB, используемую для монтирования шары CIFS. Это может быть полезно, если вы столкнулись с ошибкойmount error (112): Host is down
или другими проблемами совместимости. Вы можете выбрать версию от 1.0 до 3.1.1 в зависимости от вашего сервера Windows. Например,vers=3.0
guest
- это опция, которая позволяет монтировать шару CIFS без аутентификации, как гость. Это может быть полезно, если шара CIFS открыта для общего доступа. Например,guest
.uid=uid,gid=gid
- это опции, которые позволяют указать владельца и группу для смонтирован