Ubuntu server подключить сетевую папку windows

Contents

Contents

  1. Prerequisites
  2. CIFS installation
  3. Mounting unprotected (guest) network folders
  4. Mount password protected network folders

    1. Special permissions
    2. Mount password protected shares using libpam_mount (Ubuntu 9.04)
  5. Troubleshooting

    1. Login errors
    2. Unprotected network folder won’t automount
    3. Mount during login instead of boot
    4. Slow shutdown due to a CIFS/Network Manager bug
    5. CIFS Options Deprecated
    6. Use of tilde in pathnames such as «credentials=~/.smbcredentials»

This document describes how to mount CIFS shares permanently. The shares might be hosted on a Windows computer/server, or on a Linux/UNIX server running Samba. This document also applies to SMBFS shares, which are similar to CIFS but are deprecated and should be avoided if possible (link).

(This document does not describe how to host the shares yourself, only how to access shares that are hosted somewhere else. For hosting shares, use Samba.)

Prerequisites

We’re assuming that:

  • Network connections have been configured properly.
  • Your local (Ubuntu) username is ubuntuusername.

  • Share username on Windows computer is msusername.

  • Share password on Windows computer is mspassword.

  • The Windows computer’s name is servername (this can be either an IP address or an assigned name).

  • The name of the share is sharename.

  • You want to mount the share in /media/windowsshare.

CIFS installation

sudo apt-get install cifs-utils

On older systems:

sudo apt-get install smbfs

Mounting unprotected (guest) network folders

First, let’s create the mount directory. You will need a separate directory for each mount.

sudo mkdir /media/windowsshare

Then edit your /etc/fstab file (with root privileges) to add this line:

//servername/sharename  /media/windowsshare  cifs  guest,uid=1000,iocharset=utf8  0  0

Where

  • guest indicates you don’t need a password to access the share,

  • uid=1000 makes the Linux user specified by the id the owner of the mounted share, allowing them to rename files,

  • iocharset=utf8 allows access to files with names in non-English languages. This doesn’t work with shares of devices like the Buffalo Tera Station, or Windows machines that export their shares using ISO8895-15.

  • If there is any space in the server path, you need to replace it by 40, for example //servername/My40Documents

After you add the entry to /etc/fstab type:

sudo mount -a

This will (re)mount all entries listed in /etc/fstab.

Mount password protected network folders

The quickest way to auto-mounting a password-protected share is to edit /etc/fstab (with root privileges), to add this line:

//servername/sharename  /media/windowsshare  cifs  username=msusername,password=mspassword,iocharset=utf8  0  0

This is not a good idea however: /etc/fstab is readable by everyone and so is your Windows password in it. The way around this is to use a credentials file. This is a file that contains just the username and password.

Using a text editor, create a file for your remote servers logon credential:

gedit ~/.smbcredentials

Enter your Windows username and password in the file:

username=msusername
password=mspassword

Save the file, exit the editor.

Change the permissions of the file to prevent unwanted access to your credentials:

chmod 600 ~/.smbcredentials

Then edit your /etc/fstab file (with root privileges) to add this line (replacing the insecure line in the example above, if you added it):

//servername/sharename /media/windowsshare cifs credentials=/home/ubuntuusername/.smbcredentials,iocharset=utf8 0 0 

Save the file, exit the editor.

Finally, test the fstab entry by issuing:

sudo mount -a

If there are no errors, you should test how it works after a reboot. Your remote share should mount automatically.

Special permissions

If you need special permission (like chmod etc.), you’ll need to add a uid (short for ‘user id’) or gid (for ‘group id’) parameter to the share’s mount options.

//servername/sharename  /media/windowsshare  cifs   uid=ubuntuuser,credentials=/home/ubuntuuser/.smbcredentials,iocharset=utf8   0       0

In addition to the initial assumptions, we’re assuming that

  • Your username and password are the same on the Ubuntu machine and on the network drive.

Install libpam-mount:

sudo apt-get install libpam-mount

Edit /etc/security/pam_mount.conf.xml using your preferred text editor.

gksudo gedit /etc/security/pam_mount.conf.xml

First, we’re moving the user specific config bits to a file which users can actually edit themselves: remove the commenting tags (<!— and —>) surrounding the section called <luserconf name=».pam_mount.conf.xml» />. Save the file when done. With this in place, users can create their own ~/.pam_mount.conf.xml.

gedit ~/.pam_mount.conf.xml

Add the following:

<?xml version="1.0" encoding="utf-8" ?>

<pam_mount>

<volume options="uid=%(USER),gid=100,dmask=0700" user="*" mountpoint="/media/windowsshare" path="sharename" server="servername" fstype="cifs" />

</pam_mount>

Troubleshooting

Login errors

If you get the error «mount error(13) permission denied», then the server denied your access. Here are the first things to check:

  • Are you using a valid username and password? Does that account really have access to this folder?
  • Do you have whitespace in your credentials file? It should be password=mspassword, not password = mspassword.

  • Do you need a domain? For example, if you are told that your username is SALESsally, then actually your username is sally and your domain is SALES. The fstab entry should read: …username=sally,password=pass,domain=SALES,… Or: …credentials=/path/to/file,domain=SALES,…

  • The security and version settings are interrelated. SMB1 is insecure and no longer supported by default. At first, try to not specify either security or version: do not specify sec= or vers=. If you still have authentication errors then you may need to specify either sec= or vers= or both. You can try the options listed at the mount.cifs man page. The man page list leaves out the option sec=lanman for some reason, but you should try that one as well (see discussion).

Unprotected network folder won’t automount

I’ve had a situation where an unprotected network folder wouldn’t automount during bootup, but after manually entering «sudo mount -a» was mounted correctly. I solved this by replacing the «guest» option by «username=guest,password=». If anyone has an explanation for this, please leave a comment.

//servername/sharename  /media/windowsshare  smbfs  username=guest,password=,uid=1000,iocharset=utf8,codepage=unicode,unicode  0  0

Mount during login instead of boot

If for some reason/etc/rc0.d/S31umountnfs.sh (networking problems for example) the automatic mounting during boot doesn’t work, you can add the «noauto» parameter to your smbfs fstab entry and then have the share mounted at login.

In /etc/fstab:

//servername/sharename  /media/windowsshare  cifs  noauto,credentials=/home/ubuntuusername/.smbpasswd  0  0

In /etc/rc.local:

mount /media/windowsshare
exit 0

Slow shutdown due to a CIFS/Network Manager bug

If you use Network Manager, and are getting really slow shutdowns, it’s probably because NM shuts down before unmounting the network shares. That will cause CIFS to hang and wait for 60 seconds or so. Here’s how to fix it:/etc/rc0.d/S31umountnfs.sh

sudo ln -s /etc/init.d/umountnfs.sh /etc/rc0.d/K14umountnfs.sh
sudo ln -s /etc/init.d/umountnfs.sh /etc/rc6.d/K14umountnfs.sh

Ubuntu 12.04 already runs umountnfs.sh at reboot and shutdown by default (/etc/rc0.d/S31umountnfs.sh and /etc/rc6.d/S31umountnfs.sh) so this is no longer necessary.


CIFS Options Deprecated

20 Feb 2008 TW

Using dmask or fmask in the fstab file produces the following warnings: WARNING: CIFS mount option ‘dmask’ is deprecated. Use ‘dir_mode’ instead. WARNING: CIFS mount option ‘fmask’ is deprecated. Use ‘file_mode’ instead.

Instead use this format: file_mode=0777,dir_mode=0777 . Or in some cases you might need to use file_mode=0777,dir_mode=0777,nounix (see discussion)


Use of tilde in pathnames such as «credentials=~/.smbcredentials»

20 Feb 2008 TW

Curiously, using credentials=~/.smbcredentials in fstab didn’t work. I had to use the full path, i.e. /home/username/.smbcredentials

(This is likely because the tilde «~» is only a shell short-hand alias for «$HOME»; it isn’t something recognized system-wide by all programs, especially not in a system file table where the concept of «HOME» doesn’t really exist. -Ian!)


CategoryDocumentation

