Windows сервер под управлением linux

Руководство по установке Windows Server

Подсистема Windows для Linux (WSL) доступна для установки на Windows Server 2019 (версия 1709) и более поздних версий. В этом руководстве рассматриваются действия по включению WSL на компьютере.

Установка WSL в Windows Server 2022

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

Теперь вы можете установить все необходимые компоненты для запуска WSL в Windows Server 2022. Для этого введите эту команду в PowerShell от имени администратора или в командной строке Windows и перезапустите компьютер.

Эта команда позволяет включить необходимые дополнительные компоненты, скачать последнюю версию ядра Linux, установить WSL 2 в качестве компонента по умолчанию и установить дистрибутив Linux (по умолчанию Ubuntu).

Из стандартной документации по WSL вы узнаете, как выполнять следующие задачи:

Установка WSL в предыдущих версиях Windows Server

Чтобы установить WSL в Windows Server 2019 (версия 1709+), выполните действия, описанные ниже.

Включение подсистемы Windows для Linux

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

Запустите PowerShell от имени администратора и выполните следующую команду:

Скачивание дистрибутива Linux

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

Извлечение и установка дистрибутива Linux

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

Извлеките содержимое пакета .appx , с помощью PowerShell:

После скачивания дистрибутива перейдите к папке со скачанным файлом и выполните следующую команду в этом каталоге, где app-name — имя APPX-файла дистрибутива Linux.

Сбой установки с ошибкой 0x8007007e. При возникновении этой ошибки система не поддерживает WSL. Убедитесь, что вы используете сборку Windows 16215 или более позднюю версию. Проверьте используемую сборку. Также убедитесь, что WSL включен и ваш компьютер перезагружен после включения этой функции.

3. Добавьте путь к дистрибутиву Linux в переменную PATH в Windows (в этом примере C:\Users\Administrator\Ubuntu ) с помощью PowerShell:

Источник

Windows Server или Linux-дистрибутивы? Выбираем серверную ОС

Операционные системы — это краеугольный камень современной индустрии. С одной стороны они потребляют ценные ресурсы сервера, которые можно было бы пустить на что-нибудь более полезное. С другой — операционная система выступает оркестратором для приложений сервера и позволяет сделать из однозадачного вычислительного комплекса многозадачную платформу, а также облегчает взаимодействие всех заинтересованных сторон с оборудованием. Сейчас основной мейнстрим серверных ОС — это Windows Server + несколько Linux-дистрибутивов различной направленности. Каждая из этих операционных систем имеет свои плюсы, минусы и ниши применения. Сегодня мы кратко поговорим о тех системах, которые поставляются вместе с нашими серверами.

Windows Server

Эта операционная система крайне популярна в корпоративном сегменте, хотя большинство рядовых пользователей и ассоциируют Windows исключительно с десктопной версией для ПК. В зависимости от задач и необходимой к поддержке инфраструктуры сейчас в эксплуатации компаний находятся сразу несколько версий Windows Server, начиная с Windows Server 2003 и заканчивая последней версией — Windows Server 2019. Мы поставляем серверы со всеми перечисленными операционными системами, то есть это Windows Server 2003, 2008 R2, 2016 и 2019.

Windows Server 2003 используется, в основном, для поддержки корпоративных систем и сетей, построенных на базе Windows XP. Удивительно, но снятая около пяти лет назад с поддержки версия десктопной ОС от Microsoft до сих пор находится в эксплуатации, так как под нее в свое время было написано много проприетарного ПО для производства. То же касается и Windows Server 2008 R2 и Windows Server 2016 — они наиболее совместимы со старым, но рабочим программным обеспечением и поэтому используются по сей день.

Основные плюсы серверов под управлением Windows — относительная простота администрирования, достаточно большой пласт информации, мануалов и ПО. Кроме того, вы не сможете обойтись без сервера на Windows, если в экосистеме компании есть программное обеспечения или решения, использующие библиотеки и части ядра систем Microsoft. Также сюда можно добавить технологию RDP для доступа пользователя к серверным приложениям и общую универсальность системы. Кроме того, Windows Server обладает облегченной версией без GUI с ресурсопотреблением на уровне Linux-дистрибутива — Windows Server Core, о которой мы писали ранее. Все серверы под управлением Windows мы поставляем с активированной лицензией (для новых пользователей она бесплатная).

В минусы Winserver можно записать сразу два параметра: стоимость лицензии и потребление ресурсов. Среди всех серверных ОС Windows Server наиболее прожорлива и требует минимум одно ядро процессора и от полутора до трех гигабайт оперативной памяти просто для работы ядра и стандартных служб. Эта система не подходит для маломощных конфигураций, а также имеет ряд уязвимостей, связанных с RDP и политиками групп и пользователей.

Чаще всего Windows Server предназначена для администрирования интранетов компаний и обеспечения работоспособности специфического ПО, работы баз данных MSSQL, инструментов ASP.NET или другого созданного специально для Windows ПО. При этом это все еще полноценная ОС, на которой можно развернуть маршрутизацию, поднять DNS или любую другую службу.

Ubuntu

Ubuntu — один из наиболее популярных и стабильно развивающихся дистрибутивов семейства Linux, выпущенный впервые в 2004 году. Некогда «линь для домохозяек» в оболочке Gnome, со временем Ubuntu стала дефолтной серверной ОС за счет обширного коммьюнити и непрекращающейся разработки. Последняя популярная версия — 18.04, но мы поставляем сервера и под 16.04, а около недели назад состоялся релиз версии 20.04, в которую завезли множество вкусностей.

Если Windows Server использовалась как ОС для поддержки специфического и windows-ориентированного ПО, то Ubuntu как Linux-дистрибутив — это история про open source и веб-разработку. Так, именно линуксовые серверы используют для размещения веб-серверов на nginx или Apache (в противовес Microsoft IIS), для работы с PostgreSQL и MySQL или популярными сейчас скриптовыми языками разработки. На сервер с Ubuntu отлично встанут и службы маршрутизации и управления трафиком.

В плюсы стоит записать и меньшее потребление ресурсов, чем Windows Server, а также нативную для всех unix-систем работу с консолью и пакетными менеджерами. Кроме того, Ubuntu, являясь изначально «десктопным домашним юниксом» достаточно дружелюбна к пользователю, что облегчает ее администрирование.

