В операционных системах Linux и UNIX общий ресурс Windows можно cifs
к определенной точке монтирования в локальном дереве каталогов с cifs
опции cifs
команды mount
.
Common Internet File System (CIFS) — это сетевой протокол обмена файлами. CIFS — это форма SMB.
В этом руководстве мы объясним, как вручную и автоматически монтировать общие ресурсы Windows в системах Linux.
Содержание
Установка пакетов утилит CIFS
Чтобы смонтировать общий ресурс Windows в системе Linux, сначала необходимо установить пакет утилит CIFS.
-
Установка утилит CIFS в Ubuntu и Debian:
sudo apt update
sudo apt install cifs-utils
-
Установка утилит CIFS на CentOS и Fedora:
sudo dnf install cifs-utils
Имя пакета может отличаться в зависимости от дистрибутива Linux.
Монтирование общего ресурса CIFS Windows
Подключение удаленного общего ресурса 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
Для большей безопасности рекомендуется использовать файл учетных данных, который содержит имя пользователя, пароль и домен общего ресурса.
Файл учетных данных имеет следующий формат:
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
к каталогу, и file_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
Выполните следующую команду, чтобы смонтировать общий ресурс:
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
и отключить общий ресурс.
Если у вас все еще есть проблемы с --lazy
ресурса, используйте параметр -l
( --lazy
), который позволяет вам отключить занятую файловую систему, как только она больше не будет занята.
sudo umount -l MOUNT_POINT
Выводы
В Linux вы можете cifs
к Windows с помощью команды mount
с опцией cifs
.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Есть ли возможность работы с самбовской ФС без прав root? Я работаю на кластере, сисадмин которого не пропишет мне sudo. Приходится монтировать на своей машине.