CIFS (Common Internet File System) – это популярный протокол обмена файлами в Интернете. Этот протокол и позволит пользователям ОС Linux получить доступ к общей папке Windows.

CIFS – это реализация SMB (Server Message Block) – протокола, используемого для совместного использования сетевых файлов. Но он устарел.

В этой статье мы по шагам пройдем все этапы установки и настройки CIFS, чтобы подключиться к сетевому ресурсу Windows на ОС Linux.

Установка CIFS

Сейчас мы установим пакет cifs-utils на Ubuntu Linux (точно так же можно сделать на всех Debain-подобных ОС).

$ sudo apt-get update
$ sudo apt-get install cifs-utils

Монтируем Windows Share (сетевой ресурс)

Сейчас мы разберем на примерах, как монтировать общую папку Windows вручную и автоматически.

Создадим на нашем Linux директорию, к которой мы будем монтировать сетевой ресурс. Назовем ее myshare и расположена она будет в каталоге /mnt

$ sudo mkdir /mnt/myshare

Сетевой ресурс (шара) Windows может быть примонтирован к ОС Ubuntu или Debian с помощью следующей команды:

$ sudo mount -t cifs -o username=user,password=Passw0rd //WINDOWS_HOST_IP/share /mnt/myshare

Где:

WIN_HOST_IP – это IP адрес хоста Windows, на котором расположена общая папка

share – имя сетевого ресурса

user – наш пользователь и Passw0rd – пароль с которыми мы подключемся к шаре.

Если пользователь доменный, то необходимо в опциях (-o) указать домен.

$ sudo mount -t cifs -o username=user,password=Passw0rd,domain=domain_name //WIN_HOST_IP/share /mnt/myshare

По-умолчанию сетевой ресурс монтируется с полными правами (rwx или 777). Если Вы хотите установить иные права, используйте опции dir_mode и file_mode.

$ sudo mount -t cifs -o username=user,password=Passw0rd,dir_mode=0755,file_mode=0755 //WIN_HOST_IP/share /mnt/myshare

Так же Вы можете установить владельцев uid (id пользователя) и gid (id группы).

$ sudo mount -t cifs -o username=user,password=Passw0rd,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_HOST_IP/share /mnt/myshare

Если после выполнения предыдущих команд Вы не получили никаких ошибок, то можете с помощью команды df -h убедиться, что сетевой ресурс успешно примонтирован к нашему ПК на Linux. В примере WIN_HOST_IP = 192.168.1.100 и имя общей папки share

$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
udev                       3,9G     0  3,9G   0% /dev
tmpfs                      787M  2,2M  785M   1% /run
/dev/sda2                  450G   23G  405G   6% /
tmpfs                      3,9G  705M  3,2G  18% /dev/shm
tmpfs                      5,0M  4,0K  5,0M   1% /run/lock
tmpfs                      3,9G     0  3,9G   0% /sys/fs/cgroup
//192.168.1.100/share  1000G  108G  82G   11% /mnt/myshare

Безопасность учетных данных при монтировании через CIFS

В этом разделе опишем, как лучше всего передавать учетные данные (имя пользователя, пароль, домен) при монтировании сетевого ресурса к ОС на базе Линукс.

Создайте файл с учетными данными для cifs: /etc/cifs-credentials

Внутрь поместите следующее содержимое:

username=user
password=Passw0rd
domain=domain_name

Задайте права для этого файла:

$ sudo chmod +rw /etc/cifs-credentials

Теперь мы можем подключить общую папку такой командой:

$ sudo mount -t cifs -o credentials=/etc/cifs-credentials //WIN_HOST_IP/share /mnt/myshare

В примерах выше, после того, как Вы перезагрузите свой ПК, сетевой ресурс не примонтируется. Поэтому сделаем так, чтобы шара подключалась автоматически. В Linux это делается через файл /etc/fstab. Откройте этот файл любимым редактором.

$ sudo vim /etc/fstab

И добавьте такую строку:

//WIN_HOST_IP/share /mnt/myshare cifs credentials=/etc/cifs-credentials,file_mode=0755,dir_mode=0755 0 0

Следующей командой запустим монтирование всех точек, описанных в /etc/fstab

$ sudo mount -a

Теперь наш удаленный сетевой ресурс будет доступен даже после перезагрузки.

Как размонтировать общую папку CIFS

Размонтирование производится таким же способом, как и обычно мы жто делаем с дисками:

$ sudo umount /mnt/myshare

Часто бывает так, что сетевой ресурс занят каким-то процессом и тогда Вы получите ошибку при попытке размонтирования, тогда запустите команду с ключем -l (–lazy)

$ sudo umount -t cifs -l /mnt/myshare

Итог

Итак, в этой статье мы рассмотрели, как быстро примонтировать удаленную сетевую папку, которая находится на хосте с Windows, к нашему хосту на Linux с помощью CIFS. Если у Вас остались какие-либо вопросы, пожалуйста, пишите в комментариях.

Монтирование SMB не что иное как подключение сетевой папки WIndows в Linux. SMB (Server Message Block) — сетевой протокол удаленного доступа к сетевым ресурсам (файлы, папки, принтеры и т.п.). В первой версии протокола был известен также как CIFS (Common Internet File System). Протоком SMB повсеместно используется во всех ОС Microsoft Windows.

В современных дистрибутивах Linux уже можно совершенной спокойно путешествовать по сетевым дискам. Но куда удобнее если смонтировать сетевой диск сразу в папку, да еще и на рабочем столе, красота. Я создал папку с общим доступом на сервере Hyper-V, её и буду монтировать. Монтирование SMB буду делать под специально заведенным пользователем, дабы не светить пароль админа.

Монтируемая папка

Монтируемая директория доступна только администраторам и пользователю smb (создан специально для монтирования). Сделать общую папку на сервере Windows можно двумя способами: 1 — через свойства папки; 2 — через Powershell. Через свойства папки проще и быстрее как для новичка.

Но в моем случае с сервером HyperV 2019 сработал только второй способ, через Powershell.

New-SmbShare -Name "smb_mount" -Path "F:smb_mount" -FullAccess "Administrator", "smb"

Данной командой я сделал общей папку расположенную по пути F:smb_mount и присвоил ей имя smb_mount. Права на доступ к папке выдал пользователю Administrator и smb.

Общая папка у меня доступна по пути \hvs19smb_mount, но монтировать я буду ее по ip адресу. Принципиального вопроса как монтировать нет, просто не всегда есть возможность использовать имя.

С монтируемой папкой закончили, создадим папку куда будем монтировать. Я создал папку в /opt и назвал её F (по имени диска где лежит монтируемая папка) для удобства.

Установим набор утилит для монтирования SMB