Основной минус — это unix, со всеми вытекающими. Пусть и Ubuntu и дружелюбна — но лишь относительно других Linux-систем. Так что для работы с ней, особенно в полноценной серверной конфигурации — то есть исключительно через терминал — потребуются определенные навыки. Кроме того, Ubuntu больше ориентирована на персональное использование и не всегда подходит для решения корпоративных кейсов.

Debian

Иронично то, что Debian — это прародитель крайне популярной и упоминаемой нами ранее Ubuntu. Первый билд Debian был опубликован более 25 лет назад — в далеком 1994 году и именно код Debian лег в основу Ubuntu. По сути, Debian является одним из старейших и при этом хардкорных дистрибутивов среди семейства Linux-систем. При всей схожести Ubuntu, в отличие от своего «наследника», Debian не получила того уровня доброжелательности к пользователю, как младшая система. Однако это дает и свои преимущества. Debian — более гибок по сравнению с Ubuntu и может подвергаться более глубокому конфигурированию и эффективнее решать ряд специфических задач, в том числе и корпоративного характера.

Основной плюс Debian — большая секьюрность и стабильностью по сравнению с Ubuntu и, тем более, с Windows. Ну и конечно же, как и у любой Linux-системы — низкое потребление ресурсов, особенно в форме серверной ОС под управлением терминала. Кроме того, Debian-сообщество это open source, так что эта система, в первую очередь, ориентирована на корректную и эффективную работу с бесплатными решениями.

Однако за гибкость, хардкорность и безопасность приходится платить. Debian разрабатывается open source-сообществом без четкого ядра через систему мастеров веток, со всеми вытекающими. В один момент времени у Debian есть сразу три версии: стабильная, нестабильная и тестовая. Проблема в том, что stable-ветка разработки серьезно отстает от тестовой, то есть часто в ядре могут встречаться уже устаревшие части и модули. Все это выливается в ручную пересборку ядра или вообще в переход на тестовую ветку, если ваши задачи обгоняют возможности стабильной версии Debian. В Ubuntu таких проблем с разрывом версий нет: там раз в два года разработчики выпускают стабильную LTS-версию системы.

CentOS

Ну и закончим наш разговор о серверных ОС RUVDS на CentOS. На фоне более массивных Ubuntu и, тем более, Debian, CentOS выглядит подростком. И хотя система стала популярна в массах не так давно, как Debian или Ubuntu, релиз ее первой версии состоялся в один момент с Ubuntu, то есть еще в 2004 году.

В основном CentOS используется для виртуальных серверов, так как еще менее требовательна к ресурсам, чем Ubuntu или Debian. Мы поставляем конфигурации под управлением двух версий этой ОС: CentOS 7.6.1810 и более старой CentOS 7.2.1510. Основной сценарий использования — корпоративные задачи. CentOS — это история про работу. Никогда не являясь системой домашнего пользования, как это было, например, с Ubuntu, CentOS сразу разрабатывалась как RedHat-подобный дистрибутив на базе открытого исходного кода. Именно наследственность от RedHat и дает CentOS ее основные преимущества — ориентированность на решение корпоративных задач, стабильность и безопасность. Самый частый сценарий использования системы — это веб-хостинг, в котором CentOS показывает лучшие, чем у других Linux-дистрибутивов результаты.

Однако есть у системы и ряд минусов. Более сдержанный цикл разработки и обновлений, чем у той же Ubuntu, приводит к тому, что в какой-то момент вам придется мириться с уязвимостями или уже решенными в других дистрибутивах проблемами. Также отличается и система самих обновлений и установки компонентов: никакого apt-get, только yum и RPM-пакеты. Также CentOS не совсем подходит для размещения и работы с контейнерными решениями Docker/k8s, в которых Ubuntu и Debian ее очевидно превосходят. Последнее важно, так как виртуализация веб-серверов и приложений через контейнеризацию в последние годы все набирает обороты в среде DevOps. Ну и конечно же, у CentOS намного меньшее коммьюнити по сравнению с более популярными Debian и Ubuntu.

Вместо вывода

Как видно, любая ОС имеет свои плюсы и минусы и получила собственную нишу. Особняком стоят серверы под управлением Windows — в Microsoft-среде, так сказать, своя атмосфера и правила работы.
Все Linux-дистрибутивы схожи между собой в плане потребления ресурсов, но имеют свои специфические черты и отличия в зависимости от поставленной задачи. Ubuntu проще в использовании, Debian — более тонко конфигурируется. CentOS может выступать как замена платному RedHat, что немаловажно, если вам нужна полноценная корпоративная ОС в unix-исполнении. Но при этом она слаба в вопросах контейнеризации и виртуализации приложений.В любом случае, вы можете связаться с нашими специалистами и мы подберем для вас необходимое решение и конфигурацию исходя из ваших задач.

Источник

Поднимаем контроллер домена на Ubuntu Server

Этот вариант может быть полезен для небольших организаций с компьютерами под управлением Windows.
Нет необходимости приобретать недешевую Windows Server для организации AD и CAL лицензии для доступа к контроллеру домена.
В конечном итоге имеем плюшки AD: групповые политики, разграничение прав доступа к ресурсам и т.д.

Я попытался написать подробный алгоритм действий необходимых для организации Active Directory (AD) Domain Controller (DC) на базе Ubuntu Server.

Рассмотрим настройку контроллера домена на примере Ubuntu Server 12.04.4 LTS или Ubuntu Server 13.10, инструкция подходит для обоих вариантов без дополнительных изменений

1. Установка Ubuntu

Думаю установка Ubuntu-server не вызовет проблем даже у большинства пользователей компьютеров.
Желательно при установке ОС сразу правильно указать название машины в сети (hostname) с указанием домена (для примера использую dc1.domain.local), чтобы в дальнейшем меньше надо было править конфигурацию в файлах.
Если в сети не присутствует DHCP-сервер, установщик предложит ввести IP-адрес, маску сети, шлюз и DNS.
Во время установки, также желательно установить OpenSSH server, чтобы иметь удаленный доступ к серверу, а также правильно указать часовой пояс, в котором находится машина.

2. Настройка параметров сетевого адаптера

Настройки сети хранятся в файле /etc/network/interfaces
Редактируем его на свой вкус. В качестве редактора можно использовать nano, vi и т.п.
Для редактирования файлов понадобятся root права, их можно получить например командой после этого, Вы будете работать из под пользователя root.
О том что Вы работаете с правами root пользователя свидетельствует знак # в приглашении командной строки
Либо Вы можете перед каждой командой, которая требует root доступа, приписывать sudo

В конфигурации Вашего сетевого интерфейса, скорее всего, будет

