Введение
В операционных системах Linux и UNIX можно подключить общий ресурс Windows к определенной точке локального каталога с помощью параметра cifs
команды mount
.
Common Internet File System (CIFS) — это сетевой протокол обмена файлами. CIFS — это форма SMB.
В этом руководстве мы объясним, как вручную и автоматически монтировать общие ресурсы Windows в системах Linux.
Установите пакеты CIFS
Чтобы смонтировать общий ресурс Windows в системе Linux, необходимо сначала установить пакет CIFS.
sudo apt update
sudo apt install cifs-utils
Чтобы установить пакеты CIFS в CentOS и Fedora:
sudo dnf install cifs-utils
Имя пакета может различаться в разных дистрибутивах Linux.
Смонтируйте общий ресурс Windows CIFS
Монтирование удаленного общего ресурса Windows похоже на монтирование обычных файловых систем.
Сначала создайте каталог, который действует как точка монтирования для удаленного общего ресурса Windows:
sudo mkdir /mnt/win_share
Выполните следующую команду от имени пользователя root или пользователя с привилегиями sudo, чтобы смонтировать общий ресурс:
sudo mount -t cifs -o username=<win_share_user> //WIN_SHARE_IP/<share_name> /mnt/win_share
Вам будет предложено ввести пароль:
Password:
В случае успеха вывод не производится.
Чтобы убедиться, что удаленный общий ресурс Windows смонтирован правильно, используйте команду mount
или df -h
.
После монтирования общего ресурса точка монтирования становится корневым каталогом смонтированной файловой системы. Вы можете работать с удаленными файлами, как если бы они были локальными файлами.
Пароль также можно ввести прямо в командной строке:
sudo mount -t cifs -o username=<win_share_user>,password=<win_share_password> //WIN_SHARE_IP/<share_name> /mnt/win_share
Если пользователь находится в рабочей группе или домене Windows, вы можете установить его следующим образом:
sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain> //WIN_SHARE_IP/<share_name> /mnt/win_share
Для большей безопасности рекомендуется использовать файл учетных данных, который содержит общее имя пользователя, пароль и домен.
Файл учетных данных /etc/win-credentials
имеет следующий формат:
username = user
password = password
domain = domain
Файл не должен быть доступен для чтения пользователями. Чтобы установить правильную собственность и разрешения, запустите:
sudo chown root: /etc/win-credentials
sudo chmod 600 /etc/win-credentials
Чтобы использовать файл учетных данных, определите его следующим образом:
sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/<share_name> /mnt/win_share
По умолчанию подключенный общий ресурс принадлежит пользователю root, а разрешения установлены на 777.
Используйте параметр dir_mode
, чтобы установить разрешение каталога, и параметр file_mode
, чтобы установить разрешение файла:
sudo mount -t cifs -o credentials=/etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share
Владение пользователем и группой по умолчанию можно изменить с помощью параметров uid
и gid
:
sudo mount -t cifs -o credentials=/etc/win-credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share
Чтобы установить дополнительные параметры, добавьте их в виде списка, разделенного запятыми, после параметра -o
. Чтобы получить список всех параметров монтирования, введите man mount
в терминале.
Автоматический монтаж
Когда общий ресурс монтируется вручную с помощью команды mount
, он не сохраняется после перезагрузки.
/etc/fstab
содержит список записей, определяющих, где и как какая файловая система будет монтироваться при запуске системы.
Чтобы автоматически монтировать общий ресурс Windows при загрузке системы Linux, укажите монтирование в /etc/fstab
. Строка должна включать имя хоста или IP-адрес ПК с Windows, имя общего ресурса и точку подключения на локальном компьютере.
Откройте /etc/fstab
в текстовом редакторе:
sudo nano /etc/fstab
Добавьте в файл следующую строку:
# <file system> <dir> <type> <options> <dump> <pass>
//WIN_SHARE_IP/share_name /mnt/win_share cifs credentials=/etc/win-credentials,file_mode=0755,dir_mode=0755 0 0
Сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.
Выполните следующую команду, чтобы смонтировать общий ресурс:
sudo mount /mnt/win_share
Команда mount
прочитает содержимое /etc/fstab
и смонтирует общий ресурс.
При следующей перезагрузке системы общий ресурс Windows будет смонтирован автоматически.
Размонтировать общий ресурс Windows
Команда umount
отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
Чтобы отсоединить смонтированный общий ресурс Windows, используйте команду umount
, за которой следует каталог, в который он был смонтирован, или удаленный общий ресурс:
sudo umount /mnt/win_share
Если у монтирования CIFS есть запись в fstab
, удалите ее.
Команда umount
не сможет отключить общий ресурс, когда он используется. Чтобы узнать, какие процессы имеют доступ к общему ресурсу Windows, используйте команду fuser
:
fuser -m MOUNT_POINT
Как только процессы будут идентифицированы, их можно остановить с помощью команды kill
, а затем размонтировать общий ресурс.
Если у вас по-прежнему возникают проблемы с размонтированием общего ресурса, используйте параметр -l
( --lazy
), который позволяет размонтировать загруженную файловую систему, как только она перестанет быть занятой.
sudo umount -l MOUNT_POINT
Вывод
В Linux вы можете смонтировать общий ресурс Windows с помощью команды mount
с параметром cifs
.