Для Ubuntu (и прочих Debian`ов)

sudo apt-get install cifs-utils

Для Centos 8 (и прочих RPM дистрибутивов на YUM)

sudo yum install cifs-utils
Монтирование SMB

Все необходимые папки мы создали, теперь приступим к монтированию файловой системы.

sudo mount -t cifs -o username=smb,password=пароль //192.168.1.110/smb_mount /opt/F

Пройдемся по параметрам:

  • -t cifs — тип файловой системы cifs (полностью совместим с SMB)
  • username — пользователь у которого есть доступ к монтируемой папке (на сетевом диске). Если разрешено, можно использовать гостя, без пароля. В таком случае указываем username=guest
  • password — пароль от учетной записи этого пользователя
  • //192.168.1.110/smb_mount — общая папка на сервере которую монтируем
  • /opt/F — папка куда монтируем.

Посмотрим что все получилось, проверим свободное место в сетевой папке

Можно использовать дополнительные возможности при монтировании, используя ключи после параметра -o. Вот некоторые из них

  • rw — запись и чтение
  • ro — только чтение
  • iocharset=utf8 — в данной кодировке будет выводится информация;
  • codepage=cp866 — кодировка используемая на сервере с общей папкой. Обычно Windows устанавливает кодировку cp866.
  • vers=3.0 — принудительно указать версию подключения SMB протокола. Для безопасного подключения используйте последнюю версию.

Используя команду mount мы монтируем папку в ручном режиме и после перезагрузки монтирования не произойдет. Для автоматического монтирования папки читаем следующий раздел.

Автоматическое монтирование SMB

Для постоянного монтирования папке при старте системы необходимо внести изменения в файл /etc/fstab. При монтировании сетевого диска с SMB используется пароль. Для большей сохранности не будем указывать его в файле fstab, а сохраним в директории root.

Создадим файл с учетными данными

Добавим в файл строки: имя пользователя, пароль, домен (если используется). У меня домена нет, поэтому добавлю только имя и пароль

username=smb
password=пароль
domain=mydomain

Откроем файл /etc/fstab для редактирования

Добавим новую строку в конец файла

//192.168.1.110/smb_mount /opt/F   cifs   user,rw,credentials=/root/.cifsmnt 0 0

Сохраним файл и перезагрузим компьютер. После этого сетевая папка будет монтироваться автоматически.

Разберем указанные параметры

  • //192.168.1.110 — ip адрес сервера где находится сетевая папка
  • /smb_mount — сетевая папка на указанном выше сервере
  • /opt/F — папка на локальном компьютере куда будем монтировать сетевую папку
  • cifs — тип монтируемой файловой системы
  • user — разрешение монтировать для любого пользователя
  • rw — разрешения на чтение/запись на диск при монтировании
  • credentials — путь к файлу с данными учетной записи используемых для подключения по SMB
  • 0 — не использовать дамп
  • 0 — не проверять файловую систему при старте программой fsck
Права на папки и файлы

Примонтированный диск по умолчанию монтируется от root и разрешает запись на диск только под ним. Рассмотрим опции позволяющие изменить доступ на примонтированные папки и файлы. Также рассмотрим настройки по смене владельца смонтированной папки.

  • uid — задает владельца каталога. Узнать uid пользователей можно в файле /etc/passwd
  • gid — задает группу владельца каталога. Узнать gid групп можно в файле /etc/passwd
  • file_mode=0777 — права на доступ к файлам. 0777 — разрешено запись/чтение всем.
  • dir_mode=0777 — права на доступ к папкам. 0777 — разрешено запись/чтение всем.

Пример записи в файле /etc/fstab монтирования от моего пользователя (не root) с полным доступом ко всем файлам и папкам

//192.168.1.110/smb_mount /opt/F   cifs   user,rw,credentials=/root/.cifsmnt,file_mode=0777,dir_mode=0777,uid=1000,gid=1000 0 0
Размонтирование SMB

Размонтировать сетевую папку SMB можно используя команду umount

В параметрах команды umount указываем директорию куда была смонтирована сетевая папка. В моем случае это /opt/F

Если смонтированная файловая система сейчас занята, появится сообщение umount: target is busy . В таком случае размонтировать получиться с ключом -l

Решение проблем монтирования

Если по какой либо причине после ваших попыток папка все же не монтируется, необходимо смотреть системный журнал.

grep "cifs" /var/log/syslog

В системном журнале будет указана причина ошибки монтирования. Как пример не верный логин/пароль, не установленные утилиты cifs и т.п.

Хотите отблагодарить автора статьи? Это даст ему дополнительный стимул к написанию новых статей.

В операционных системах Linux и UNIX общий ресурс Windows можно смонтировать в определенной точке монтирования в дереве локальных каталогов, используя cifsпараметр mount команды.

Общая файловая система Интернета (CIFS) — это сетевой протокол обмена файлами. CIFS является формой SMB.

Установка пакетов утилит CIFS 

Чтобы смонтировать общий ресурс Windows в системе Linux, сначала необходимо установить пакет утилит CIFS.

  • Установка утилит CIFS в Ubuntu и Debian:

    sudo apt updatesudo apt install cifs-utils
    
    
  • Установка утилит CIFS в CentOS и Fedora:

    sudo dnf install cifs-utils


    Имя пакета может отличаться в разных дистрибутивах Linux.

Монтирование удаленного общего ресурса 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-credentialssudo 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

    Добавьте следующую строку в файл:

/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 будет смонтирован автоматически.

Команда umountотсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.

Чтобы отсоединить подключенный общий ресурс Windows, используйте umount команду с указанием либо каталога, в котором он был подключен, либо удаленного общего ресурса:

sudo umount /mnt/win_share


    Если в fstab файле CIFS есть запись в файле, удалите ее.

Команда umountне сможет отсоединить общий ресурс, когда он используется. Чтобы узнать, какие процессы обращаются к общему ресурсу Windows, используйте fuser команду:

fuser -m MOUNT_POINT


    Найдя процессы, вы можете остановить их с помощью kill команды и размонтировать общий ресурс.

Если у вас по-прежнему возникают проблемы с размонтированием общего ресурса, используйте параметр -l( --lazy), который позволяет размонтировать занятую файловую систему, как только она больше не будет занята.

sudo umount -l MOUNT_POINT

Вывод

В Linux вы можете смонтировать общий доступ к Windows, используя mount команду с cifs параметром.

В этой статье мы рассмотрим, как в Linux смонтировать общую сетевую папку, расположенную на хосте Windows. В Windows для доступа к общим сетевым папкам используется протокол SMB (Server Message Block, ранее назывался CIFS, Сommon Internet File System). В Linux для доступа к сетевым папкам Windows по протоколу SMB можно использовать клиент cifs-utils или Samba.

    Содержание:

  • Смонтировать сетевую папку в Linux с помощью cifs-util
  • Linux: подключиться к сетевой папке с помощью клиента samba

Совет. Для доступа к сетевым папкам по SMB/CIFS используется порт TCP/445. Для разрешения имени используются UDP 137, 138 и TCP 139. Если эти порты закрыты, вы сможете подключиться к сетевой папке Windows только по IP адресу.

Смонтировать сетевую папку в Linux с помощью cifs-util

Вы можете смонтировать сетевую папку, находящуюся на Windows хосте, с помощью утилит из пакета cifs-util. Для установки пакета выполните команду:

  • В Ubuntu/Debian: apt-get install cifs-utils
  • В CentOS/Oracle/RHEL: dnf install cifs-utils

Теперь вы можете смонтировать сетевую папку вручную с помощью команды:

mount.cifs //192.168.200.30/docs /mnt

В предыдущем примере подразумевалось, что к общей сетевой папке на Windows предоставлен анонимный доступ. Если для доступа нужно аутентифицироваться под пользователем, используйте команду:

mount.cifs //192.168.200.30/docs /mnt -o user=localuser1

Если для подключения нужно использоваться доменную учетную запись пользователя:

mount.cifs //192.168.200.30/docs /mnt -o user=aivanov,domain=vmblog.ru

Совет. Если в имени сетевой шары есть пробелы, нужно заменить их на 40:

mount.cifs //192.168.200.30/shared40docs /mnt -o user=localuser1

Вы можете монтировать сетевую папку автоматически с помощью fstab. Для этого создайте файл с именем пользователя и паролем:

vim /root/.smbshare

Укажите имя пользователя, пароль и домен AD:

username=avvanov
password=Pass123-y
domain=vmblog.ru

И добавьте строку подключения SMB каталог в файл /etc/fstab

//192.168.200.30/docs /mnt cifs user,rw,credentials=/root/.smbshare 0 0

Параметр rw указывает, что папка будет доступна на чтение и запись.

Вы можете указать версию протокола SMB, которую нужно использовать для подключения (версия SMB 1.0 считается небезопасной и отключена по-умолчанию в современных версиях Windows). Чтобы смонтировать сетевую папку по протоколу SMB 3.0, используйте строку:

//192.168.200.30/docs /mnt cifs user,rw,credentials=/root/.smbshare,vers=3.0 0 0

Если на стороне хоста Windows используется несовместимая (старая версия) SMB, при подключении появится ошибка:

mount error(112): Host is down

Чтобы сразу смонтировать сетевую папку, выполните:

mount -a

Linux: подключиться к сетевой папке с помощью клиента samba

Установите в Linux клиент samba:

  • В Ubuntu/Debian: sudo apt-get install smbclient
  • В CentOS/Oracle/RHEL: dnf install smbclient

Разрешите доступ для клиента, добавив правило в файервол:

firewall-cmd --add-service samba-client --permanent; firewall-cmd –reload

Для вывода всех SMB ресурсов в локальной сети:

smbtree -N

Чтобы обнаружить список доступных SMB шар на удаленном хосте под определенной учетной записью, выполните команду:

smbclient –L \\192.168.200.30 –U 'administrator'

подключение сетевой папки в linux с помощью smbclient

Чтобы вывести список опубликованных в Windows сетевых принтеров:

net share -l

Для подключения к сетевой папке Windows используется команда:

smbclient -U usernam1 \\192.168.200.30\shared_docs

Для анонимного доступа:

smbclient -U Everyone \\192.168.200.30\shared_docs

При использовании команды smbclient может появиться ошибка:

Unable to initialize messaging context
smbclient: Can't load /etc/samba/smb.conf - run testparm to debug it

Чтобы исправить ошибку, создайте файл /etc/samba/smb.conf.

Обновлено Обновлено: 30.01.2022
Опубликовано Опубликовано: 13.03.2021

Используемые термины: Samba, Ubuntu, SMB.

Samba позволяет настроить файловое хранилище различных масштабов — от малых офисов для крупных организаций. В данной инструкции мы рассмотрим процесс настройки файлового сервера. Сначала мы выполним установку и базовую настройку с предоставлением гостевого доступа. После будет приведены примеры разграничения доступа по пользователям, группам и пользователям Active Directory.

Подготовка сервера к работе
    Настройка времени
    Брандмауэр
Установка и запуск сервиса Samba
Создание первой шары с гостевым доступом
Настройка доступа к папке по логину и паролю
Доступ к папке для пользователей и групп
Помещение удаленных файлов в сетевую корзину
Настройка клиентов для подключения к шаре
    Windows
    Linux
Некоторые полезные опции Samba
    hosts allow
    hosts deny
    interfaces
    force user/group
    include
Читайте также

Подготовка сервера

1. Время

Для корректного отображения дат, необходимо позаботиться о синхронизации времени. Для этого будем использовать демон chrony. Установим его:

apt-get install chrony

Разрешим автозапуск сервиса:

systemctl enable chrony

2. Брандмауэр

По умолчанию, в системах на базе Debian брандмауэр разрешает все соединения. Но если в нашем случае мы используем брандмауэр, необходимо открыть порты:

iptables -I INPUT -p tcp —dport 445 -j ACCEPT

iptables -I INPUT -p udp —dport 137:138 -j ACCEPT

iptables -I INPUT -p tcp —dport 139 -j ACCEPT

* где порт 445 используется для samba, а порты 137, 138 и 139 — для работы NetBIOS (использование имени компьютера для доступа).

Применяем настройки:

apt-get install iptables-persistent

netfilter-persistent save

Установка и запуск Samba

Установка выполняется из репозитория одной командой:

apt-get install samba

Разрешаем автостарт сервиса:

systemctl enable smbd

И проверим, что сервис запустился: 

systemctl status smbd

Проверяем, что сервер самба позволяет к себе подключиться. Для этого можно с компьютера обратиться к серверу по SMB, например, на компьютере с Windows это можно сделать из проводника, прописав путь к серверу с двух слэшей:

Пример подключения к SMB шаре с компьютера на Windows

* в данном примере мы подключаемся к серверу Samba с IP-адресом 192.168.1.15.

Если мы настроили сервер правильно, система откроет пустую папку. На данном этапе проверка закончена и мы можем переходить к созданию первой шары.

Разберем самый простой пример предоставления доступа к папке — анонимный доступ всем пользователям без запроса пароля.

Открываем на редактирование конфигурационный файл samba:

vi /etc/samba/smb.conf

И добавляем настройку для общей папки:

[Общая папка]
    comment = Public Folder
    path = /data/public
    public = yes
    writable = yes
    read only = no
    guest ok = yes
    create mask = 0777
    directory mask = 0777
    force create mode = 0777
    force directory mode = 0777

* где: 

  • [Общая папка] — имя общей папки, которое увидят пользователи, подключившись к серверу.
  • comment — свой комментарий для удобства.
  • path — путь на сервере, где будут храниться данные.
  • public — для общего доступа. Установите в yes, если хотите, чтобы все могли работать с ресурсом.
  • writable — разрешает запись в сетевую папку.
  • read only — только для чтения. Установите no, если у пользователей должна быть возможность создавать папки и файлы.
  • guest ok — разрешает доступ к папке гостевой учетной записи.
  • create mask, directory mask, force create mode, force directory mode — при создании новой папки или файла назначаются указанные права. В нашем примере права будут полные.

Создаем каталог на сервере и назначим права:

mkdir -p /data/public

chmod 777 /data/public

Применяем настройки samba, перезагрузив сервис:

systemctl restart smbd

Пробуем подключиться к папке. Мы должны зайти в нее без необходимости ввода логина и пароля.

Теперь создадим каталог, в который вход будет разрешен только авторизованным пользователям.

Открываем конфигурационный файл samba:

vi /etc/samba/smb.conf

Добавляем настройку для новой папки:

[Папка сотрудников]
    comment = Staff Folder
    path = /data/staff
    public = no
    writable = yes
    read only = no
    guest ok = no
    create mask = 0777
    directory mask = 0777
    force create mode = 0777
    force directory mode = 0777

* эти настройки, во многом, похожи на те, что использовались в примере выше. Вот основные различия:

  • path = /data/staff — используем новый путь до папки.
  • public = no — запрещаем публичный доступ.
  • guest ok = no — не разрешаем гостевое подключение.

Создаем каталог для новой папки:

mkdir /data/staff

Задаем права на созданный каталог:

chmod 777 /data/staff

Создаем пользователя в системе Linux:

useradd staff1

* где staff1 — имя пользователя.

Задаем пароль для пользователя:

passwd staff1

Теперь создадим пользователя в samba:

smbpasswd -a staff1

Перезапускаем samba:

systemctl restart smbd

Пробуем зайти на сервер — общую папку мы должны открыть без авторизации, а при попытке открыть папку сотрудников должно появиться окно ввода логина и пароля.

Если мы авторизованы на компьютере, с которого пытаемся подключиться к серверу, под той же учетной записью, что создали для доступа к папке, samba может и не потребовать аутентификации.

Теперь создадим папку, доступ к которой будут иметь ограниченное количество пользователей.

Открываем конфигурационный файл samba:

vi /etc/samba/smb.conf

Добавляем настройку для новой папки:

[Приватная папка]
    comment = Private Folder
    path = /data/private
    public = no
    writable = no
    read only = yes
    guest ok = no
    valid users = admin, staff2, staff3, @privateusers
    write list = admin, staff2
    create mask = 0777
    directory mask = 0777
    force create mode = 0777
    force directory mode = 0777
    inherit owner = yes

* стоит обратить внимание на следующие настройки:

  • path = /data/private — используем новый путь до папки.
  • writable = no и read only = yes — в данном примере мы разрешим запись в каталог только некоторым пользователям. Поэтому общие настройки, разрешающие запись в папку, должны быть запрещены.
  • valid users — список пользователей, которым разрешено подключаться к каталогу. В данном примере разрешения работают для пользователей admin, staff2 и staff3, а также для всех, кто входим в группу privateusers.
  • write list — список пользователей, которые имеют доступ к папке на чтение и запись. В данном примере мы разрешаем это только для пользователей admin и staff2.
  • inherit owner — опция позволяем включить наследование владельца при создании папок и файлов.

* если мы хотим, чтобы доступ к каталогу был полный у определенных пользователей (без разделения на тех, кто может только читать и тех, кто может также писать в папку), то опцию write list можно не указывать, а опции writable и read only оставить как в примерах выше.

Создаем каталог для новой папки:

mkdir /data/private

Задаем права на созданный каталог:

chmod 777 /data/private

Для применения настроек перезапускаем samba:

systemctl restart smbd

Создать группу пользователей можно командой:

groupadd privateusers

Добавить ранее созданного пользователя в эту группу:

usermod -a -G privateusers staff1

Подробнее о работе с учетными записями в Linux.

Проверяем возможность работы с новым каталогом.

Сетевая корзина

При удалении файлов из общей папки, данные удаляются навсегда. Но мы можем настроить сетевую корзину — скрытый каталог, в который будут перемещаться удаляемые с самбы объекты.

Открываем конфигурационный файл:

vi /etc/samba/smb.conf

Создаем шару:

[Recycle]
    comment = Snap Directories
    path = /data/recycle
    public = yes
    browseable = yes
    writable = yes
    vfs objects = recycle
    recycle:repository = .recycle/%U
    recycle:keeptree = Yes
    recycle:touch = Yes
    recycle:versions = Yes
    recycle:maxsize = 0
    recycle:exclude = *.tmp, ~$*
    recycle:exclude_dir = /tmp

* где:

  • vfs objects = recycle — использовать подсистему recycle.
  • recycle:repository — где хранить удаленные объекты. В данном примере удаленные файлы попадут в скрытый каталог .recycle к котором создастся каталог с именем пользователя, удалившего файл или папку.
  • recycle:keeptree — удалять объекты с сохранение дерева каталогов.
  • recycle:touch — изменить ли дату изменения файла при его перемещении в корзину.
  • recycle:versions — при удалении файлов с совпадающими именами, добавлять номер версии.
  • recycle:maxsize — не помещать в корзину файлы, размер которых больше заданного параметра (в байтах). В данном примере, помещать файлы любого размера.
  • recycle:exclude — исключить файлы.
  • recycle:exclude_dir — исключить каталог.

Создаем каталог и задаем права:

mkdir /data/recycle

chmod 777 /data/recycle

Перезапускаем самбу:

systemctl restart smbd

Пробуем зайти в сетевой каталог Recycle и создать, а после удалить файл. Он должен оказаться к скрытой папке .recycle.

Для автоматической чистки сетевой корзины можно создать скрипт:

mkdir /scripts

vi /scripts/cleanrecycle.sh

#!/bin/bash

recyclePath=»/data/recycle/.recycle»
maxStoreDays=»30″

/usr/bin/find $recyclePath -name «*» -ctime +$maxStoreDays -exec rm {} ;

* в данном скрипте мы ищем все файлы в каталоге /data/recycle/.recycle, которые старше 30 дней и удаляем их.

Разрешаем запуск скрипта:

chmod +x /scripts/cleanrecycle.sh

Создаем задание в планировщике:

crontab -e

0 5 * * * /scripts/cleanrecycle.sh

* в данном примере мы будем запускать скрипт по очистке сетевой корзины каждый день в 05:00.

Подключение к шаре

Теперь разберем примеры подключения к нашим шарам из разных систем.

Windows

Для разового подключения можно использовать проводник, прописав в нем адрес сервера через косые линии:

Пример подключения к SMB шаре с компьютера на Windows

Для подключения сетевого диска, который будет автоматически создаваться при запуске системы, в проводнике сверху нажимаем Простой доступПодключить как диск:

Подключение сетевого диска в Windows

В открывшемся окне прописываем путь до сетевой папки и выбираем имя диска:

Прописываем путь до сетевой папки, на которую хотим сделать сетевой диск

Сетевой диск настроен.

Но мы может сделать те же действия из командной строки:

net use x: \samba.dmosk.localAD ACL /persistent:yes

* где x: — имя сетевого диска; \samba.dmosk.localAD ACL — путь до сетевого каталога; persistent:yes — указывает на то, что нужно восстанавливать данный диск каждый раз при входе в систему.

Linux

Монтирование

В Linux мы можем монтировать удаленный каталог с помощью команды mount, например:

mount -t cifs «//192.168.1.15/ad» /mnt -o user=dmosk

* где 192.168.1.15 — IP-адрес сервера; mnt — каталог, куда монтируем сетевую шару; dmosk — пользователь, под которым выполняем подключение к сетевому каталогу.
** в систему должен быть установлен пакет cifs-utils.

Подробнее, процесс монтирования описан в инструкции Как в Linux монтировать шару CIFS.

SMB Browser

Также мы можем увидеть содержимое удаленных папок на samba при помощи клиента smb. Для начала установим данного клиента:

а) на Red Hat / CentOS / Fedora:

yum install samba-client

б) на Debian / Ubuntu / Mint:

apt-get install samba-client

После вводим команду:

smbclient -L 192.168.1.15 -U staff@dmosk.local

* где 192.168.1.15 — сервер samba, к которому мы пытаемся подключиться; staff@dmosk.local — учетная запись, под которой выполняется подключение.

… мы получим список каталогов, которые расшарены на сервере.

Также мы можем подключиться к конкретной папке, например:

smbclient \\192.168.1.15\ad -U staff@dmosk.local

Мы подключимся клиентом samba — можно выполнить запрос на показ содержимого:

smb: > ls

Или полный список возможных команд:

smb: > help

Некоторые опции Samba

Рассмотрим некоторые полезные опции, которые могут пригодится при настройке Samba.

1. hosts allow

Параметр задает список разрешенных хостов или сетей, с которых можно подключаться к серверу. Если его прописать в секцию с настройкой шары, то он будет действовать только для нее, если прописать в [global], то для всех общих папок.

Пример использования параметра.

hosts allow = comp1, 192.168.1., 192.168.160.0/255.255.252.0

* в нашем примере мы разрешим доступ только для компьютера comp1, компьютеров из сетей 192.168.1.0/24 и 192.168.160.0/22.

2. hosts deny

Параметр аналогичный hosts allow, только он наоборот — запрещает доступ для хостов и сетей. Например:

hosts deny = comp2, 192.168.2., 192.168.164.0/255.255.252.0

hosts deny = ALL EXCEPT 192.168.3.

3. interfaces

По умолчанию samba использует все сетевые интерфейсы, кроме локальной петли (127.0.0.1). Параметр interfaces позволит указать, на каком сетевом адаптере файловый сервер должен принимать запросы. Пример:

interfaces = ens32 192.168.1.15/24 192.168.2.15/255.255.255.0

4. Force User/Group

Опции force user и force group позволяют задать пользователя и группу, от которых будет работать подключение пользователя к samba. Параметр может оказаться полезным для создания шары из каталога с уже назначенным владельцем, которого мы не хотим менять.

Прописывается для шары:

force user = apache
force group = apache

* данная настройка позволит подключаться к шаре под пользователем apache.

5. Include

Позволяет подключить дополнительный файл с конфигурацией.

include = /etc/samba/conf.d/shares.conf

* данная опция будет дополнительно подключать конфигурацию из файла /etc/samba/conf.d/shares.conf (прописывается полный путь).

Читайте также

Возможно, эти инструкции будут также Вам полезны:

1. Установка и настройка samba в Linux CentOS.

2. Как настроить автоматическое монтирование дисков в Linux.

3. Настройка дисковых квот в Linux.

Монтирование сетевой папки в Linux | Ubuntu

07.08.2019

smb

Сегодня в статье рассмотрим пример как можно примонтировать сетевую папку Windows или Unix в операционную систему Linux.

В качестве подопытного будем использовать ПК с установленной на неё Ubuntu Server. Но данное руководство будет справедливо и для большинства других ОС на Linux.

Установка

Для работы c сетевыми дисками SMB/CIFS (Windows или Samba) нам понадобиться утилита cifs-utils. Для её установки открываем терминал и набираем следующую команду:

sudo apt-get install cifs-utils

Настройка

Далее потребуется создать директорию, куда мы хотим примонтировать нашу расшаренную сетевую папку. Для этого давайте наберем вот такую команду:

sudo mkdir /home/user/share

где

  • user — имя вашего пользователя
  • share — название директория куда будем монтировать нашу сетевую папку

Ручное монтирование сетевой папки

Далее набираем команду для монтирования нашей сетевой папки.


sudo mount -t cifs //myserver/share-name /home/user/share -o username=user2,password=parol,domain=mydomen

или

mount -t cifs //192.168.0.1/share-name /home/user/share -o username=user2,password=parol,domain=mydomen
  • //myserver/share-name — это путь до нашей шары в сети. Если используются русские буквы или пробел в имени сетевой папки, надо весь путь заключить в кавычки «//192.168.0.1/Мои документы«
  • /home/user/share — это наша директория куда мы будем производить монтирование.

Так же сразу можно задать права доступа и кодировку, тогда надо вписать следующие параметры:

mount -t cifs //192.168.0.1/share-name /home/user/share -o username=user2,password=parol,domain=mydomen,iocharset=utf8,file_mode=0777,dir_mode=0777
  • username — указываем имя пользователя на удаленном хосте (сервере)
  • password — указываем пароль пользователя user2
  • domain — название домена (рабочей группы), если необходимо
  • iocharset — указываем кодировку (utf8; cp1251; koi8-r)
  • file_mode — права доступа к файлам
  • dir_mode — права доступа к директории

Автоматическое монтирование сетевой папки при загрузки системы

Для упрощения и безопасности создадим файл, куда мы сможем вписать информацию о пользователе (логин, пароль, домен/рабочая группа). Набираем в терминале:

sudo nano /root/.smbuser
username=user2
password=parol
domain=mydomen

Для безопасности ограничим доступ к файлу:

sudo chmod 400 /root/.smbuser

Теперь необходимо отредактировать файл fstab. Открываем его в терминале и вписываем необходимую информацию:

sudo nano /etc/fstab
//192.168.0.1/share-name /home/user/share cifs credentials=/root/.smbuser 0 0
  • credentials — тут указываем путь до файла с нашими данными для входа.

Также если при попытки создать или удалить какие-либо файлы у Вас не хватает прав, то необходимо добавить uid и gid параметры.

//192.168.0.1/share-name /home/user/share cifs credentials=/root/.smbuser,uid=1000,gid=1000 0 0
  • uid и gid — цифра 1000 указывает на нашего пользователя для которого производим монтирование шары. Если у вас идентификатор отличается, то указываем свой.

Проверяем, работоспособность

mount -a

Если не было ошибок, то для проверки всё ли у нас примонтировалось наберем команду:

df -h

Если в выводе видим сетевую папку, то все хорошо. При следующей перезагрузки ПК, удаленная шара уже смонтируется автоматически.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо!!!

RSS

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

4.3
6
голоса

Рейтинг статьи

Содержание

  1. Подключение к папке Windows из Ubuntu по протоколу SMB
  2. Выдаем общий доступ к файлам на компьютере с Windows
  3. Добавляем компьютер в hosts на Ubuntu
  4. Подключение к папке Windows из Ubuntu. Вариант 1
  5. Подключение к папке Windows из Ubuntu. Вариант 2
  6. Надеемся у вас получилось подключение к папке Windows из Ubuntu
  7. Попробуй бесплатно наши курсы по Linux и devOPS на:yodo.im/start
  8. Ubuntu подключение к сетевой папке windows
  9. Установка CIFS
  10. Монтируем Windows Share (сетевой ресурс)
  11. Безопасность учетных данных при монтировании через CIFS
  12. Как сделать автоматическое монтирование общей папки Windows
  13. Как размонтировать общую папку CIFS
  14. Автор
  15. Возможно Вам будет это инетересно
  16. Разворачиваем TFTP сервер на Debian/Ubuntu
  17. Как посмотреть логи VMware vSphere ESXi через браузер
  18. Как сделать загрузочную флешку Linux Mint
  19. 7 thoughts on “Как подключить общую папку (сетевой ресурс, шару) Windows к Linux”
  20. Общий доступ к папкам в локальной сети между Ubuntu и Windows
  21. Общие папки в локальной сети в Ubuntu
  22. Метод 1. Общий доступ к папкам в локальной сети без пароля
  23. Разрешение на совместное использование в Убунту
  24. Шаг 2: Включение совместного доступа в Windows
  25. 2. Общий доступ к папкам в локальной сети в Ubuntu с помощью парольной защиты
  26. Что такое Самба?
  27. Инсталляция сервера Samba на Ubuntu
  28. Настройка сервера Samba в Ubuntu
  29. Создание системного пользователя для совместного использования файлов в сети
  30. Добавление нового пользователя Samba
  31. Общий доступ к папкам или файлам по сети
  32. Удаление общих папок
  33. Как смонтировать сетевую папку Windows/Samba в Linux
  34. Настройка автоматического монтирования сетевой папки в Linux

Подключение к папке Windows из Ubuntu по протоколу SMB

В сегодняшней статье речь пойдет о подключении к папке (файловому хранилищу) Windows (Samba) из Ubuntu 20.04 Long-Term Support (LTS)

Имеющаяся конфигурация: Компьютер с Windows 10 имеющий локальное доменное имя Halo и статический локальный IP адрес 172.16.0.3. Виртуальная машина с Ubuntu 20.04 и сетью в режиме моста. IP адрес 172.16.0.16.

Выдаем общий доступ к файлам на компьютере с Windows

Для начала убедитесь, что в настройках сетевых подключений у Вас стоит «Частная сеть» Это нужно для того, чтобы доступ работал правильно.snimok ekrana 2022 08 11 105350

Затем открываем проводник, вкладка этот компьютер, нажимаем правую кнопку мыши по необходимому диску (также работает и с отдельными папками) и нажимаем свойства.

snimok ekrana 2022 08 11 104949

Переходим в раздел Доступ, расширенные настройки общего доступа.

snimok ekrana 2022 08 11 105005

Нажимаем галочку открыть общий доступ, затем идем в разрешения и проставляем необходимые для себя права.

snimok ekrana 2022 08 11 105018

snimok ekrana 2022 08 11 105029

Затем применить и ещё раз применить. Также можно создать отдельного пользователя, для разграничения прав. Аналогично поступаю с диском E.

Продолжаем подключение к папке Windows из Ubuntu.

Добавляем компьютер в hosts на Ubuntu

Открываем терминал на Ctrl + Alt + T, вводим команду sudo gedit /etc/hosts делаем как на скриншоте. Используется табуляция (Tab), а не пробел.

snimok ekrana ot 2022 08 10 19 52 47

Этим мы пропишем локальное доменное имя компьютера, к которому будем подключаться к его IP адресу, т.к Ubuntu сама по себе не умеет в подобное, в отличие от Windows. Проверим через команду ping Halo. Всё работает как нам нужно.

snimok ekrana ot 2022 08 10 19 54 17

Подключение к папке Windows из Ubuntu. Вариант 1

Тут мы будем использовать cifs-utils для монтирования сетевой папки в любую папку на Ubuntu.

Устанавливаем пакет командой sudo apt install cifs-utils

snimok ekrana ot 2022 08 10 21 17 14

Командой ls проверяем, создалась ли папка.

snimok ekrana ot 2022 08 10 21 17 11

snimok ekrana ot 2022 08 10 21 18 13

snimok ekrana ot 2022 08 10 21 18 24

Названия папок замазаны, т.к это мой личный ПК и мои персональные данные.

Подключение к папке Windows из Ubuntu. Вариант 2

В файловом менеджере нажимаем «другие места»

snimok ekrana ot 2022 08 10 21 18 54

Вводим в нижнее поле команду smb://

Далее нас приветствует окно входа, вводим данные и пользуемся. Видит и D и E открытые, остальные некоторые глюки программы. На этом всё.

snimok ekrana ot 2022 08 10 21 19 08snimok ekrana ot 2022 08 10 21 19 14

Надеемся у вас получилось подключение к папке Windows из Ubuntu

Попробуй бесплатно наши курсы по Linux и devOPS на:yodo.im/start

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 4.5 / 5. Количество оценок: 2

Источник

Ubuntu подключение к сетевой папке windows

mount windows share on ubuntu or debian linux

CIFS (Common Internet File System) — это популярный протокол обмена файлами в Интернете. Этот протокол и позволит пользователям ОС Linux получить доступ к общей папке Windows.

CIFS — это реализация SMB (Server Message Block) — протокола, используемого для совместного использования сетевых файлов. Но он устарел.

В этой статье мы по шагам пройдем все этапы установки и настройки CIFS, чтобы подключиться к сетевому ресурсу Windows на ОС Linux.

Установка CIFS

Сейчас мы установим пакет cifs-utils на Ubuntu Linux (точно так же можно сделать на всех Debain-подобных ОС).

Сейчас мы разберем на примерах, как монтировать общую папку Windows вручную и автоматически.

Создадим на нашем Linux директорию, к которой мы будем монтировать сетевой ресурс. Назовем ее myshare и расположена она будет в каталоге /mnt

Сетевой ресурс (шара) Windows может быть примонтирован к ОС Ubuntu или Debian с помощью следующей команды:

WIN_HOST_IP — это IP адрес хоста Windows, на котором расположена общая папка

share — имя сетевого ресурса

user — наш пользователь и Passw0rd — пароль с которыми мы подключемся к шаре.

Если пользователь доменный, то необходимо в опциях (-o) указать домен.

По-умолчанию сетевой ресурс монтируется с полными правами (rwx или 777). Если Вы хотите установить иные права, используйте опции dir_mode и file_mode.

Так же Вы можете установить владельцев uid (id пользователя) и gid (id группы).

Безопасность учетных данных при монтировании через CIFS

В этом разделе опишем, как лучше всего передавать учетные данные (имя пользователя, пароль, домен) при монтировании сетевого ресурса к ОС на базе Линукс.

Создайте файл с учетными данными для cifs: /etc/cifs-credentials

Внутрь поместите следующее содержимое:

Задайте права для этого файла:

Теперь мы можем подключить общую папку такой командой:

Как сделать автоматическое монтирование общей папки Windows

В примерах выше, после того, как Вы перезагрузите свой ПК, сетевой ресурс не примонтируется. Поэтому сделаем так, чтобы шара подключалась автоматически. В Linux это делается через файл /etc/fstab. Откройте этот файл любимым редактором.

И добавьте такую строку:

Следующей командой запустим монтирование всех точек, описанных в /etc/fstab

Теперь наш удаленный сетевой ресурс будет доступен даже после перезагрузки.

Как размонтировать общую папку CIFS

Размонтирование производится таким же способом, как и обычно мы жто делаем с дисками:

Итак, в этой статье мы рассмотрели, как быстро примонтировать удаленную сетевую папку, которая находится на хосте с Windows, к нашему хосту на Linux с помощью CIFS. Если у Вас остались какие-либо вопросы, пожалуйста, пишите в комментариях.

Автор

Админ

Возможно Вам будет это инетересно

Разворачиваем TFTP сервер на Debian/Ubuntu

vshphere log 02

Как посмотреть логи VMware vSphere ESXi через браузер

etcher

Как сделать загрузочную флешку Linux Mint

7 thoughts on “Как подключить общую папку (сетевой ресурс, шару) Windows к Linux”

Все бы хорошо, но не успевает сетевуха поднять линк

[ 697.728246] CIFS: Attempting to mount //192.168.10.250/home
[ 700.739946] CIFS: Attempting to mount //192.168.10.250/Учебный_год_3В
[ 701.090973] CIFS: Attempting to mount //192.168.10.250/home/Drive/школа/English

вот вопрос, как бы заставить монтироваться после поднятия линка и получение адреса

ноут по wifi нормально отрабатывает, а системник с обычной сетевухой нет

Источник

Общий доступ к папкам в локальной сети между Ubuntu и Windows

12 212

У вас дома есть несколько устройств? Нужно ли использовать флэш-диск или SD-карту для переноса данных с Ubuntu на другой компьютер? Находите ли вы это раздражающим? Мы знаем, что это так. Поэтому мы не хотим, чтобы вы тратили свое драгоценное время, в то время как вы можете передавать свои файлы, документы и другие большие вещи быстро и легко, по локальной сети. Это одноразовая настройка, а затем с помощью нескольких щелчков мыши вы сможете обмениваться файлами между Ubuntu и Windows или любой другой системой Linux. И не волнуйтесь, это легко и займет всего немного времени.

Также стоит добавить, что это руководство должно быть полезно для любой версии ОС Linux.

Общие папки в локальной сети в Ubuntu

Если вы используете Ubuntu, есть два способа поделиться своими локальными файлами по локальной сети, чтобы получить доступ к ним с Windows или других компьютеров с Linux.

Мы рассмотрим оба метода в этой статье и дадим вам возможность решить, какой из них вы предпочитаете использовать.

Метод 1. Общий доступ к папкам в локальной сети без пароля

Вам придется выполнить некоторые настройки как в Windows, так и в Ubuntu.

Разрешение на совместное использование в Убунту

Чтобы предоставить общий доступ к папке в локальной сети в Ubuntu, щелкните правой кнопкой мыши нужную папку и выберите Локальный сетевой ресурс:

Share Folder Ubuntu

Не видите опцию локального сетевого ресурса?

Когда вы нажимаете на Локальный сетевой ресурс, вы увидите опцию общего доступа к папке. Просто отметьте опцию Общий доступ к этой папке:

Share Folder Ubuntu 1

Поиск и устранение неисправностей: Если у вас появится сообщение о том, что служба Sharing service не устанавливается, как показано на скриншоте ниже, просто нажмите кнопку Установить службу и следуйте инструкциям.

Share Folder Ubuntu 2

Когда вы отметите опцию Общий доступ к этой папке, вы увидите опцию Создать общий доступ, доступную для вас. Вы также можете разрешить другим пользователям редактировать файлы в общей папке. Также можно отметить опцию гостевого доступа.

Share folder Ubuntu 3

Вы увидите, что значок папки был изменен, чтобы показать, что она была совместно использована. Чтобы остановить общий доступ к папке, просто снимите флажок Общий доступ к этой папке.

Теперь нужно получить доступ к общей папке на машине Windows.

Шаг 2: Включение совместного доступа в Windows

В Windows щелкните правой кнопкой мыши на «Этот Компьютер» или «Мой компьютер» и выберите «Добавить новое соединение».

Adding new connection 1Добавление нового соединения

Нажмите на кнопку «Далее».

Adding new connection 2 2Добавление нового соединения

Теперь пришло время ввести адрес сервера и имя папки, к которой мы предоставили общий доступ. Пожалуйста, введите в следующем формате.

Вы можете найти адрес вашего сервера, т.е. IP-адрес машины с Linux, введя команду ip a.

В моем случае IP-адрес машины с Linux равен 192.168.0.102, а папка, к которой я предоставил общий доступ, является общей.

IP addressIp-адрес

Теперь добавьте местоположение следующим образом:

Entering server addressВвод адреса сервера

Теперь вы увидите этот экран, просто щелкните дальше.

Adding new connectionДобавление нового соединения

Теперь вы можете получить доступ к общей папке в разделе «Этот ПК» или «Мой компьютер» в разделе «Сетевое расположение».

New shared folderНовая общая папка

Это был простой способ. Он обеспечивает доступ к этим файлам любому человеку в вашей локальной сети.

По-хорошему вы должны предусмотреть это. Устройства в домашней сети должны быть общеизвестными. Но так может быть не всегда. Что, если вы хотите, чтобы к ним имели доступ только определенные люди?

Вот здесь и появляется Samba-сервер. Рассмотрим его во второй части урока.

2. Общий доступ к папкам в локальной сети в Ubuntu с помощью парольной защиты

Для этого нам необходимо настроить сервер Samba. На самом деле, мы использовали Samba в предыдущей части этого руководства. Мы просто не делали на этом акцент. Прежде чем мы перейдем к рассмотрению вопроса о том, как настроить Samba-сервер для совместного использования локальной сети в Ubuntu, давайте сначала посмотрим, чем на самом деле является Samba.

Что такое Самба?

Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколуSMB/CIFS. Имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущена под лицензией GPL.

Инсталляция сервера Samba на Ubuntu

Вы можете легко установить Samba на свою систему. Перед установкой обновите систему, чтобы можно было установить любые доступные обновления.

Теперь установите Samba server и несколько других необходимых вещей с помощью следующей команды:

После установки сервера Samba пришло время настроить Samba из окна графического интерфейса на общий доступ к файлам.

Настройка сервера Samba в Ubuntu

Откройте инструмент Samba Configuration из тире:

Setup Samba

В Параметрах сервера у вас есть две вкладки, ‘Basic’ и ‘Security’. В закладке Basic у вас есть следующие опции:

Разрешение ‘Гости’ не рекомендуется, поэтому нет причин изменять настройки безопасности. Оставьте все как есть.

Samba Security Settings compressed

Готово! Вы установили Samba-сервер. Мы недалеко от того, чтобы поделиться нашей первой папкой в сети.

Создание системного пользователя для совместного использования файлов в сети

Теперь мы создадим системного пользователя для совместного использования файлов в сети. Это очень просто.

Теперь, как вы видите на изображении выше, вы можете ввести «Полное имя». При вводе ‘Полное имя’ Имя пользователя будет автоматически воспринято как ‘Полное имя’. Потому что мы создаем этого пользователя для совместного использования файлов, поэтому мы назначим тип аккаунта ‘Стандартный’.

Выполнили шаги, описанные выше? Идем дальше. Нажмите «Добавить».

Вы создали пользователя системы. Пользователь еще не активирован, поэтому мы активируем его, установив пароль для этой учетной записи. Убедитесь, что панель учетных записей пользователей разблокирована. Нажмите Аккаунт отключен и введите новый пароль, затем подтвердите пароль и нажмите Изменить.

activate system user

Отлично! Мы установили и настроили Samba, мы создали системного пользователя для обмена файлами в сети с этой учетной записи, и мы активировали нашу только что созданную учетную запись. Теперь мы перейдем на Samba для последнего шага настройки общего доступа, затем мы предоставим общий доступ к папке.

Добавление нового пользователя Samba

Откройте Samba и нажмите Samba Users в разделе Preferences (Предпочтения). Заполните простую форму. Вот пара подробностей о полях формы:

samba user setting

После того, как вы закончите, нажмите OK. Теперь сделайте глубокий вдох. Вы успешно создали сеть с помощью Samba. Теперь перезапустите сеть или службы Samba и будьте готовы к обмену файлами с другими компьютерами.

Общий доступ к папкам или файлам по сети

Обмениваться файлами с Samba очень просто с помощью графического интерфейса пользователя. Нажмите на иконку «Плюс» в Samba и вы получите такой диалог:

share files and folders

Заполните поля. В ‘Directory’ выберите папку, к которой вы хотите предоставить общий доступ. Здесь вы найдете подробную информацию о полях, которые увидите:

Теперь вы можете установить разрешения для папки, к которой вы предоставляете общий доступ. Для этого перейдите на вкладку «Доступ» и отметьте пользователей, которым вы хотите предоставить общий доступ к папке. Когда вы выберете Разрешить доступ всем, папка будет доступна всем в сети.

Screenshot from 2015 02 28 202031

Наконец, нажмите OK для завершения обмена. Теперь папка открыта всем желающим. Вы завершили предоставление общего доступа к папке в сети. И все? Да! А как удалить папки из сети?

Удаление общих папок

Нам также иногда нужно будет удалить некоторые папки через некоторое время из сети. Это очень просто, и вот как мы можем это сделать.

remove shared folder from network

Готово! Мы также можем обмениваться файлами по сети с помощью терминала, но это настраивается не так просто, как это было в графическом интерфейсе. Если вы зададите вопросы по доступу к файлам из командной строки, то я напишу учебное пособие о том, как обмениваться файлами по сети с помощью терминала в Linux.

Итак, как вам небольшое руководство о том, как делиться файлами по локальной сети в Linux? Я надеюсь, что с помощью него вы сможете легко обмениваться файлами между Ubuntu и Windows. Если у вас есть вопросы или предложения, не стесняйтесь задавать их в поле для комментариев ниже.

Источник

Как смонтировать сетевую папку Windows/Samba в Linux

Сетевая папка Windows может быть доступна в файловых менеджерах Linux как любая другая локальная папка. Для этого её нужно смонтировать. После монтирования не придётся использовать консоль для просмотра списка файлов и скачивания или закачивания файлов.

Начните с установки пакета cifs-utils.

В Debian, Linux Mint, Ubuntu, Kali Linux и производных выполните:

В Arch Linux, BlackArch и производных выполните:

Предыдущие команды smbtree и smbclient понимали имена компьютеров Windows, такие имена как HACKWARE-MIAL. Монтирование выполняется с помощью команды mount, которая такие имена не умеет обрабатывать без помощи преобразования имён DNS. Поэтому при монтировании можно либо:

В общем, в любом случае настройте в роутере или в самой Windows постоянный локальный IP.

Если вы хотите настроить преобразование имён с помощью файла /etc/hosts, то откройте его:

И добавьте туда запись вида

Например, у меня IP_АДРЕС это 192.168.0.101, а именем компьютера является HACKWARE-MIAL, тогда я добавляю следующую запись:

Пингуем по имени компьютера Windows, чтобы убедиться, что всё сработало:

Теперь нам нужно создать точку монтирования — папку, где появятся файлы из шары. Я создаю папку /mnt/share:

Чтобы не возникало проблем с правами доступа, папка, куда монтируется шара (например, /mnt/share/), должна принадлежать текущему пользователю Linux — если вы создавали папку без sudo, то она уже принадлежит обычному пользователю. Но если вы создавали папку с sudo (например, иначе это невозможно сделать в /mnt/), то вам нужно поменять её владельца командой вида::

Например, чтобы поменять владельца папки /mnt/share/ на текущего пользователя:

Теперь для монтирования сетевой шары Windows нужно запустить команду вида:

В этой команде вы должны вставить свои значения для

Значение других элементов команды:

К примеру, путь до сетевой шары у меня //HACKWARE-MIAL/Share, её я хочу смотрировать в папку /mnt/share, тогда команда будет следующей:

Вид сетевой папки Windows в Double Commander:

windows share

Вид сетевой папки в стандартном проводнике Linux:

windows share linux 2

Для размонтирования нужно запустить следующую команду (укажите либо точку монтирования, либо ресурсы, который был смонтирован):

Напомню, что в предыдущей части я не только настроил папку для входа без пароля, но на том же самом компьютере и настроил вторую папку с именем ShareRestricted. У этой папки владелец ShareOverlord, а пароль для входа 1234. Для подключения папки, доступ к которой возможен только по паролю, используется та же самая команда, но нужно указать реальные учётные данные:

Чуть дальше очень похожий набор опций, в том числе пароль в открытом виде, мы будем использовать в файле /etc/fstab для настройки автоматического монтирования сетевой папки. Файл /etc/fstab доступен для чтения всем а, следовательно, также доступен всем ваш пароль от Windows в нём. Чтобы обойти эту проблему, можно использовать файл с учётными данными. Это файл содержит только имя пользователя и пароль.

Используя текстовый редактор, создайте файл с учётными данными для входа на ваш удалённый сервер:

В этот файл введите имя пользователя и пароль от Windows:

В моём примере это:

Сохраните файл и закройте редактор.

Измените права доступа к этому файлу, чтобы предотвратить нежелательный доступ к вашим учётным данным:

Посмотрите абсолютный путь до этого файла:

В моём случае абсолютный путь:

Теперь вместо двух опций:

нужно использовать одну опцию, в качестве значения которой нужно указать абсолютный путь до файла с логином и паролем:

Моя команда стала выглядеть так:

Настройка автоматического монтирования сетевой папки в Linux

Автоматически монтируемые файловые системы прописываются в файле /etc/fstab. Откроем этот файл:

Теперь в него нужно добавить строку вида:

Мы добавили опцию nofail, чтобы ОС нормально загружалась даже если не удалось смонтировать данную файловую систему. Ещё добавьте опцию _netdev, эта опция означает, что файловая система находится на устройстве, которому требуется доступ к сети (используется для предотвращения попыток системы смонтировать эти файловые системы до тех пор, пока в системе не будет включена сеть).

Для моего примера это строка:

Сохраним и закроем этот файл. Для проверки выполним:

Если сетевая папка успешно смонтировалась, значит можно выполнить проверку перезагрузкой.

Если нужно смонтировать папку для входа в которую не требуется пароль, то используйте в качестве опции учётные данные «username=guest,password=»:

Либо можно по-прежнему использовать файл .smbcredentials, как это было показано выше:

/.smbcredentials запишите следующее:

Источник

Понравилась статья? Поделить с друзьями:
  • Ubuntu server на виртуальной машине под windows
  • Ubuntu server ввод в домен windows
  • Ubuntu server ввести в домен windows
  • Ubuntu samba windows не может получить доступ
  • Ubuntu samba connect to windows share