auto eth0
iface eth0 inet static
address 192.168.10.1
netmask 255.255.255.0
gateway 192.168.10.10
dns-nameservers 192.168.10.10
dns-search domain.local domain

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

3. Установка необходимых пакетов

Если Вы все же не установили OpenSSH server на первом этапе, это можно сделать командой
Перед установкой чего либо, лучше сначала обновить систему и пакеты командой
Для того, чтобы компьютеры сети сверяли время по нашему серверу установим ntp-сервер

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

4. Сборка Samba4

/dev/mapper/dc1—vg-root / ext4 user_xattr,acl,barrier=1,errors=remount-ro 0 1

после чего необходимо перезагрузить компьютерНе забываем про root права
Скачиваем последнюю стабильную версию Samba из GIT репозитария
конфигурируем, компилируем и устанавливаем Samba Параметр —enable-debug необходим для отображения более подробной информации в логах Samba.

После того, как соберется и установится Samba (это долгое занятие), для удобства её использования, необходимо прописать пути до исполняемых файлов /usr/local/samba/sbin и /usr/local/samba/bin в файлах /etc/sudoers переменная secure_path и /etc/environment переменная PATH, добавив строку :/usr/local/samba/sbin:/usr/local/samba/bin
должна получится строчка что-то вроде этой:

перезагрузимся еще раз (на всякий случай)

5. Поднимаем AD

В качестве DNS сервера AD будем использовать Samba, поэтому отключаем bind командой

Для манипуляций с AD в Samba существует инструмент samba-tool.
Для первоначальной настройки Samba вводим команду

Если на первом этапе Вы правильно указали имя компьютера, все настройки, которые запросит программа, можно оставить поумолчанию.
Во время настройки будет запрошен пароль пользователя Administrator для AD, он должен соответствовать требованиям сложности пароля поумолчанию: хотябы одна буква верхнего регистра, хотябы одна цифра, минимум 8 символов.
Если же пароль не подошел по сложности и Вы увидели ошибку вроде этой:

ERROR(ldb): uncaught exception — 0000052D: Constraint violation — check_password_restrictions: the password is too short. It should be equal or longer than 7 characters!

то перед повторным выполнением первоначальной настройки, необходимо удалить содержимое каталогов /usr/local/samba/private/ и /usr/local/samba/etc/
Если необходимо изменить сложность паролей это можно сделать командой эта команда отключает требование сложности, отключает сроки действия паролей, устанавливает минимальную длину пароля 6 символов

Далее необходимо подправить настройки Samba и добавить туда следующие строки в секцию [global]

allow dns updates = nonsecure and secure
printing = bsd
printcap name = /dev/null

Это позволит динамически обновлять DNS-записи на сервере, при входе рабочей станции (под управлением windows) в домен и отключит поддержку печати, которая постоянно выдает ошибки в лог.

В файле /etc/resolvconf/resolv.conf.d/head необходимо указать наш DNS-сервер Samba 127.0.0.1
и перезапустить сервис resolvconf
Также установим Kerberos клиенти настроим на AD с помощью файла созданного на этапе samba-tool domain provision
Для автоматического запуска сервиса Samba необходим скрипт:

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

root 865 0.3 3.0 95408 31748? Ss 18:59 0:00 /usr/local/samba/sbin/samba -D

Name: dc1.domain.local
Address: 192.168.10.1

Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.1.6]
Sharename Type Comment
— — — netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.1.6)
Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.1.6]
Server Comment
— — Workgroup Master
— ——-

Warning: Your password will expire in 41 days on Wed Apr 23 18:49:14 2014

Valid starting Expires Service principal
12/03/2014 19:17 13/03/2014 05:17 krbtgt/DOMAIN.LOCAL@DOMAIN.LOCAL

Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.1.6]
. D 0 Wed Mar 12 18:46:48 2014
… D 0 Wed Mar 12 18:49:15 2014

Вот и всё.
Можно вводить в домен клиентов, заводить пользователей.

Управлять AD можно:
частично при помощи samba-tool на Ubuntu
при помощи Administration Tools Pack на Windows XP
при помощи Remote Server Administration Tools (RSAT) на Windows 7 и выше

Источник

Одним из новшеств Windows Server 2016 версии RedStone 3 (1709) является встроенная поддержка запуска нативных бинарных файлов Linux ELF64. Данный функционал реализуется за счет отдельного компонента Windows Subsystem for Linux (WSL), который обеспечивает нужный слой совместимости. В этой обзорной статье мы покажем, как включить подсистему Windows для Linux в Windows Server 2016 и использовать ее для запуска Linux приложений.

Возможность запуска Linux приложений в Windows ранее была представлена в Windows 10. Эта функция носила название Bash on Windows. Начиная с Windows 10 Fall Creators Update это название более не используется и официально эта подсистема теперь называется WSL — Windows Subsystem for Linux. Кроме того, для ее использования более не нужно переключать ОС в режим разработчика (Developer Mode). WSL доступна как Windows Server, так и в виртуальных машинах Microsoft Azure

Предполагаем, что вы уже скачали и установили релиз Windows Server >= 1709. Это может быть сервер с полноценным GUI или в Core режиме.

Проверить текущую версию ОС можно так:

systeminfo | Select-String "^OS Name","^OS Version"

Чтобы проверить, что в вашей версии Windows Server имеется функционал WSL, выполните следующую команду:

Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

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

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

После чего сервер нужно перезагрузить.

Далее необходимо скачть архив с адаптированным дистрибутивом Linux. На данный момент Microsoft предлагает поддержку следующих дистрибутивов:

  • Ubuntu – https://aka.ms/wsl-ubuntu-1604
  • OpenSUSE – https://aka.ms/wsl-opensuse-42
  • SLES – https://aka.ms/wsl-sles-12 — корпоративный вариант SUSE

В ближайшем будущем планируется добавить дистрибутивы CentOS и Fedora.

К примеру, с помощью PowerShell по HTTP протоколу, скачаем архив с дистрибутивом Ubuntu:

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.zip -UseBasicParsing

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604

Размер архива около 200 Мб. Распакуем его:

Expand-Archive ~/Ubuntu.zip ~/Ubuntu

Expand-Archive ~/Ubuntu.zip ~/Ubuntu

Исходный архив можно удалить:

Remove-Item Ubuntu.zip

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

Ubuntu.exe

Запустится мастер установки, который в том числе попросит указать имя пользователя и пароль, который вы будете использовать для доступа к середе Linux (эта учетная запись не связана с Windows и входит в группу sudoers, таким образом ей разрешено использовать команду sudo для установки пакетов)

