В разных компаниях чаще всего компьютерные сети построены с использованием серверных версий Windows. Работать в таких сетях на компьютере с Ubuntu вполне можно. В этой статье полезная информация, описание настроек.
В статью внесены правки, всё сказанное актуально для Ubuntu версии 20.04.
Пользователи
При таком раскладе будет как минимум два вида пользователей:
- Пользователи непосредственно у вас на компьютере. Вы создаёте первого пользователя, когда устанавливаете Ubuntu. Под ним вы работаете у себя на компьютере.
- Пользователи сети 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. Тогда во всяких файловых менеджерах, вроде «Файлы», Double Commander и т.д. вы будете сразу видеть эти ресурсы. С ними удобно будет работать. Также, как и с обычным каталогами на локальном диске. Не надо будет вводить пароль и прочее.
Монтировать сетевые ресурсы лучше через файл /etc/fstab
. Здесь всё это можно настроить один раз и забыть. Работает очень стабильно. Я у себя на рабочем компьютере последний раз открывал этот файл более года назад.
Пример подключения сетевого каталога:
//company-diskstation/dir /mnt/company/diskstation cifs credentials=/home/kornev/.smbuser,uid=1000 0 0
Здесь:
//company-diskstation/dir
— сетевой ресурс SMB вместе с подкаталогом./mnt/company/diskstation
— каталог на локальном диске, куда он будет смонтирован./home/kornev/.smbuser
— файл, в котором записаны данные для доступа (см. ниже).uid=1000
— id пользователя у вас на компьютере (см. ниже).
Файл /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
Принтер и МФУ
С сетевыми принтерами всё очень просто. Доступные в сети принтеры у вас сами появятся в настройках. Необходимо только выбрать, какой из них вы хотите использовать по умолчанию.
У меня компьютер работает без выключения днями, иногда неделями. При этом часто бывает, что я отправляю на печать, но печать не идёт. В активных заданиях видно, что печать документов приостановлена. Иногда видно сообщение «No suitable destination host found by cups-browsed». Не знаю, связанно ли это как-то с проблемой.
Для быстрого решения можно перезапустить компьютер и тогда печать сразу будет работать. Если не торопиться, то можно подождать, через некоторое время документы все же распечатаются. Ещё одно быстрое решение:
sudo systemctl stop cups-browsed
sudo systemctl start cups-browsed
Либо:
sudo systemctl restart cups-browsed
Если принтер — это МФУ и требуется на нём сканировать, то необходимо выполнить дополнительные настройки. Суть в том, что после сканирования готовые документы должны куда-то складываться. Обычно это настраивается через веб-интерфейс МФУ. Куда складывать?
- Это может быть каталог вашего пользователя в сети. Тогда вам ничего делать не нужно, настройка такой работы – это забота администратора. Вы только можете смонтировать свой каталог, как было описано выше, чтобы вам проще было работать с отсканированными документами.
- Второй вариант – это настроить у себя на компьютере каталог с доступом по SMB или FTP. Мне больше нравится вариант с SMB. Не использую FTP нигде очень давно.
Устанавливаем 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
Если администратор со свой стороны все настроил, то можно пользоваться: