- Ubuntu 18.04 — настройка сети c Windows
- Подключение Ubuntu 18.04 к локальной сети Windows
- Ubuntu 18.04 share folder в локальную сеть Windows
- Сопутствующие статьи
- Другие статьи про Ubuntu 18.04
- Как подключить сетевой диск Windows в Linux
- Как быстро подмонтировать сетевой диск в Linux
- Онлайн курсы по Mikrotik
- Помогла статья? Подписывайся на telegram канал автора
- Автор Zerox
- 18 комментариев
Ubuntu 18.04 — настройка сети c Windows
Настройка сети
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
Опубликовано: 02.06.2018 Последнее обновление этой статьи: 02.06.2018
Инструкция по настройке локальной сети между Ubuntu 18.04 и Windows.
Ранее я уже написал несколько статей на тему настройки гетерогенной локальной сети (гетерогенная это сеть между разными ОС).
В этой статье будет в основном повторение того, что уже было написано ранее, но без такой детализации как в этих статьях и с привязкой к версии Ubuntu 18.04.
Подключение Ubuntu 18.04 к локальной сети Windows
Уже несколько лет, с тех пор как в Ubuntu используется файловый менеджер Наутилус 3 версии (сейчас он называется «Файлы»), существует косяк в браузере локальной сети Наутилуса. Если открыть Наутилус и в нем открыть вкладку «Другие места» и затем «Сеть Windows», то будет пустая страница:
То есть Наутилус не выполняет автоматическое подключение в рабочей группе Windows. Удивительно, но этот косяк переходит из версии в версию и до сих пор не исправлен.
Тем не менее, Наутилус может подключаться к компьютерам Windows в локальной сети. Для этого нужно вручную, в адресной строке Наутилуса, вписать имя рабочей группы Windows или имя компьютера Windows. Для ввода текста, в адресной строке Наутилуса, нужно нажать клавиши Ctrl + L.
Адрес с именем рабочей группы (smb://workgroup):
После ввода адреса и нажатия Enter, Наутилус подключится к локальной сети Windows и выдаст запрос на авторизацию:
Запрос на авторизацию будет в любом случае, даже если на компьютере Windows настроен вход без пароля. В этом случае нужно вписать произвольные имя пользователя и пароль (например 1 и 1). Но если на компьютере Windows настроен вход по паролю, тогда конечно нужно вводить имя и пароль, которые существуют на компьютере Windows.
Примечание. Если на компьютере Windows настроен вход без пароля, а в окне авторизации Наутилус вы напишите такое имя пользователя которое существует на компьютере Windows, тогда и пароль нужно будет указывать тот, который есть для этого пользователя. Есть такая особенность в авторизации Windows через локальную сеть — несмотря на настройку входа без пароля, Windows не дает сетевой вход с таким именем пользователя, которое существует на этом компьютере, если указан неверный пароль.
И после авторизации, Наутилус покажет список компьютеров в этой рабочей группе.
Вместо адреса рабочей группы, можно сразу написать адрес компьютера в этой группе (например smb://home):
После подключения к компьютеру Windows, этот адрес можно добавить в закладки Избранное:
И впоследствии подключаться через закладку в Избранном.
Подключиться к компьютеру Windows можно не только по его имени, но и по его IP-адресу (smb://192.168.1.3).
Конечно это неудобно, потому, что нужно узнавать имя рабочей группы или имя (или IP-адрес) компьютера в локальной сети.
Ubuntu 18.04 share folder в локальную сеть Windows
Раздача собственных ресурсов Ubuntu 18.04 (файлов и принтеров) в локальную сеть Windows выполняется так же как в предыдущих версиях.
Нужно открыть свойства папки в Наутилус (Файлы), и там открыть вкладку «Общедоступная папка локальной сети»:
И на этой вкладке включить опцию «Опубликовать эту папку».
Из коробки, в Ubuntu 18.04, Samba не установлена. И при расшаривании самой первой папки будет запрос на установку Samba:
Затем еще один запрос:
После установки Samba можно расшаривать папки:
Поле «Наименование» — здесь можно вписать имя, под которым папка будет видна в локальной сети. По умолчанию используется имя самой папки. Но если имя папки на кириллице, то для сети лучше вписать имя латиницей.
И две опции, которые дают удаленным пользователям полный доступ к файлам в этой папке.
После установки опций, нужно нажать кнопку «Применить».
Если вы хотите дать полный доступ к файлам в этой папке, тогда нужно еще изменить права доступа к этой папке. Это вкладка «Права»:
Для группы «Остальные» нужно дать права «Создание и удаление». А также нажать кнопку «Изменить права на вложенные файлы» и там тоже дать права полного доступа:
После этого, с других компьютеров (как Windows так и Linux), можно будет через сеть войти в эту папку и получить полный доступ к файлам.
Все расшаренные через Наутилус папки перечислены в папке /var/lib/samba/usershares.
Однако останется еще одна проблема. Если в этой папке будет создан файл с другого компьютера (через сеть), тогда этот файл получит владельца nobody и группу nogroup:
А это значит, что локальный пользователь Ubuntu не сможет редактировать или удалить этот файл!
Для предотвращения такой проблемы нужно вручную редактировать файл глобальных настроек Samba /etc/samba/smb.conf, например в терминале можно написать команду «sudo gedit /etc/samba/smb.conf«.
В этом файле, в конце, нужно создать секцию для расшаренной папки:
[pictures]
path = /home/user/Изображения
guest ok = yes
read only = no
И нужно выбрать вариант настроек для создания файлов и папок через сеть.
- create mask = 0777
- directory mask = 0777
В этом случае файл (папка) получат владельца nobody и группу nogroup, но для группы «Остальные» будут даны полные права доступа. То есть любой локальный пользователь Ubuntu будет иметь доступ к этому файлу.
Или другой вариант:
- force user = user name
- force group = user group
В этом случае файл (папка) получат владельца и группу указанного локального пользователя. То есть иметь доступ к этому файлу будет только тот локальный пользователь Ubuntu в домашней папке которого расположена сетевая (расшаренная) папка.
Выбор варианта зависит от конфигурации Ubuntu. Если есть лишь один локальный пользователь, тогда можно использовать второй вариант.
Если же несколько локальных пользователей и эта сетевая папка должна быть доступна для всех, тогда первый вариант.
Сопутствующие статьи
- Samba — как расшарить папку — в этой статье более подробно рассмотрен вопрос настройки Samba.
- Настройка LAN между Ubuntu Linux и Windows — в этой статье, описана настройка сети Ubuntu и Windows с «обоих сторон».
- Установка расширений GNOME Shell
- Описание Gnome Shell
Другие статьи про Ubuntu 18.04
Если вы живете в г. Краснодар и вам необходимо настроить локальную сеть в Linux
Иван Сухов, 2018, 2019 г.
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
Как подключить сетевой диск Windows в Linux
Поддержку сетевых дисков Windows в Linux обеспечивает пакет cifs-utils. Если он у вас еще не установлен, в командной строке от имени суперпользователя введите
apt-get install cifs-utils
Эта команда проверит, установлен ли указанный пакет и, если нет, установит его.
Создайте в /mnt (или любом другом месте) папку, в которую мы будем подключать сетевой диск Windows:
И наконец само подключение сетевой папки Windows в Linux выполняется с помощью команды mount.cifs
mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o username=WIN_USER_NAME,password=WIN_USER_PASSWORD
Такая команда выполнит присоединение к фаловой системе Linux сетевого диска Windows с именем SHARE_NAME, расположенного на сервере с IP-адресом SERVER_IP от имени WIN_USER_NAME с паролем WIN_USER_PASSWORD. Следует понимать, что на стороне Windows уже логичным образом указанная папка должна быть расшарена и права на доступ к ней должны принадлежать указанному пользователю.
В большинстве случаев этого достаточно, если вы работаете от лица суперпользователя. Если же вы от лица суперпользователя производите только подключение сетевой папки Windows, а работать с ней планируете от лица обычного, непривелегированного пользователя, то в качестве опции команде mount.cifs необходимо передать значения UID и GID этого пользователя, иначе, скорее всего, вам не будут доступны операции редактирования файлов и каталогов. Получить UID и GID пользователя можно командой:
grep MY_USER_NAME /etc/passwd
Подставив вместо MY_USER_NAME имя пользователя, под которым вы работаете в Linux, вы получите примерно следующую строчку:
где 3-е и 4-е поле как раз указывают на UID и GID пользователя MY_USER_NAME. Теперь просто подставим полученные значения в качестве дополнительных аргументов команды mount.cifs:
mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o username=WIN_USER_NAME,password=WIN_USER_PASSWORD,uid=1000,gid=1000
где uid=1000,gid=1000 — uid и gid, полученные из примера выше.
Напротив, если сетевой диск публичен, и для доступа к нему не нужен ни логин ни пароль, в опциях вместо имени пользователя и его пароля необходимо указать, что доступ является гостевым:
mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o guest
И наконец, чтобы в Linux автоматически подключать сетевую папку после перезагрузки, вносим соответствующую информацию в /etc/fstab (дописываем в конец файла):
//SERVER_IP/SHARE_NAME /MOUNT_POINT_PATH cifs ALL_OPTIONS 0 0
Т.е. должно получиться что-то вроде
//192.168.0.1/share /mnt/winshare cifs user=WIN_USER_NAME,password=WIN_USER_PASSWORD,uid=1000,gid=1000 0 0
Вы скажите, что это плохо — хранить пароль в открытом виде в файле, доступном для чтения всем, и будете правы. К счастью, разработчики об это позаботились. Создаем файл с помощью редактора, например, nano:
nano /etc/credentials #имя файла может быть любым
Делаем его доступным для чтения и записи только для пользователя root:
chmod 600 /etc/credentials #указывайте файл, который создавали вы
и вместо всей обвязки из имен и паролей просто пишем в опциях credentials=/etc/credentials (или тот файл, который вы создали). Эта опция работает как при ручном монтировании сетевого диска Windows
mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o credentials=/etc/credentials,uid=1000,gid=1000
так и автоматическом, при внесении записи в /etc/fstab (из примера выше):
//192.168.0.1/share /mnt/winshare cifs credentials=/etc/credentials,uid=1000,gid=1000 0 0
Примечание. Если вы используете дистрибутив, основанный на SystemD (Debian версии 8 и выше, Ubuntu версии 15.04 и выше, Fedora, ArchLinux. ), применение файла /etc/fstab для автоматического монтирования файловых систем является нежелательным, так как SystemD использует несколько другой механизм для монтирования файловых систем, хотя он и обратно совместим с /etc/fstab. Узнать, как можно использовать возможности SystemD для монтирования файловых систем можно в статье SystemD Automount
Как быстро подмонтировать сетевой диск в Linux
Иногда нужно быстро подмонтировать к Linux сетевую шару Windows. Делается это очень просто одной командой в консоли с помощью mount -t cifs.
10.1.5.43 | адрес шары |
/mnt/documents | точка монтирования |
user1 | пользователь с доступом к шаре |
pass123 | пароль пользователя |
Если получаете ошибку примерно такого содержания:
Установите пакет cifs-utils:
Debian/Ubuntu | # apt-get install -y cifs-utils |
Centos/RHEL | # yum install -y cifs-utils |
После этого должно монтироваться нормально, если нет других ошибок.
Чтобы подмонтировать виндовую шару навечно, надо отредактировать fstab:
Вот и все, после перезагрузки шара будет автоматически монтироваться.
Онлайн курсы по Mikrotik
Помогла статья? Подписывайся на telegram канал автора
Автор Zerox
18 комментариев
Добрый день, были ли у вас проблемы в монтировании шары в CentOS 8, а именно в моём случае если к шаре в течении получаса не было обращений, то он как бы отключается, и становится не доступна (настроена через fstab), причём если перезагрузиться то всё снова успешно монтируется.
Надо признать, что если тоже самое повторить в CentOS 7 — то там не таких проблем, шара живёт вечно :/
Не сталкивался с таким. Правда я и шары очень редко подключаю к linux серверам. А что конкретно происходит, когда шара недоступна? Она в системе остается? Какая ошибка при обращении к ней?
Как смонтировать папку тольк для чтения ?
Все объекты, что в шаре, стали иметь владельца root)))
Даже если монтировать через sudo.
Спасибо тебе большое , добрый человек, за правильную команду mount -t cifs //10.1.5.43/documents /mnt/documents -o user=user1,password=pass123 .
При попытке использовать опции -t и -o получаем отлуп — только рут может использовать данные ключи.
Как обойти это при монтировании смб-шары пользователем с обычными правами?
Внесу, пожалуй, свои 5 копеек:
1) Монтирование шары через fstab — не по феншую, ввиду наличия проблем с загрузкой, в случае недоступности шары. Давно уже придуманы systemd mount-unit’ы — они позволяют монтироваться автоматически, при обращении к шаре или, если это требуется, монтироваться после инициализации сети (aka network-online.target).
2) Замечу так же, что для получения нормальной скорости, при переходе на 4-ю версию самбы, требуется фиксить версии используемых протоколов. В противном случае получим значительный просад по скорости. Конфиги при этом требуется править как на сервере, так и на клиенте указывая минимальную версию протокола — SMB2. Примерно так:
server min protocol = SMB2
server max protocol = SMB3
client min protocol = SMB2
client max protocol = SMB3
min protocol = SMB2
max protocol = SMB3
client ipc min protocol = SMB2
В случае монтирования из консоли, так же лучше указать это в опциях, пример:
sudo mount \
-t cifs //10.1.5.43/documents /mnt/documents \
-o uid=$(id -u),gid=$(id -g),rw,vers=3.0,user=user1,password=pass123
где `vers=3.0` — версия протокола
Спасибо за содержательное и полезное дополнение. Сразу ответили на вопрос, который давно у меня зрел в голове, но никак не доходили руки уточнить. Как явно указать использовать определенную версию протокола smb.
Вы уверены что надо так: \\10.1.5.43\documents .
а не так: //10.1.5.43/documents
Пробовал у себя как у Вас в примере написано, не заработало, повернул слеши и шара подцепилась.
Правда у меня не CentOS, а Mageia, но fstab думаю и в Африке fstab :))
Спасибо за замечание. Вы правы, слеши должны быть в другую сторону, как и в команде на ручное монтирование. Это была ошибка.
Добрый день! Подскажите пож-та, может сталкивались с такой проблемой и решили её: Есть Ubuntu 18.04 Gui gnome, введена в домен AD, логинятся доменные пользователи. Доступ залогиненных доменных пользователей к обменной папке на win2008r2 производится следующим образом: через nautilus-> другие места-> smb://server/obmen. В Nautilus появляется примонтированный obmen. Нажимаю ПКМ и добавляю в закладки(закладка останется в списке постоянно). Но при интенсивной работе c файлами в обменнике, он периодически отваливается с одной из двух ошибок: 1. Не удалось показать «server-11(smb)». Неизвестный тип файла 2. Ой, что-то пошло не так. Недостаточно прав для получения доступа к запрошенному адресу. Если выполнить smbclient -L server, то папку obmen видно. К папкам на других серверах доступ остаётся. В smb.conf вписал client max protocol = NT1. Есть подозрение, что проблема кроется в libreoffice, который не совсем корректно работает с файлами по сети. Как можно примонтировать сетевую папку скриптом в автозагрузке доменного пользователя, чтобы была сквозная доменная авторизация(пароли доменных пользователей меняются раз два месяца) т.к. нет возможности явно указать пароли в fstab?
Думаю, что тут стоит копать проблему и разбираться, почему сетевой диск отваливается. По автозагрузке ничего не скажу, я такой кейс не эксплуатировал ни разу.
Команда для автоматического монтирования не сработала. Добавил в /etc/fstab. Подскажите в чем может быть проблема. Может какие-то логи можно посмотреть?
В логах должна отразиться ошибка. Если через fstab совсем не получается и не понятно почему, а через консоль монтирует, то можно команду для монтирования через консоль просто добавить в /etc/rc.local Эффект будет тот же самый.
слеши в начале строчки разверни в другую сторону, по линуксовому =)