Ubuntu.exe

Запустим обновление дистрибутива:

sudo apt-get update
sudo apt-get upgrade

Чтобы выйти из командой оболочки Linux и вернуться в PowerShell, наберите:

Exit

Открыть shell в любой момент можно командой:

bash

Имеется возможность запускать команды Linux из консоли Windows и наоборот. К примеру, в консоли PowerShell можно вывести список файлов в каталоге командой ls. Формат команды должен быть такой:

bash -c “ls -la”

Запуск команд Linux из Windows

Чтобы из Linux вызвать команду Windows, формат должен быть такой:

cmd.exe /c dir

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

Запуск команд Windows из Linux

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

export PATH=$PATH:/mnt/c/Windows/System32

Теперь можно вызвать любой файл из каталога %WinDir%\system32.

run notepad.exe from linux

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

$notepad.exe “C:\temp\test.txt”
$notepad.exe C:\\temp\\test.txt

Все исполняемые файлы в этом случае запускаются в контексте учетной записи, запустившей bash.exe.

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

In 2017 Microsoft made it possible to run different Linux distribution on Windows 10, using a feature called the “Windows Subsystem for Linux“. With the latest official Semi-Annual Channel Windows Server release called Windows Server, version 1709 Microsoft also allowed to run the Windows Subsystem for Linux (WSL) on Windows Server. With the next release of Windows Server called Windows Server, version 1803, Microsoft will also add some improvements to the Windows Subsystem on Linux, which also apply to Windows 10 as well as Windows Server. This blog post shows you how you can do this.

First, you have a Windows Server, version 1709 running. After that enable the Microsoft Windows Subsystem for Linux feature, running the following command (This will need a reboot)

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

You can download the appx packages for your favorite Linux distribution; this can be today:

  • Ubuntu
  • OpenSUSE
  • Suse Linux Enterprise Server

If you are running on Windows Server Core (which is highly likely), you can use the following command to download the Linux distributions.

# For Ubuntu 16.04
 
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.zip -UseBasicParsing
 
# For Ubuntu 18.04
 
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile ~/Ubuntu1804.zip -UseBasicParsing
 
# For OpenSUSE 42
 
Invoke-WebRequest -Uri https://aka.ms/wsl-opensuse-42 -OutFile ~/OpenSUSE.zip -UseBasicParsing
 
# For SLES 12
 
Invoke-WebRequest -Uri https://aka.ms/wsl-sles-12 -OutFile ~/SLES.zip -UseBasicParsing

You can then unpack the file:

Expand-Archive ~/Ubuntu.zip C:\Distros\Ubuntu

Now you can open that folder and run the installer, for example ubuntu.exe. The first time this will do the setup where you also define the UNIX username and password as well as the root password.

After that, you can run updates for your distro, and you can start using Linux.

If you want to know more about the WSL, check out the Microsoft Documentation: Windows Subsystem for Linux Documentation and have a look at my WSL post in for Windows 10: Crazy times – You can now run Linux on Windows 10 from the Windows Store

You can also find the other Linux distro packages here: WSL distro packages.

Tags: Linux, Microsoft, openSUSE, PowerShell, SLES, Ubuntu, Ubuntu on Windows Server, Ubuntu.exe, Windows, Windows 10, Windows Server, Windows Server 1709, Windows Subsystem for Linux, WSL Last modified: June 20, 2019

About the Author / Thomas Maurer

Thomas works as a Principal Program Manager & Chief Evangelist Azure Hybrid at Microsoft (Cloud + AI). He engages with the community and customers around the world to share his knowledge and collect feedback to improve the Azure hybrid cloud and edge platform. Prior to joining the Azure engineering team (Cloud + AI), Thomas was a Lead Architect and Microsoft MVP, to help architect, implement and promote Microsoft cloud technology.

If you want to know more about Thomas, check out his blog: www.thomasmaurer.ch and Twitter: www.twitter.com/thomasmaurer

Время на прочтение6 мин

Количество просмотров29K

В прошлой статье я обещал рассмотреть механизм удаленного подключения с Windows на серверы под управлением *nix, и наоборот при помощи PowerShell. Обещанного обычно ждут три года, но я успел чуть раньше. Что ж, если хочется с верного макбука управлять гетерогенной инфраструктурой, или наоборот ― с Surface Pro рулить Linux-серверами без всяких putty, ― прошу под кат.

Microsoft Loves Linux

Еще в 2015 году Microsoft торжественно объявила о запуске программы «Microsoft Linux». Сюда вошла как банальная поддержка гостевых *nix-like OS на Hyper-V, так и встроенная в Windows 10 Ubuntu и возможность запуска в Docker продуктов Microsoft, таких как SQL Server.

Компания также опубликовала исходный код PowerShell, что позволило запускать «Ракушку Мощи» не только на Windows. Из-под одноименного аккаунта на Github, помимо исходного кода, выложены и бинарники под большинство современных систем (лицензия MIT).

Это позволяет настроить удаленное управление с помощью единого инструмента ― PowerShell. Помимо подключения к консоли компьютера, можно запускать отдельные команды, в том числе и на нескольких серверах одновременно. Довольно удобно для автоматизации задач администрирования, таких как массовое изменение настроек, инвентаризация, сбор логов.

Порой удобно совмещать традиционные консольные команды со вставками PowerShell:

cat /etc/passwd | ConvertFrom-Csv -Delimiter ':' -Header Name,Passwd,UID,GID,Description,Home,Shell | Sort-Object Name | Format-Table

Для подключения к Windows-машинам при помощи PowerShell используется протокол WS-Man. Для GNU\Linux привычен SSH. Так как сегодня становятся универсальными оба протокола, разберем их подробнее.

PowerShell 6.0 под Windows и *nix, пока еще находится в бете. Поэтому не рекомендую без хорошего тестирования применять на боевых серверах описанное ниже.

Магомед не идет к горе

Когда технология удаленного доступа при помощи PowerShell только набирала обороты, единственным универсальным способом подключения к разным системам был протокол WS-Man. Для тестового стенда я взял Windows Server 2016 и Centos 7, для которых и буду настраивать возможность удаленного подключения и выполнения команд при помощи этого протокола.

Для начала установим на Centos свежий PowerShell:

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/microsoft.repo

yum install -y powershell

pwsh

После установки появилась возможность запускать привычные Windows-администратору командлеты. Например, посмотрим версию PS и получим список запущенных процессов командлетами $PSVersionTable и Get-Process:

