Ubuntu в сети Windows

Дмитрий Корнев
17 февраля 2020

В разных компаниях чаще всего компьютерные сети построены с использованием серверных версий Windows. Работать в таких сетях на компьютере с Ubuntu вполне можно. В этой статье полезная информация, описание настроек.

В статью внесены правки, всё сказанное актуально для Ubuntu версии 20.04.

Пользователи

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

  1. Пользователи непосредственно у вас на компьютере. Вы создаёте первого пользователя, когда устанавливаете Ubuntu. Под ним вы работаете у себя на компьютере.
  2. Пользователи сети Windows. Для вас такого пользователя заводит системный администратор компании. Используя данные этого пользователя вы получаете доступ к сети компании. Уровень доступа этого пользователя в сети определяется администратором. Кроме каких-то общих сетевых ресурсов у вас скорее всего будет личный каталог и т.д.

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

Работа в сети

Полное правильное название сетей Windows – это «Microsoft Windows Network», в русском языке – «Сети Microsoft Windows». Работа с такими сетями осуществляется с использованием протокола SMB (Server Message Block). Ранее протокол имел название CIFS (Common Internet File System). С его помощью можно получить удалённый доступ не только к файлам, но и принтерам.

Файловый менеджер Ubuntu под названием «Файлы» довольно функционален. Он умеет работать по протоколу SMB. Для открытия сетевого ресурса нажмите «Другие места» и внизу вы увидите поле, куда нужно ввести адрес для подключения, можно ввести например:

smb://company-diskstation/dir

В случае необходимости у вас будут запрошены данные для доступа — имя пользователя, пароль, домен.

Файловый менеджер Ubuntu под названием «Файлы»

Обычно в компаниях организованы какие-то общие хранилища, куда имеют доступ пользователи и где находится личный каталог. Такие хранилища удобно монтировать сразу при запуске Ubuntu. Тогда во всяких файловых менеджерах, вроде «Файлы», Double Commander и т.д. вы будете сразу видеть эти ресурсы. С ними удобно будет работать. Также, как и с обычным каталогами на локальном диске. Не надо будет вводить пароль и прочее.

Монтировать сетевые ресурсы лучше через файл /etc/fstab. Здесь всё это можно настроить один раз и забыть. Работает очень стабильно. Я у себя на рабочем компьютере последний раз открывал этот файл более года назад.

Пример подключения сетевого каталога:

//company-diskstation/dir /mnt/company/diskstation cifs credentials=/home/kornev/.smbuser,uid=1000 0 0

Здесь:

Файл /home/kornev/.smbuser не является обязательным. Это для удобства. Чтобы не писать каждый раз одни и те же данные. Ведь подобных строчек для подключения сетевых ресурсов может быть много. А еще этот же файл можно будет использовать из разных скриптов, которые тоже подключаются к SMB-ресурсам. Понадобится потом изменить данные доступа, это придется сделать только один раз, в этом файле.

Файл может иметь любое имя и расположение, внутри:

username=имя_пользователя_windows
password=пароль_пользователя_windows
domain=WORKGROUP

Что касается id пользователя. Это необходимо, чтобы сетевой ресурс монтировался в нормальном режиме, чтобы мы могли с ним полноценно работать. Без этого у меня получался режим «только чтение». Есть ещё gid=1000 – параметр id группы, который тоже можно добавить. Но у меня и без него все работало.

Узнать uid и gid для пользователя kornev можно командами:

id -u kornev
id -g kornev

Пример скрипта script.sh, с подключением и отключением ресурса SMB:

#!/bin/bash

# Переменные
dir_local=/mnt/work_dir
dir_smb=//remote/dir/in/windows/network

# Подключение
/sbin/mount.cifs $dir_smb $dir_local -o credentials=/home/kornev/.smbuser,uid=1000 0 0

# Запуск некой обработки

# Отключение
umount $dir_local

Принтер и МФУ

С сетевыми принтерами всё очень просто. Доступные в сети принтеры у вас сами появятся в настройках. Необходимо только выбрать, какой из них вы хотите использовать по умолчанию.

Сетевые принтеры в Ubuntu

У меня компьютер работает без выключения днями, иногда неделями. При этом часто бывает, что я отправляю на печать, но печать не идёт. В активных заданиях видно, что печать документов приостановлена. Иногда видно сообщение «No suitable destination host found by cups-browsed». Не знаю, связанно ли это как-то с проблемой.

Для быстрого решения можно перезапустить компьютер и тогда печать сразу будет работать. Если не торопиться, то можно подождать, через некоторое время документы все же распечатаются. Ещё одно быстрое решение:

sudo systemctl stop cups-browsed
sudo systemctl start cups-browsed

Либо:

sudo systemctl restart cups-browsed

Если принтер — это МФУ и требуется на нём сканировать, то необходимо выполнить дополнительные настройки. Суть в том, что после сканирования готовые документы должны куда-то складываться. Обычно это настраивается через веб-интерфейс МФУ. Куда складывать?

Устанавливаем Samba, если ещё не установлена:

sudo apt install samba

Лучше создать нового отдельного пользователя специально для этих нужд, данные которого потом сообщить администратору. Он внесёт их в МФУ.

Назовём этого пользователя share-user:

sudo useradd -d /dev/null share-user

Задаём пароль этому пользователю, иначе он будет недоступен:

sudo passwd share-user

Пользователя и пароль также внесём в базу данных Samba:

sudo smbpasswd -a share-user

Каталог у себя на компьютере, например /mnt/company/kornev_share, создавайте от имени и группы этого пользователя.

Пример конфига /etc/samba/smb.conf:

[global]
security = user
passdb backend = tdbsam
workgroup = WORKGROUP
server min protocol = NT1
server string = MyPC Samba

[kornev_share]
path = /mnt/company/kornev_share
valid users = @share-user
force group = share-user
create mask = 0771
directory mask = 0771
writable = yes

Здесь стоит обратить внимание на параметр server min protocol = NT1. Дело в том, что есть разные версии протокола SMB. Часто бывает, что даже не сильно старые МФУ не поддерживают новые версии протокола. Данным параметрам мы разрешаем подключение с использованием SMB v1. Попробуйте. Если без этого параметра у вас всё будет работать, то лучше не ставить его.

Перезапуск Samba для применения изменений:

sudo service smbd restart

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

МФУ с доступом по SMB к вашему компьютеру

Комментарии