Работаем в консоли PowerShell на CentOS.

Чтобы подключаться к Linux-машине с консоли Windows, нам понадобится установить и настроить:

  • OMI (Open Management Infrastructure) ― адаптация WMI, которую также можно использовать для управления компьютерами с ОС, отличными от Windows;
  • PSRP (PowerShell Remoting Protocol) ― библиотека, необходимая для удаленного подключения PowerShell.

Подробно с работой и эволюцией OMI и PSRP можно ознакомиться в отличном материале от Matt Wrock, я же просто установлю OMI командой:

yum install omi

Далее нужно настроить порты и аутентификацию в конфигурационном файле /etc/opt/omi/conf/omiserver.conf, после чего перезапустить сервер командой:

/opt/omi/bin/service_control restart

Для упрощения эксперимента я не буду настраивать ни NTLM-аутентификацию, ни Kerberos. Еще и шифрование отключу ― разумеется, в боевой среде делать этого не стоит. Для включения текстовой аутентификации и шифрования на стороне Windows в работе winrm достаточно выполнить следующие команды:

winrm set winrm/config/client/auth @{Basic="true"}
winrm set winrm/config/client @{AllowUnencrypted="true"}
winrm set winrm/config/service/auth @{Basic="true"}
winrm set winrm/config/service @{AllowUnencrypted="true"}

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

winrm enumerate http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/OMI_Identify?__cimnamespace=root/omi -r:http://server:5985 -auth:Basic -u:root -p:"password" -skipcncheck -skipcacheck -encoding:utf-8 -unencrypted

Подключаемся к CentOS из cmd.

Теперь проверим работу обратным подключением ― из Linux к Windows:

/opt/omi/bin/omicli ei root/cimv2 Win32_Environment --auth Basic --hostname server -u username -p password --port 5985 

… а затем с CentOS подключаемся к Windows.

После того, как WMI\OMI заработал, нужно установить и настроить PSRP. К сожалению и вопреки инструкции, бинарник отсутствует. Библиотеку пришлось компилировать, долго и нудно исправляя возникающие ошибки зависимостей:

yum groupinstall 'Development Tools'
yum install openssl-devel pam-devel
git clone --recursive [https://github.com/PowerShell/psl-omi-provider.git](https://github.com/PowerShell/psl-omi-provider.git)

cd psl-omi-provider/
make release
rpm -ihv target/Linux_ULINUX_1.0_x64_64_Release/psrp-1.4.1-0.universal.x64.rpm

Теперь мы сможем подключаться с Windows на Linux и наоборот при помощи PowerShell. Начнем с Windows на Linux:

$cred = Get-Credential

#пропустим проверку сертификата для нашей тестовой лаборатории
$o = New-PSSessionOption -SkipCACheck -SkipRevocationCheck -SkipCNCheck

#выполнение команды:
Invoke-Command -ComputerName server -ScriptBlock { Get-Process } -Authentication Basic -SessionOption $o -Credential $cred -UseSSL | Select-Object -First 5

#подключение к консоли
Enter-PSSession -ComputerName 'server' -Credential $cred -Authentication basic -UseSSL -SessionOption $o

С Windows на Linux.

Аналогичным образом можно провести и обратное подключение.

Invoke-Command можно «натравить» на список компьютеров, и с рабочей станции Windows создать пользователя на всех серверах Linux командой вида:

 Invoke-Command -ComputerName server1,server2,server3  -ScriptBlock { adduser admin;echo admin:password | chpasswd
 }

Надо сказать, что способ не самый удобный и эффективный. Минусов добавляет компиляция библиотек, разнообразные баги ― например, на момент написания статьи PSRP не позволял нормально подключиться из Linux в Windows.

Да и сами разработчики рекомендуют не плясать вокруг WS-Man, а обратиться к проверенному способу ― SSH. Что ж, попробуем и его.

Гора идет к Магомету

На этот раз машина с Windows получит чуть больше специфической подготовки ― нужно установить свежий PowerShell и OpenSSH.

После можно проверить синтаксис командлета New-PSSession. Если все произошло как надо, то командлет, помимо привычного параметра ComputerName, будет поддерживать и HostName.

PowerShell 6.0.0-beta.9 и обновленный синтаксис командлета.

Установка OpenSSH описана в отдельной инструкции.

Но под спойлером вы найдете все основные моменты.

Качаем последний релиз или используем пакет из репозитория Chocolatey. Все это разархивируем в \Program Files\OpenSSH.

В консоли с правами администратора переходим в папку с разархивированным содержимым и запускаем установку командой:

powershell -ExecutionPolicy Bypass -File install-sshd.ps1

Теперь генерируем ключи:

.\ssh-keygen.exe -A
.\FixHostFilePermissions.ps1 -Confirm:$false

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

```bash
PasswordAuthentication yes
```

Если вы также хотите автоматически запускать PowerShell при подключении по SSH, то в параметре subsystem нужно прописать путь к желаемой версии PS:

Subsystem   powershell C:/Program Files (x86)/PowerShell/6.0.0-beta.9/pwsh.exe -sshs -NoLogo -NoProfile

Для работы клиента SSH нужно добавить директорию в %PATH% любым удобным способом. Например, таким:

setx path "%path%;C:\Program Files\OpenSSH"

Остается только настроить и запустить службы:

Set-Service sshd -StartupType Automatic
Set-Service ssh-agent -StartupType Automatic
net start sshd

После установки уже можно наслаждаться подключением к серверу Windows по ssh.

C Windows через Putty на Linux, с Linux обратно на Windows по SSH.

На достигнутом останавливаться не будем и перейдем к настройке Linux. При настройке сервера SSH по умолчанию достаточно прописать PowerShell в Subsystem:

Subsystem powershell /usr/bin/pwsh -sshs -NoLogo -NoProfile

Теперь проверим подключение через командлет New-PSSession и Invoke-Command.

Сначала Windows:

Работаем из PowerShell с Linux-сервером.

Теперь подключимся из Linux к Windows:

Работаем из PowerShell с Windows-сервером.

В отличие от WS-Man, SSH настраивается намного проще и работает стабильнее. Да и беспарольное подключение по ключам настраивать привычнее.

В хозяйстве пригодится

С однозначным «советом потребителю» все опять сложно: SSH проще в настройке и стабильнее, но WS-Man использует API и позволяет применять инструменты вроде JEA. На боевых серверах использовать WS-Man я бы не стал однозначно, а вот реализация OpenSSH в Windows как сервера, так и клиента мне понравилась. Для самопальной автоматизации вполне подойдет даже без PowerShell.

В любом случае, границы между Linux и Windows хоть и медленно, но начинают стираться, что безусловно радует.

Содержание

  1. Замена файл-сервера Windows NT/2000 на Linux/Samba
  2. Пример из жизни
  3. Конфигурация
  4. Пример конфигурационного файла
  5. Заключение
  6. Ссылки: библиография и программы
  7. Copyright Notes

Замена файл-сервера Windows NT/2000 на Linux/Samba

Эта заметка продолжает рассказывать о настройке пакета Samba, который предназначен для разделения ресурсов в гетерогенных (разнородных) Unix/Windows сетях. Здесь рассказывается о том, как настроить сервер Samba под Linux, чтобы получить такую же, как и при использовании Windows-сервера, функциональность.
Samba не только раскрывает мощность и гибкость ОС Linux, но она также дает определенные выгоды:

  • нет необходимости выплачивать лицензионные отчисления за использование ОС Windows на своих серверах;
  • даже на менее мощном, чем требует Windows-сервер, оборудовании (процессор, память) может быть достигнута такая же или лучшая производительность.

При хорошей настройке Samba возможен полный переход с сервера под управлением Windows NT/2000 на сервер под Linux. Samba позволяет создавать разделяемые ресурсы, обеспечивает доступ к службе каталогов Active Directory (ADS — Active Directory Service), а также может выступать в роли основного (первичного) контроллера домена (PDC — Primary Domain Controller), выполняя аутентификацию пользователей, работающих под Windows 95/98/NT/2000, обеспечивая разделение ресурсов (директорий и принтеров) и настройку пользовательских сессий (users sessions). Ниже рассматриваются некоторые из этих возможностей.

В результате, во многих случаях Linux/Samba-сервер обеспечивает такую же, как и Windows-сервер, функциональность, при этом не требуя дополнительной настройки клиентских машин.
Далее будем считать, что пакет Samba уже установлен на машине и что читатель знаком с основными концепциями ОС Linux и Windows.

Пример из жизни

Пусть наш Linux-сервер с установленным на нем пакетом Samba выступает в роли основного контроллера домена (PDC), где каждый зарегистрированный пользователь имеет доступ к двум разделяемым директориям (shared directories): для общего и для персонального (приватного) доступа. Такая конфигурация является довольно распространенной.

Зададим следующие названия:

NetBIOS-имя Linux/Samba-сервера: SMBServer
Имя домена Windows или рабочей группы: THEDOMAIN
Персональный раздел для каждого пользователя: H: (Windows) => /home/ (Linux-сервер)
Общий раздел: P: (Windows) => /home/public (Linux-сервер)

На рисунке 1 показана схема небольшой сети, в которой клиентские Windows-машины используют разделяемые ресурсы Windows NT/2000 сервера. Он может быть заменен Linux-сервером с запущенным на нем демоном Samba.

Конфигурация

Конфигурация включает в себя следующие шаги:

1) Создание на Linux-сервере нового пользователя. Для этого используются команды adduser, useradd или userconf; также можно использовать подходящую графическую утилиту (Webmin, Linuxconf, Yast и т. п.).

Если вы хотите, чтобы пользователь имел доступ лишь к службам Samba и не мог зайти на сервер в оболочку shell, в файле /etc/passwd в качестве домашней директории укажите /dev/null , а в качестве оболочки — /bin/false .

2) Сконвертируйте файл /etc/passwd в файл smbpasswd:

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

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

smbadduser
smbpasswd,

которые работают подобно командам adduser и passwd.

3) Отредактируйте конфигурационный файл Samba (smb.conf) в соответствии со своими потребностями:

netbios name = SMBServer
workgroup = THEDOMAIN
server string = Linux/Samba-сервер
log file = /var/log/samba/%m.log
max log file = 0
security = user
encrypt password = yes
smb password file = /etc/samba/smbpasswd
ssl CA certificate = /usr/share/ssl/. (cancel comment)
socket options = (cancel comment)
local master = yes
preferred master = yes
domain master = yes
domain logons = yes
logon script = logon.bat
wins support = yes

Замечание:
Чтобы задать для каждого пользователя отдельный сценарий входа (logon script), установите logon script = %U.bat (или %u.bat). Также вы можете использовать спецификатор %g (или %G) для того, чтобы выполнялся сценарий группы, к которой принадлежит пользователь (см. также man smb.conf).

4) Создание разделяемых ресурсов.
Отредактируйте описания разделяемых ресурсов в файле smb.conf, удаляя (или комментируя знаком ‘;’) ненужные ресурсы и добавляя необходимые:

[netlogon]
comment = Сценарии входа
path = /home/netlogon
read only = yes
guest ok = yes
browseable = no

[home]
comment = Директория пользователя
path = /home/%U
browseable = yes
writable = yes

[public]
comment = Общая директория
path = /home/public
browseable = yes
writable = yes
guest ok = yes
create mask = 0777
force create mask = 0777

Сохраните полученный файл smb.conf.

5) С помощью команды testparm проверьте синтаксис конфигурационного файла smb.conf. При наличии ошибок будут выданы соответствующие сообщения.

6) Создайте директории /home/netlogon (с правами доступа 0754) и /home/public (с правами доступа 0777).

7) Отредактируйте сценарий входа logon.bat.
Обратите внимание: для создания logon.bat необходимо использовать текстовый редактор для DOS/Windows (Notepad, Edit и т. п.). Также можно использовать текстовый редактор под Linux, не забывая, однако, сконвертировать полученный текст в совместимый с DOS/Windows формат. К примеру, в редакторе vim это делается с помощью команды «:set textmode». Сценарий logon.bat может выглядеть, например, так:

net time \\SMBServer /y (или /yes)
net use H: \\SMBServer\home -y
(или /yes)
net use P: \\SMBServer\public -y

8) В файл /etc/samba/lmhosts (или /etc/lmhosts) добавьте запись о вашем Samba-сервере (SMBServer).
Например:

9) Запустите/перезапустите демон Samba (smbd):

service smb restart

Если с первого раза система не заработала нормально, попробуйте выполнить следующее:
ps -auxgx | grep smb
kill -9
smbd

10) Для проверки работоспособности Samba-сервера используйте smbclient:

smbclient -L //SMBServer

Если будет выдано приглашение «Password:», нажмите «Enter», в ответ сервер покажет список своих разделяемых ресурсов.

11) С машины, работающей под Windows 95/98/NT, попробуйте войти в созданный только что домен THEDOMAIN. Для входа используйте имя пользователя и пароль, созданные на шаге 1 и 2.

Не забудьте произвести настройку свойств клиента для сетей Microsoft. Для этого в ОС Windows 95/98/ME выполните:

Start (Пуск) => Setup (Настройка) => Control Panel (Панель управления) => Network (Сеть) =>Network Client for Microsoft Networks (Клиент для сетей Microsoft) => Properties (Свойства).

В Свойствах установите флажок «Start session in Windows NT/2000 domain» («Входить в домен Windows NT») и задайте имя домена (или рабочей группы): THEDOMAIN.

Похожим образом настраивается и Windows NT/2000 (Workstation/Professional).

Пример конфигурационного файла

Работающий конфигурационный файл Samba приведен ниже. Данная конфигурация проверялась на нескольких дистрибутивах Linux. Вы можете использовать этот пример в качестве базового для создания и настройки своей собственной конфигурации.

Для тех, кто хочет иметь дружественный интерфейс для быстрой настройки Samba, можно порекомендовать использовать такие инструменты, как Webmin и/или SWAT.

#============================================================#
# /etc/smb.conf
#————————————————————————————————————#
# Главный конфигурационный файл Samba (файл-образец).
# Настройте конфигурацию в соответствии со
# своими потребностями.
#————————————————————————————————————#
# Протестировано в следующих ОС:
# RedHat 6.0, 7.0, 7.1
# Solaris 7
# Slackware 7.x
# Mandrake 6.1, 7.0, 8.1
# SuSe 7.2
#————————————————————————————————————#
# Дата последней модификации: 08/12/2001.
# Sebastian Sasias — sasias(at)linuxmail(dot)org
#============================================================#
#
# При создании данного файла использовалось руководство по настройке
# Samba smb.conf(5).
#
# Примечание: после изменения этого файла не забудьте протестировать его
# с помощью «testparm» (и перезапустить демон smbd — прим. перев.)
#
#==================== Глобальные настройки ====================#
#
# Основная конфигурация
#
[global]
#. #
# Workgroup = имя NT-домена (или рабочей группы): THEDOMAIN.
workgroup = THEDOMAIN
#. #
# NetBIOS-имя, под которым будет виден сервер остальным машинам сети.
netbios name = SMBServer
#. #
# Комментарий, появляющийся рядом с именем машины в «Сетевом окружении» Windows.
server string = Это Samba-сервер
#. #
# Следующий параметр влияет на безопасность. Hosts allow разрешает машинам с
# указанными IP-адресами присоединяться к Samba-серверу.
# В этом примере доступ разрешен компьютерам, имеющим IP-адрес из диапазона
# локальных адресов 192.168.8.0 (класс C) и через интерфейс «обратной петли» (loopback).
# Более подробно см. в man smb.conf.
; hosts allow = 192.168.8. 127.
#. #
# Раскомментируйте этот параметр для автоматической загрузки списка принтеров
# из файла printcap.
; load printers = yes
#. #
# Параметр Printcap name задает альтернативное расположение файла printcap.
; printcap name = /etc/printcap
#. #
# В SystemV для работы с системой печати используется программа lpstat. Для
# автоматического получения списка принтеров от системы печати SystemV задайте
# опцию Printcap name = lpstat.
; printcap name = lpstat
#. #
# Если вы имеете нестандартную систему печати, вам необходимо указать ее тип,
# в противном случае этот параметр можно опустить.
# В настоящее время поддерживаются следующие системы печати:
# bsd, sysv, plp, lprng, aix, hpux, qnx.
; printing = bsd
#. #
# Раскомментируйте строчку Guest account для предоставления беспарольного («гостевого»)
# входа на Samba-сервер. В /etc/passwd необходимо добавить pcguest, в противном случае
# будет использоваться учетная запись «nobody».

; guest account = pcguest
#. #
# Для каждой машины %m, подключенной к Samba-серверу, использовать свой log-файл.
log file = /var/log/samba/log.%m
#. #
# Максимальный размер log-файла — 50 килобайт.
max log size = 50
#. #
# Параметр Security определяет, каким образом будет осуществляться проверка пароля
# пользователя. Security = user означает использование файла паролей smbpasswd.
# Более подробно см. в документации по Samba (файл security_level.txt).
security = user
#. #
# В случае, если Security = server, проверка пароля производится другим сервером.
# Параметр Password server используется только совместно с опцией Security = server.
# Password server = [IP-адрес аутентифицирующего сервера].
; password server =
#. #
# Опция включает поддержку шифрованных паролей. Почитайте сначала ENCRYPTION.txt,
# Win95.txt и WinNT.txt из документации по Samba.
# Не включайте данный параметр до тех пор, пока полностью не изучите его назначение.
# К сведению: ОС Win95, Win98 и WinNT отсылают пароли в зашифрованном виде.
encrypt passwords = yes
#. #
# Используя следующий параметр, вы сможете создать отдельную конфигурацию для
# каждой машины домена.

# Вместо пары символов %m при входе подставляется NetBIOS-имя машины.

; include = /usr/local/samba/lib/smb.conf.%m
#. #
# В документации и в полезных советах говорится, что с помощью следующего параметра
# можно повысить производительность Samba-сервера. Возможно, вы захотите
# поэкспериментировать с этим. Подробности смотрите в документации (man pages) по
# Samba и в файле Speed.txt.
socket options = TCP_NODELAY
#. #
# По умолчанию демон Samba слушает все активные сетевые интерфейсы. С помощью
# параметра Interfaces можно выбрать только те интерфейсы, которые необходимо
# прослушивать.
; interfaces = 192.168.8.2/24 192.168.12.2/24
#. #
# Установите Local master в «no», чтобы Samba-сервер не мог стать обозревателем
# сети (в противном случае сервер будет принимать участие в выборах обозревателя
# сети — прим. перев.)
local master = yes
#. #
# Параметр OS Level задает приоритет данного сервера при выборах обозревателя сети
# (master browser) . Обычно значение по умолчанию подходит для большинства
# случаев.
; os level = 33
#. #
# Параметр Domain master делает Samba-сервер главным обозревателем домена
# (Domain Master Browser). Это позволяет Samba выполнять функции контроллера
# домена, а также создавать список машин из других подсетей, имеющих
# отношение к данному домену.
# Не используйте этот параметр, если в вашей сети уже имеется контроллер домена
# на Windows NT/2000, выполняющий те же функции.
domain master = yes
#. #
# Параметр Preferred master позволяет Samba-серверу при старте инициировать выборы
# обозревателя сети; при этом Samba-сервер получает довольно высокие шансы на
# победу в этих выборах.
# Если в сети имеется более одного сервера, то наиболее желательным (favorite) для
# клиентов будет «предпочтительный обозреватель» (preferred master).
preferred master = yes
#. #
# Используйте следующую опцию только в случае, если в вашей сети имеется
# Windows NT/2000 сервер, работающий в качестве PDC.
; domain controller =
#. #
# Для того, чтобы клиенты Windows 9x/Me могли использовать сервер Samba для
# входа в домен, укажите следующий параметр.
domain logons = yes
#. #
# Если параметр Domain logons установлен в «yes», вы имеете возможность указывать
# для пользователя (%u) или рабочей станции (%m) свой сценарий входа (logon script).

# Сценарий входа для рабочей станции:
; logon script = %m.bat

# Сценарий входа для пользователя:
; logon script = %U.bat
#. #
# Данный параметр задает место размещения перемещаемых профилей (roving (или
# roaming — прим. перев.) profiles).
# Вместо %L подставляется NetBIOS-имя данного сервера, вместо %U — имя пользователя.
# Не забудьте раскомментировать секцию [Profiles] в конфигурационном файле.
; logon path = \\%L\Profiles\%U
#. #
# Поддержка WINS — службы имен Windows (WINS — Windows Internet Name Service).
# Данный параметр указывает демону NMBD включить свой сервер WINS.
# WINS, подобно службе DNS, сопоставляет IP-адрес машины с ее именем.
; wins support = yes
#. #
# Параметр WINS Server задает IP-адрес WINS-сервера, используемого в сети, и
# указывает на то, что в этом случае Samba-сервер является WINS-клиентом.
# Не забывайте, что Samba-сервер может быть либо WINS-сервером, либо
# WINS-клиентом (но не обоими сразу).
; wins server = 192.168.8.1
#. #
# Samba умеет определять не-WINS клиентов, находящихся в сети. Для этого нужно
# указать параметр WINS Proxy = yes. Для правильной работы WINS Proxy необходимо,
# чтобы в сети имелся по крайней мере один WINS-сервер.
# Значение по умолчанию — «no».
; wins proxy = yes
#. #
# Если задан параметр DNS Proxy, Samba будет пытаться выполнять преобразование
# NetBIOS-имен посредством запросов к DNS. По умолчанию для версии 1.9.17 этот
# параметр установлен в «yes». Начиная с версии 1.9.18 параметр DNS Proxy по
# умолчанию равен «no».
# dns proxy = yes
# dns proxy = no (преобразование имен ведется с помощью файла lmhosts)
#. #
# Параметр Logon drive задает букву диска, к которому будет монтироваться домашняя
# (home) директория пользователя. Эта опция имеет смысл, только если Samba настроена
# в качестве Logon server’а. Если параметр Logon drive не задан, используется Z:.
logon drive = P:
#. #
# После удачного входа на Samba-сервер на машине клиента выполняется сценарий
# SAMBA.BAT (полный путь — /etc/samba/netlogon/SAMBA.BAT), который с помощью
# команды «net use» производит подключение сетевых дисков (а также может выполнять
# другую полезную работу, например, синхронизацию времени — прим. перев.)
logon script = SAMBA.BAT

# Персональная директория для каждого пользователя.
# Диск P:

[homes]
comment = Домашние директории
browseable = no
writable = yes
readonly = no
force create mode = 0700
create mode = 0700
force directory mode = 0700
directory mode = 700

#————————————————————————————————————#
# Директория для временных файлов.
# Диск T:

[tmp]
comment = Временные файлы
path = /tmp
readonly = no
public = yes
writable = yes
force create mode = 0777
create mode = 0777
force directory mode = 0777
directory mode = 0777

#————————————————————————————————————#
# Ресурс группы («/home/grp.имя_группы»), к которой принадлежит пользователь (%u).
# /home/%u/group является ссылкой на «/home/grp.имя_группы».
# «grp.имя_группы» имеет права доступа 770.
# Диск G:

[group]
comment = Директория группы
path = /home/%u/group
writable = yes
readonly = no
force create mode = 0770
create mode = 0770
force directory mode = 0770
directory mode = 0770

#————————————————————————————————————#
# Этот ресурс предназначен для хранения приложений, дистрибутивов,
# корпоративного ПО (corporative software) и т. д.
# Права доступа для /net и /net/install — 755, то есть владелец ресурса — root.
# Диск N:

[net]
comment = Ресурс Net
path = /net
writable = yes
readonly = no
force create mode = 0750
create mode = 0750
force directory mode = 0750
directory mode = 0750

#————————————————————————————————————#
[netlogon]
comment = Logon Services in the Network
path = /etc/samba/netlogon
guest ok = yes
writable = no
locking = no
public = no
browseable = yes
share modes = no

Заключение

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

Если при конфигурации Samba-сервера вы получите сообщения о неизвестных параметрах, есть пара способов разрешить эту проблему:

  • проверить конфигурацию файла smb.conf; внимательно прочесть комментарии, которые могут содержать важную информацию о проблематичных параметрах;
  • почитать документацию по Samba, начав с файла, в котором описываются последние изменения пакета.

Ссылки: библиография и программы

  • Samba, официальный сайт: http://www.samba.org.
  • Webmin, официальный сайт: http://www.webmin.com. Webmin — инструмент для удаленного администрирования UNIX-систем.
  • Проект GNU и Фонд Свободного Программного Обеспечения: http://www.gnu.org.
  • Интересный сайт, посвященный пакетам RPM: http://www.rpmfind.net.
  • Домашняя страница LinNeighborhood: http://www.bnro.de/

schmidjo. LinNeighborhood — интересный инструмент под Linux для работы с разделяемыми сетевыми ресурсами через SMB.

Copyright Notes

Samba — программный продукт, распространяемый под лицензией GPL.
Linux — зарегистрированная марка Линуса Торвальдса (Linus Torvalds).
Solaris — операционная система и зарегистрированная марка Sun Microsystems.
MS Windows — операционная система и зарегистрированная марка Microsoft.
Использование Samba дает большую экономию на лицензионных отчислениях для Microsoft.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Перезапуск процесса в windows
  • Установить bluetooth на компьютер windows 10 pro
  • Откроется ли презентация keynote в windows
  • Медиаплеер classic для windows 10
  • Microsoft windows vista with sp2