Настройка файлового сервера в локальной сети на windows linux

Файловый сервер в Linux часто используется для предоставления общего доступа к файлам. Однако для этого его придется настроить через конфигурационный файл.

Содержание

  • Устанавливаем и настраиваем файловый сервер в Linux
    • Шаг 1: Предварительная настройка Windows
    • Шаг 2: Установка Samba в Linux
    • Шаг 3: Создание глобальных настроек
    • Шаг 4: Создание общедоступной папки
    • Шаг 5: Создание защищенной общедоступной папки
  • Вопросы и ответы

Файловый сервер на Linux

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

Хоть сегодняшний материал и будет сосредоточен на управлении дистрибутивами Linux, не обойдем стороной и Виндовс, поскольку для начала вам придется выполнить простейшие манипуляции в этой ОС, чтобы в будущем настройка прошла успешно и не возникло никаких проблем с подключением к группе. За пример мы взяли связку Windows 10 и Ubuntu. Если вы используете другие ОС, просто придерживайтесь особенностей их реализации, которые не должны значительно отличаться от того, что вы увидите далее.

Шаг 1: Предварительная настройка Windows

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

  1. Откройте «Пуск» и запустите оттуда «Командную строку», найдя приложение через поиск.
  2. Переход к командной строке в Windows для определения параметров общего доступа с Linux

  3. Здесь вам потребуется ввести простую команду net config workstation и нажать на клавишу Enter.
  4. Команда для определения имени рабочей группы в Windows для дальнейшей настройки Linux

  5. В отобразившемся списке отыщите строку «Домен рабочей станции» и запомните ее значение.
  6. Поиск строки названия рабочей группы в Windows

  7. Снова в консоли введите notepad C:WindowsSystem32driversetchosts для открытия известного файла hosts через стандартный «Блокнот».
  8. Команда для запуска файла hosts в Windows для разрешения доступа к Linux

  9. Здесь в конце вставьте строку 192.168.0.1 srvr1.domain.com srvr1, заменив IP на адрес компьютера с Samba, и сохраните все изменения.
  10. Настройка файла hosts для предоставления доступа к Linux

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

Шаг 2: Установка Samba в Linux

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

  1. Откройте меню приложений и запустите «Терминал».
  2. Переход к терминалу для дальнейшей установки Samba Linux

  3. Здесь потребуется ввести команду sudo apt-get install -y samba samba-common python-glade2 system-config-samba. Она отвечает за инсталляцию дополнительных компонентов вместе с файловым сервером.
  4. Ввод команды для установки Samba в Linux включая все дополнительные компоненты

  5. Подтвердите подлинность учетной записи суперпользователя, написав пароль. Символы, вводимые в эту строку, на экране не отображаются, поэтому не стоит переживать из-за того, что букв или цифр не видно.
  6. Подтверждение установки Samba в Linux путем ввода пароля суперпользователя

  7. Затем начнется процедура получения и распаковки архивов. Она может занять несколько минут, во время этой операции лучше не выполнять других действий и не закрывать консоль. Если появилась новая строка ввода, значит, инсталляция успешно завершена.
  8. Ожидание завершения установки Samba в Linux через терминал

    Lumpics.ru

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

Шаг 3: Создание глобальных настроек

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

  1. Иногда какие-то важные параметры в конфигурационном файле все же присутствуют по умолчанию, из-за чего возникает надобность создать его резервную копию, чтобы восстановить ее при возникновении случайных сбоев. Осуществляется это путем ввода всего одной команды sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak.
  2. Команда для создания резервной копии конфигурационного файла Samba в Linux

  3. Все остальные действия будут производиться через текстовый редактор. Оптимальным вариантом в этом случае является nano. Если данное приложение отсутствует в вашем дистрибутиве, добавьте его через sudo apt install nano.
  4. Команда для установки кастомного текстового редактора при настройке Samba в Linux

  5. После переходите к конфигурационному файлу, используя sudo nano /etc/samba/smb.conf.
  6. Запуск конфигурационного файла Samba в Linux через текстовый редактор

  7. В открывшемся окне вставьте приведенные ниже строки.

    [global]
    workgroup = WORKGROUP
    server string = %h server (Samba, Ubuntu)
    netbios name = Ubuntu Share
    dns proxy = no
    log file = /var/log/samba/log.%m
    max log size = 1000
    passdb backend = tdbsam
    unix password sync = yes
    passwd program = /usr/bin/passwd %u
    pam password change = yes
    map to guest = bad user
    usershare allow guests = yes

  8. Вставка глобальных настроек в конфигурационный файл Samba в Linux

  9. Используйте комбинацию Ctrl + O, чтобы сохранить изменения.
  10. Сохранение настроек конфигурационного файла Samba в Linux

  11. Название файла менять не нужно, достаточно будет просто нажать на клавишу Enter.
  12. Отказ от изменения имени при глобальной настройке конфигурационного файла Samba в Linux

  13. По завершении выйдите из текстового редактора, зажав Ctrl + X.
  14. Выход из текстового редактора после глобальной настройки конфигурационного файла Samba в Linux

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

  1. workgroup — отвечает за имя рабочей группы. Ее мы уже узнавали в Windows, и здесь требуется задать точно такое же название, поскольку оно должно быть одинаковым абсолютно на всех соединенных устройствах.
  2. netbios name — используется для отображения имени текущего компьютера на устройстве под управлением Windows. Задайте оптимальное для себя значение.
  3. log file — указывается путь к файлу, куда будут сохраняться отчеты. Создать подобную запись нужно обязательно, чтобы всегда быть в курсе возможных ошибок и других сведений.
  4. passdb backend — определяет способ хранения паролей учетных записей. Без надобности лучше не изменять и оставить в состоянии по умолчанию.
  5. unix password sync — при активации выполняет синхронизацию паролей.
  6. map to guest — отвечает за предоставление гостевого уровня доступа определенным профилям. Если значение установлено в состояние bad user, то такая настройка применяется для несуществующих пользователей, bad password — при неправильном вводе паролей, а never — никогда.

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

Шаг 4: Создание общедоступной папки

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

  1. Запустите «Терминал» и введите там sudo mkdir -p /samba/allaccess для создания новой папки. Ее имя вы можете поменять на любое удобное.
  2. Команда для создания незащищенной папки общего доступа Samba в Linux

  3. Данное действие выполняется вместе с аргументом sudo, а это значит, что придется ввести пароль для подтверждения учетной записи.
  4. Подтверждение создания незащищенной папки Samba в Linux

  5. После переходите к настройке общего доступа для созданной директории. Для начала переместимся в корень Samba через cd /samba.
  6. Переход к корню Samba в Linux для изменения доступа к созданной папке

  7. Теперь вставьте команду sudo chmod -R 0755 allaccess и нажмите на Enter.
  8. Первая команда изменения доступа к общей незащищенной папке Samba в Linux

  9. Потребуется указать еще одну опцию sudo chown -R nobody:nogroup allaccess/, которая отвечает за предоставление доступа абсолютно всем учетным записям.
  10. Вторая команда для изменения доступа к общей незащищенной папке Samba в Linux

  11. Осталось внести все изменения в конфигурационный файл. Запустите его через текстовый редактор, используя уже знакомую команду sudo nano /etc/samba/smb.conf.
  12. Запуск конфигурационного файла для внесения изменений после создания общей незащищенной папки Samba в Linux

  13. Здесь вставьте указанный ниже блок, отвечающий за определение правил поведения сервера. О значении каждой строки мы также поговорим немного позже.

    [allaccess]
    path = /samba/allaccess
    browsable = yes
    writable = yes
    guest ok = yes
    read only = no

  14. Внесения изменений в Samba в Linux после создания общей незащищенной папки

  15. Сохраните изменения и закройте текстовый редактор, используя специально отведенные горячие клавиши.
  16. Сохранение конфигурационного файла после создания незащищенной папки Samba в Linux

  17. Перезапустите сервер через sudo systemctl restart samba, чтобы текущие настройки вступили в силу.
  18. Перезапуск файлового сервера после создания незащищенной общей папки Samba в Linux

Проверка доступа к созданной директории в Windows осуществляется путем перехода по \srvr1allaccess. Сейчас по тому же примеру, который мы привели в предыдущем этапе, разберем значение каждого устанавливаемого параметра:

  • path. Как вы видите из значения, здесь указывается путь к созданной общедоступной директории.
  • browsable. Этот параметр отвечает за отображение директории в списке разрешенных.
  • writable. Отметьте значение yes, если вы хотите разрешить создание записей в этой папке.
  • guest ok. Данная строка отвечает за гостевой доступ.
  • read only. Если вы знаете перевод этой фразы, то уже догадываетесь, что произойдет, если активировать параметр. Он отвечает за атрибут «Только чтение» для указанной директории.

Шаг 5: Создание защищенной общедоступной папки

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

  1. Создайте директорию по тому же принципу через sudo mkdir -p /samba/allaccess/secured.
  2. Команда для создания общей защищенной папки в Samba в Linux

  3. Как вы могли догадаться, это действие тоже следует подтвердить, введя пароль суперпользователя.
  4. Подтверждение создания общей защищенной папки в Samba в Linux

  5. После этого создайте группу, куда будут входить разрешенные пользователи, написав sudo addgroup securedgroup.
  6. Добавление группы пользователей для доступа к защищенной папке Samba в Linux

  7. Перейдите к расположению защищенной директории, указав cd /samba/allaccess.
  8. Переход к расположению защищенной папки для ее управления в Samba в Linux

  9. Здесь укажите права для пользователей, написав sudo chown -R richard:securedgroup secured. Замените richard на требуемое имя учетной записи.
  10. Добавление группы для доступа к защищенной папке Samba в Linux

  11. Вторая команда для обеспечения безопасности выглядит так: sudo chmod -R 0770 secured/.
  12. Вторая команда общего доступа к защищенной папке Samba в Linux

  13. Переместитесь к текстовому редактору, открыв там конфигурационный файл и написав уже знакомую команду sudo nano /etc/samba/smb.conf.
  14. Запуск конфигурационного файла Samba в Linux для настройки защищенной папки

  15. Вставьте указанный ниже блок и сохраните изменения.

    [secured]
    path = /samba/allaccess/secured
    valid users = @securedgroup
    guest ok = no
    writable = yes
    browsable = yes

  16. Настройка защищенной папки Samba в Linux в конфигурационном файле

  17. Добавьте пользователя в защищенную группу sudo usermod -a -G securedgroup richard. Если указанной учетной записи не существует, вы получите соответствующее уведомление.
  18. Добавление пользователя для доступа к защищенной папке Samba в Linux

  19. Создайте пароль, который будет отвечать за открытие доступа через sudo smbpasswd -a richard.
  20. Переход к добавлению пароля для пользователя Samba в Linux

  21. Введите ключ безопасности в новую строку, а затем подтвердите его.
  22. Добавление пароля для пользователя Samba в Linux

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

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

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

Как настроить Samba?

  • Что такое Samba?
  • Как настроить общую папку
  • Как настроить общую папку в Linux
  • Как настроить общую папку в Windows
  • Как подключиться к общей папке
  • Как подключиться к общей папке Linux
  • Как подключиться к общей папке Windows
  • Как создать общий сетевой ресурс в Samba

Что такое Samba?

Samba — серверное приложение, реализующее доступ клиентских терминалов к папкам, принтерам и дискам про протоколу SMB/CIFS.

Описание структуры Samba

Настройка общих папок

Linux

Установка и настройка Samba-сервер для Ubuntu выполняется следующими этапами.

Обновляем информацию о репозиториях и устанавливаем обновления для существующих пакетов в системе:

apt-get update && apt-get upgrade

Устанавливаем пакет Samba:

apt-get install -y samba samba-client

Создадим резервную копию файла конфигурации:

cp /etc/samba/smb.conf /etc/samba/smb.conf_sample

Создадим директории для файлов, например в каталоге /media:

mkdir /media/samba

Важно! По умолчанию, директория /media располагается в корне системы /, для нее редко создается свой раздел. По этой причине возможно переполнение корневого раздела. Во избежание этой неприятной ситуации, рекомендуем монтировать отдельный жесткий диск в /media/samba.

Создаем каталог для всех пользователей:

mkdir /media/samba/public

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

chmod -R 0755 /media/samba/public

Также следует воспользоваться командой chown для смены владельца и/или группы.

Создаем директорию для ограниченного круга лиц:

mkdir /media/samba/private

С помощью системных инструментов создадим группу пользователей:

groupadd smbgrp

Добавляем пользователей Samba:

useradd user1

Созданных пользователей добавляем в группу:

usermod -aG smbgrp user1

Изменим группу, которой принадлежит приватная директория:

chgrp smbgrp /media/samba/private

С помощью инструментов Samba создадим пароль для добавленного пользователя:

smbpasswd -a user1

С помощью текстового редактора, например, nano, редактируем конфигурационный файл samba:

nano /etc/samba/smb.conf

Удаляем все строки из файла. Вставляем следующие:

[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[public]
path = /media/samba/public
guest ok = yes
force user = nobody
browsable = yes
writable = yes
[private]
path = /media/samba/private
valid users = @smbgrp
guest ok = no
browsable = yes
writable = yes

Сохраняем используя сочетание Ctrl + X, затем нажимаем Y и Enter.

Объясним значения строк. конфигурационный файл состоит из трех секций:

global — данная секция отвечает за общие настройки Samba-сервера;

public и private — секции описания настроек директорий общего доступа.

В секции global присутствуют пять параметров:

  • workgroup — рабочая группа. Для упрощения работы пользователей WORKGROUP указывается, как группа по умолчанию. Если в вашей сети имя рабочей группы изменено, то следует изменить это значение и для Samba;
  • security — уровень безопасности сервера. Значение user означает авторизацию по паре логин/пароль;
  • map to guest — параметр определяет способ обработки запросов. Значение bad user означает, что запросы с неправильным паролем будут отклонены, даже если такое имя пользователя существует;
  • wins support — включить или выключить поддержку WINS;
  • dns proxy — возможность проксирования запросов к DNS.

Настройки директорий выполняются в соответствующих секциях:

path — полный путь до директории на жестком диске;

guest ok — возможность доступа к каталогу без пароля (гостевой);

browsable — показывать ли каталог (“шару”) на сервере среди прочих. Если параметр установлен как “no”, то доступ будет возможен по полному пути, например ip-addresshidden_directory;

force user — пользователь от которого ведется работа с каталогом. Для повышения безопасности сервера, обычно используют nobody. Главное, не использовать пользователя root — это небезопасно.

writable — установка значения как “yes” позволяет пользователю выполнять действия над файлами внутри каталога — переименование, добавление, удаление, перемещение в подкаталог и копирование;

valid users — список пользователей у которых есть доступ к каталогу. Если пользователей несколько, их имена указываются через запятую. Если необходим доступ для пользователей принадлежащих группе, перед именем группы устанавливается символ ”at” @ (“собака”).

Важно! Имя директории общего доступа, отображаемое пользователям, равно имени секции в которой оно описано.

Проверяем настройки с помощью команды:

testparm -s

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

service smbd restart

service nmbd restart

Настроим межсетевой экран. Для этого в правилах откроем TCP-порты 139 и 445, а также UDP-порты 137 и 138, но только для тех подсетей, которым доверяете. Для указания собственного диапазона адресов, замените значение после ключа “-s”:

iptables -A INPUT -p tcp -m tcp --dport 445 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 139 -s 10.0.0.0/24 -j ACCEPT

iptables -A INPUT -p udp -m udp --dport 137 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 138 -s 10.0.0.0/24 -j ACCEPT

Для сохранения правил и применения их после перезагрузки сервера следует воспользоваться пакетом iptables-persistent. Установим его:

apt-get install iptables-persistent

Входе установки пакета, программа предложит запомнить существующие правила iptables. Подтверждаем это действие.

Для проверки существующих правил используем:

iptables -L

Windows

По аналогии с Linux, настроим общий доступ к папкам public и private, но в ОС Windows.

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

Панель управления → Сеть → Центр управления сетями и общим доступом → Расширенные настройки общего доступа.

В обновленном окне открываем раздел “Все сети” и ищем секцию “Общий доступ с парольной защитой”. Устанавливаем параметр в положение “Отключить общий доступ с парольной защитой”. Для сохранения значений параметра кликаем по кнопке “Сохранить изменения”.

Отключаем общий доступ с парольной защитой

Теперь откроем доступ к самому каталогу. Кликаем по папке правой кнопкой мыши, в контекстном меню выбираем “Свойства”. Открываем вкладку “Доступ” и кликаем по “Расширенная настройка”.

Выбираем расширенную настройку

В открывшемся окне расширенных настроек общего доступа отмечаем галочкой “Открыть общий доступ к этой папке”, в поле “Имя общего ресурса” указываем название, которое будет отображено пользователям. Кликаем по кнопке “Разрешения”.

В открывшемся окне, в группах пользователей выбираем “Все”, а в разрешениях для группы, устанавливаем галку “Полный доступ”. Нажимаем “OK” в этом и остальных окнах.

Выбираем саму группу и разрешения для группы

В окне свойств папки public кликаем по кнопке “Общий доступ”.

Общий доступ к файлам в Samba | Serverspace

В открывшемся окне добавляем пользователя “Все”, а также делегируем права на “Чтение и запись”. Кликаем по кнопке “Поделиться”.

Выбираем права и делимся ими с пользователями

В обновленном окне нажимаем “Готово”.

Нажимаем готово

Настроим папку общего доступа, но для ограниченного круга лиц.

Кликаем правой кнопкой мыши по папке, выбираем “Свойства”.

В открывшемся окне переходим на вкладку “Доступ”. Кликаем по кнопке “Расширенные настройки”.

В новом открывшемся окне, устанавливаем галку “Открыть общий доступ к этой папке”. Затем кликаем по кнопке “Разрешения”.

Открываем общий доступ к этой папке

В открывшемся окне, в поле “Группы или пользователи” выбираем “Все” и нажимаем кнопку “Удалить”.

Удаляем пользователя

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

Окно обновится. Кликаем по кнопке “Добавить”.

В открывшемся окне кликаем по кнопке “Дополнительно”.

Выбираем дополнительные параметры

Окно изменится в размере. Кликаем по кнопке “Поиск”. Двойным кликом выбираем пользователя, которому необходим доступ к этому каталогу, например, buhgalter.

Добавляем пользователя которому нужен доступ к этому каталогу

В открывшемся окне, при желании, можем добавить еще одного пользователя через “Дополнительно” — “Поиск”. Аналогичным образом можно добавить группу пользователей, например, “Администраторы”, при этом следует понимать, что доступ будет предоставлен всем пользователям из этой группы.

При желании добовляем еще одного пользователя

Установим права доступа для пользователя “buhgalter”. Если требуется полный доступ к директории, устанавливаем галку в соответствующем месте.

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

Нажимая кнопки “OK” возвращаемся к окну свойств папки, в котором кликаем по кнопке “Общий доступ”.

Возвращаемся обратно и выбираем общий доступ

В данном окне необходимо найти и добавить пользователя “бухгалтер”.

Ищем нашего пользователя и добавляем его

В окне выбора пользователей и групп кликаем по кнопке “Дополнительно”.

Выбираем дополнительные параметры

Окно снова изменит свои размеры. Кликаем по кнопке “Поиск”. В найденном ниже списке пользователей и групп выбираем искомого пользователя. Выбираем его двойным кликом.

Выбираем пользователей

В оставшемся окне проверяем правильно ли указан пользователи и нажимаем кнопку “OK”.

Проверяем выбранного пользователя

Устанавливаем требуемый уровень разрешений для пользователя и кликаем по кнопке “Поделиться”.

Добавляем права и делимся ими

Кликаем по кнопке “Готово”.

Теперь папка общего доступа доступна

Подключение к общим папкам

Из Linux

Для подключения к общим папкам из среды Linux требуется установка отдельного программного обеспечения — smbclient. Установим:

sudo apt-get install smbclient

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

smbclient -U <Имя_пользователя> <IP-адрес><Имя_каталога_на_сервере>

Пример:

smbclient -U buhgalter 10.0.0.1public

Для того, Чтобы не вводить эту команду каждый раз, можно настроить монтирование общей директории как сетевого диска. Для этого установим пакет cifs-utils:

sudo apt-get install cifs-utils

Монтирование выполняется по следующему шаблону:

mount -t cifs -o username=<Имя_пользователя>,password= //<IP-адрес>/<Общий каталог> <Точка монтирования>

Пример:

mount -t cifs -o username=Everyone,password= //10.0.0.1/public /media

Важно! Если требуется подключение к общим папкам расположенным на Windows-сервере, то в для не защищенных паролем директорий, в качестве имени пользователя, следует использовать “Everyone”. Для подключения к Linux-серверу рекомендуем использовать в качестве имени пользователя “nobody”. В случае доступа к защищенным директориям следует использовать те учетные данные, которые вы указали.

Из Windows

Подключение к удаленным папкам из среды Windows выполняется немного иначе. Для этого в проводнике или окне запуска программ (Windows + R), следует использовать следующий шаблон:

<IP-адрес><имя_папки>

Указав просто IP-адрес сервера вы получите список общих папок.

Список общих папок

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

Для подключения к общей папке выбираем Everyone и пустое поле для пароля

При подключении к Linux-серверу из ОС Windows, следует использовать указанный ранее шаблон:

<IP-адрес><имя_папки>

или просто адрес сервера:

<IP-адрес>

Как создать общий сетевой ресурс в Samba

Создайте директорию, которую в хотите сделать общей:

mkdir /home/<user_name>/<folder_name></folder_name></user_name>

Создайте бэкап, если что-то пойдет не так:

sudo cp /etc/samba/smb.conf ~

Отредактируйте файл «/etc/samba/smb.conf»:

sudo nano /etc/samba/smb.conf

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

[<folder_name>]
path = /home/<user_name>/<folder_name>
valid users = <user_name>
read only = no</user_name></folder_name></user_name></folder_name>

Заполните файл своими данными, сохраните его и затем закройте

Перезапустим Samba:
sudo service smbd restart

Использую данную команду проверьте вашу директорию smb.conf на ошибки:

testparm

Чтобы получить доступ к вашему общему сетевому ресурсу:

sudo apt-get install smbclient
# Просмотр всех общих ресурсов:
smbclient -L //<host_ip_or_name>/<folder_name> -U <user>
# Подключение:
smbclient //<host_ip_or_name>/<folder_name> -U <user></user></folder_name></host_ip_or_name></user></folder_name></host_ip_or_name>

Note 1: Чтобы подключиться к вашему общему сетевому ресурсу используйте имя вашего пользователя () и пароль, который находится «smb:////»
Учтите, что «» значение передается в «[]»,
другими словами, имя общего ресурса, которое вы ввели в «/etc/samba/smb.conf».
Note 2: Группа пользователей samba по умолчанию это — «WORKGROUP».

Обновлено Обновлено: 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.

Содержание

  1. Домашний сервер. Часть 2. FTP, Samba и rTorrent
  2. Файловый сервер SAMBA на базе Linux CentOS 7
  3. Установка CentOS 7
  4. Получение ip адреса по DHCP
  5. Установка на VM агентов для взаимодействия с хост сервером
  6. Установка обновлений
  7. Midnight Commander
  8. Настройка сети
  9. Настройка FQDN
  10. SELINUX
  11. SAMBA
  12. firewallD
  13. Общий ресурс с анонимным доступом
  14. Бантики
  15. Подключение диска
  16. Подключение образа диска
  17. Подключение RAM диска
  18. Удаление старых файлов
  19. Ограничение доступа к SAMBA по ip адресам
  20. Аутентификация и авторизация пользователей
  21. Интеграция с Active Directory
  22. winbind
  23. Добавление хоста в AD
  24. Что делает утилита authconfig-tui?
  25. Настройка Samba
  26. Настройка общих папок
  27. Linux
  28. Общий доступ к папкам в локальной сети между Ubuntu и Windows
  29. Общие папки в локальной сети в Ubuntu
  30. Метод 1. Общий доступ к папкам в локальной сети без пароля
  31. Разрешение на совместное использование в Убунту
  32. Шаг 2: Включение совместного доступа в Windows
  33. 2. Общий доступ к папкам в локальной сети в Ubuntu с помощью парольной защиты
  34. Что такое Самба?
  35. Инсталляция сервера Samba на Ubuntu
  36. Настройка сервера Samba в Ubuntu
  37. Создание системного пользователя для совместного использования файлов в сети
  38. Добавление нового пользователя Samba
  39. Общий доступ к папкам или файлам по сети
  40. Удаление общих папок

Домашний сервер. Часть 2. FTP, Samba и rTorrent

Пришло время организовывать файловое хранилище, как внутри сети так и снаружи. Данная статья является продолжением первой части, посвященной настройки WiFi роутера на Вашем домашнем сервере. Все жесткие диски с Вашего домашнего компьютера(кроме системного) можно перенести на сервер, поскольку скорость передачи данный колеблется в районе 10-20 мегабайт в секунду [данный параметр еще и очень сильно зависит от модели Вашего жесткого диска], да и кстати, давно уже пора для системного диска покупать SSD накопители.

FTP Server.
Существует множество ftp серверов для linux, много хороших, много плохих, но есть лучший [естественно, что это субъективное мнение, и лучший он для меня] и это vsftpd. Его мы и будем рассматривать.
Скачать его можно из стандартных репозитариев OpenSUSE, выполнив в терминале команду:

Теперь перейдем к описанию. Это консольный ftp server, у него нет GUI [графическая оболочка], поэтому вся настройка происходит в одном единственном конфиге, по адресу /etc/vsftpd.conf.
Вот пример рабочего конфига:

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

В данном примере и пользователи, и распределение прав доступа этих самых пользователей берется из системы, дополнительный конфиг-файл не используется.
image loader
Рисунок 1. Выставление прав
На этом собственно всё.

Samba.
Хотите всегда иметь под рукой файловое хранилище всех коллекций и всего прочего с ноутбука, с домашнего компьютера, с телефона, с планшета? Поехали.

Изначально, при стандартной установке системы OpenSUSE всё что нужно для установки и настройки samba на сервере уже предустановлено. Поэтому перейдем непосредственно к настройке. Поскольку доступ из под ОС Windows в качестве «Подключения сетевого диска» будет доступен только внутри Вашей локальной сети [для интернета есть ftp сервер, да и к тому же, вывешивать самбу в интернет крайне не безопасно, а мы же, — «ЗА СЕКЬЮРНОСТЬ. УРА!»] поэтому настройки будут крайне банальны и просты в понимании. Есть два [известных мне и адекватных на мой взгляд] настройки самбы, это через, всё тот самый, конфигурационный файл и при помощи утилиты — WebMin. Это дико-крутая штука, особенно для тех, кто не любит ковырять конфиги [но и здесь есть свои ньюансы]. В данной статье не будем останавливаться на средствах «для ленивых«, поэтому продолжаем. Мы будем рассматривать рабочий конфиг файл. Находится он по адресу: /etc/samba/smb.conf. Вот он:

Также, дополнительную настройку можно выполнить через встроенный в YaST GUI samba.

Того пользователя, что мы указали в самом начале конфига, в данном примере это пользователь nobody, необходимо создать непосредственно в системе. Задать ему необходимые права (дома, имеет смысл поставить полные права, на создание, удаление, редактирование всех файлов и папок (т.е. права 777). Также, если Вы столкнетесь с ситуацией, когда по какой-то причине станет невозможным удаление/создание файлов в какой-либо из папок на сервере, то выполните команду:

Разберем её, на всякий случай:
chmod — команда установки прав.
777 — собственно права, в буквенном обозначении означают rwx, rwx, rwx — права чтение, запись, выполнение для владельца, группы(где состоит владелец), всех.
-R — ключ рекурсии, для того чтобы команда выполнилась не только для той папки(и файлов, находящихся в ней), которую Вы указали в /path, но и для всех под-папок и файлов в них тоже.
/path — путь до папки, на которую необходимо установить права. Аналогичная команда соответствует FTP серверу, если возникли похожие проблемы. Да, и надо оговориться, что если возникают подобные проблемы, то скорей всего проблема кроется в пользователях созданных в системе, а точнее в правах, выданных на использование их домашних директорий.

rTorrent.
Полу-автоматизированный торрент клиент.
На самом деле, это обычный торрент клиент, но, возможности настройки которого, очень богаты разнообразием. Сейчас мы с Вами разберём одну очень полезную функцию данного клиента. Представьте, Вы уже настроили самбу на Вашем домашнем сервере, файловое хранилище, находящееся на сервере подключена к Вашему компьютеру как Сетевой Диск, Вы открываете Ваш сетевой диск, открываете папку torrents, там открываете папку music и перемещаете туда все торрент файлы с музыкой, которые Вы хотите скачать и… всё, ложитесь спать. На утро уже будут скачены и проверены хеши всех торрентов, что Вы туда положили (тут конечно всё зависит от того сколько торрентов Вы хотите скачать, какой у них вес и какова ширина Вашего интернет канала). Нравится? Вот и я балдею уже как пол года, от этой функции.
Давайте разбираться.
Вам надо установить rtorrent, выполняем следующую команду в терминале:

1
Рисунок 2. Главное окно программы rTorrent

Собственно и все. Далее хитрый приём, — открываем консоль и пишем(можно и по ssh зайти на сервер):
screen rtorrent
Далее, в терминале откроется торрент-клиент, там же Вы его можете настроить и отладить дополнительно. Теперь нажимаем волшебные комбинации клавиш Ctrl+A затем Ctrl+D и консоль радостно Вас оповестит, что:
[detached]

2
Рисунок 3. «Заскринивание» процесса программы rTorrent.

Это говорит о том, что процесс Вашего торрент-клиента «закринин», то есть выполняется, но его при этом не видно. Для тех, адептов, кому всегда, всё интересно, может прочесть вот здесь про данную утилиту обременять голову такими вещами (хотя, они очень интересные и познавательные, и применяются часто) принудительно я не хочу.
Если Вам понадобилось заного открыть клиент, пишем:

На этой «важной» ноте, я хочу закончить данную статью. Спасибо за внимание, и да, пользуйтесь поисковиком Google, он молодец!

Если ошибся топиком, подскажите куда перенести.

Источник

Файловый сервер SAMBA на базе Linux CentOS 7

image loader

Привет Хабр!
После активности шифровальщика Petya 27.06.2017, я отключил SMB1 он же CIFS, и получил производственное оборудование и сетевые МФУ которые не умеют работать на «новых» версиях SMB протокола.

Как тогда получать данные с «старых» устройств? Как показала практика, отдельная «машина» с Windows не выход, во время атаки кроме доменных «машин» пострадали также не включенные в домен, по этому, а также по лицензионным соображениям я решил использовать Linux.

Под катом находится пошаговая инструкция по установке и настройке файлового сервера SAMBA на базе CentOS 7:

— Анонимный доступ
— Аутентификация и авторизация
— Интеграция с Active Directory

Установка CentOS 7

Сервера работают под управлением VMware ESXi, и по этому я установил CentOS 7 1611 на VM, выделив 1 CPU, 1GB RAM и 3GB HDD.

LVM я не использую, SWAP раздел не создаю, на загрузочный раздел выделяю 500MB, а все остальное отдаю под корень файловой системы. В качестве файловой системы использую ext4.

image loader

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

Если вы новичок в линукс, делайте копии оригинальных файлов с конфигами, используйте команду cp.

Получение ip адреса по DHCP

Если по какой-то причине в сети нету DHCP сервера, вам стоит его поднять. Работать с большим количеством VM без DHCP не удобно.

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

CentOS 7 использует пакетный менеджер YUM. Шпаргалка по yum находится тут.

Если выход в интернет организован через прокси сервер, добавьте адрес прокси в файл конфигурации /etc/yum.conf, используйте редактор vi или следующую команду

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

Установка на VM агентов для взаимодействия с хост сервером

Для VMware ESXi необходимо установить open-vm-tools

Для Hyper-V, hyperv-daemons

Установка обновлений

Очень важно установить все доступные обновления

Midnight Commander

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

Настройка сети

Для настройки статического ip адреса и имени хоста можно использовать утилиту nmtui

image loader

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

Статический ip и gateway задается следующей командой, где «ens192» это имя сетевого адаптера

Настройка FQDN

Пусть полное имя хоста будет ls01.fqdn.com, выполняем команду

Перезагружаем службу имен

Проверить результат можно следующими командами

Если протокол ipv6 не используется, логично его отключить, для этого нужно добавить два параметра в файл /etc/sysctl.conf, выполните следующие команды или используйте редактор mcedit

Перезагрузите службу сети

SELINUX

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

Измените значение SELINUX в файле /etc/selinux/config на SELINUX=disabled затем перезагрузите сервер.

Вернусь к SELINUX в конце статьи.

SAMBA

Добавление службы в автоматический запуск

Запуск службы и проверка состояния

firewallD

По умолчанию CentOS 7 использует брандмауэр firewallD, состояние службы можно узнать командой

Для получения списка правил и сервисов используйте

image loader

Обратите внимание на список сервисов, если вы отключили протокол ipv6, логично также поступить и с dhcpv6-client

Создаем правило для SAMBA и перезагружаем

Общий ресурс с анонимным доступом

Создаем папку для ресурса /samba/guest

Меняем владельца и назначаем права

Редактируем файл конфигурации SAMBA /etc/samba/smb.conf

Меняем содержание оригинального файла на следующее

[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
min protocol = NT1

[guest]
path = /samba/guest
guest ok = Yes
writable = Yes

На всякий случай я указал минимальную версию протокола SMB=NT1. Если вы укажите SMB2 или SMB3, клиенты с Windows XP и ниже не смогут получить доступ к ресурсам.

Проверка параметров и перезагрузка службы

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

Бантики

[global]
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes

Конфигурация SAMBA находиться в каталоге /etc/samba, а логи в каталоге /var/log/samba
Мне удобней все инструменты держать по рукой, по этому я монтирую необходимые мне каталоги в /samba

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

Редактируем конфиг файл /etc/fstab, я предполагаю что вы знаете за что отвечает fstab.

Добавляем следующие строки

/etc/samba /samba/smbconf none bind 0 0
/var/log/samba /samba/smblogs none bind 0 0

Монтируем без перезагрузки

Подключение диска

Держать ресурс с общим доступом на системном диске без квоты, не лучший выбор. С квотами я решил не связываться, мне проще подключить отдельный «физический» диск.

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

Создание таблицы разделов на диске /dev/sdb

Подробную информация про gpt можно прочитать тут

Создание раздела на весь диск sdb, в лучших традициях жанра я решил сделать отступ 1MiB в начале диска.

Создаем файловую систему ext4

Добавляем еще одну строку

/dev/sdb1 /samba/guest ext4 defaults 0 0

Подключение образа диска

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

Создаем каталог для хранения образов

Создаем файл образа размером 100 мб

Про команду dd много интересного можно прочитать тут

В варианте с образом я решил не создавать таблицу разделов, просто создаем файловую систему ext4.

Конфиг для монтирования образа

/samba/smbimg/100M.img /samba/guest ext4 defaults 0 0

Подключение RAM диска

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

Конфиг для RAM диска

none /samba/guest tmpfs defaults,size=100M 0 0

Удаление старых файлов

В случае «файлопомойки» ресурсы нужно как-то освобождать, для этого можно использовать планировщик задач crontab

#удалять файлы и каталоги каждый час
* 0-23 * * * rm –R /samba/guest/*

Логи службы crontab находятся в файле /var/log/cron

Ограничение доступа к SAMBA по ip адресам

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

[global]
hosts allow = 192.168.1.100, 192.168.1.101
hosts deny = ALL

[guest]
hosts allow = 192.168.0.0/255.255.0.0
hosts deny = 10. except 10.1.1.1

Аутентификация и авторизация пользователей

Ограничение доступа по ip адресам не всегда удобно или возможно, тогда можно использовать логины и пароли.

Сначала необходимо создать локального пользователя в системе

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

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

По умолчанию для хранения паролей используется файл формата tdb, которые расположен в каталоге /var/lib/samba/private/

Изменить каталог расположения файла можно глобальным параметром passdb backend

[global]
passdb backend=tdbsam:/etc/samba/smbpassdb.tdb

tdb файлы были созданы для замены «устаревших» текстовых, если вы хотите использовать текстовые файлы, для этого используйте параметр passdb backend=smbpasswd в разделе global
passdb backend=smbpasswd:/etc/samba/smbpasswd

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

[guest]
path = /samba/guest
writable = no
read list = user1, @group2
write list = user2, user3

Интеграция с Active Directory

Также есть возможность получать информацию о пользователей из LDAP, но мне этот вариант не интересен и я сразу перехожу к AD. Подробная инструкция от Microsoft находится тут.

Для AD очень важна синхронизация времени, по этому стоит начать с этого.

Установка соответствующей службы

Добавляем в конфиг файл /etc/ntp.conf сервера выполняющих роль домен контроллеров

server 192.168.1.10
server 192.168.1.20
server someserver.contoso.com

Добавляем службу ntp в автоматический запуск

Проверяем синхронизацию времени

winbind

Для получения информации о пользователях из AD необходимо установить пакет samba-winbind

Добавляем службу в автоматический запуск

Добавление хоста в AD

Напомню что в начале даной инструкции задали имя хоста ls01.fqdn.com. Будем считать что полное имя домена fqdn.com, а короткое пусть будет fqdn_com

Для внесения всех необходимых параметров в конфигурационные файлы можно воспользоваться утилитой authconfig-tui, установите флажок Use Winbind, затем перейдите на следующее окно

image loader

Выберите модель безопасности ADS и укажите имена вашего домена. В поле домен контролер укажите “*”, это необходимо для автоматического поиска доступного домен контроллера. Затем нажмите ОК и закройте утилиту.

image loader

Для добавления хоста в AD используйте команду net ads join –U %username%, пользователь должен обладать правами на создание учетной записи ПК в домене

image loader

Если машина не добавляется в домен, добавьте FQDN имя хоста в файл /etc/hosts.
Я несколько раз все проверял, и в файл hosts я вносил изменения когда на этапе настройки сети задавал не полное имя хоста.

Для того чтобы вывести хост из домена используйте команду net ads leave –U %username%

Что делает утилита authconfig-tui?

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

passwd: files sss winbind
shadow: files sss winbind
group: files sss winbind

[global]
workgroup = FQDN_COM
password server = *
realm = FQDN.COM
security = ads
idmap config *: range = 16777216-33554431
template shell = /sbin/nologin
kerberos method = secrets only
winbind use default domain = false
winbind pffline logon = false

Вы могли заметить что данная утилита вносит заметно меньше параметров чем написано в инструкции от Microsoft или других инструкциях, но если так работать – то почему бы и нет?

Из инструкции Microsoft я добавляю следующие параметры в конфиг

[global]
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no

[domain users read only]
path = /samba/guest
read list = «@fqdn_comdomain users»
force create mode = 777
directory mask = 777

[domain users writable]
path = /samba/guest
read list = «@fqdn_comdomain users»
write list = «@fqdn_comdomain users»
force create mode = 777
directory mask = 777

Перезапускаем службу samba

На скриншоте видно пользователя домена который находится в одной из общих папок
image loader

Список полезных ссылок:

P.S.
Вернемся к SELINUX, чтобы SAMBA сервер мог предоставить доступ к любым каталогам необходимо выполнить следующие команды

К сожалению я так и не смог настроить работу winbind при включенном SELINUX, если подскажете как, я буду благодарен.

Источник

Настройка Samba

Что такое Samba?

36 1

Настройка общих папок

Linux

Установка и настройка Samba-сервер для Ubuntu выполняется следующими этапами.

Обновляем информацию о репозиториях и устанавливаем обновления для существующих пакетов в системе:

apt-get update && apt-get upgrade

Устанавливаем пакет Samba:

Создадим резервную копию файла конфигурации:

cp /etc/samba/smb.conf /etc/samba/smb.conf_sample

Создадим директории для файлов, например в каталоге /media:

Важно! По умолчанию, директория /media располагается в корне системы /, для нее редко создается свой раздел. По этой причине возможно переполнение корневого раздела. Во избежание этой неприятной ситуации, рекомендуем монтировать отдельный жесткий диск в /media/samba.

Создаем каталог для всех пользователей:

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

Также следует воспользоваться командой chown для смены владельца и/или группы.

Создаем директорию для ограниченного круга лиц:

С помощью системных инструментов создадим группу пользователей:

Добавляем пользователей Samba:

Созданных пользователей добавляем в группу:

Изменим группу, которой принадлежит приватная директория:

chgrp smbgrp /media/samba/private

С помощью инструментов Samba создадим пароль для добавленного пользователя:

С помощью текстового редактора, например, nano, редактируем конфигурационный файл samba:

Удаляем все строки из файла. Вставляем следующие:

[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[public]
path = /media/samba/public
guest ok = yes
force user = nobody
browsable = yes
writable = yes
[private]
path = /media/samba/private
valid users = @smbgrp
guest ok = no
browsable = yes
writable = yes

Сохраняем используя сочетание Ctrl + X, затем нажимаем Y и Enter.

Объясним значения строк. конфигурационный файл состоит из трех секций:

В секции global присутствуют пять параметров:

Настройки директорий выполняются в соответствующих секциях:

Важно! Имя директории общего доступа, отображаемое пользователям, равно имени секции в которой оно описано.

Источник

Общий доступ к папкам в локальной сети между 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. Если у вас есть вопросы или предложения, не стесняйтесь задавать их в поле для комментариев ниже.

Источник

One of the most common ways to network Ubuntu and Windows computers is to configure Samba as a File Server. This section covers setting up a Samba server to share files with Windows clients.

The server will be configured to share files with any client on the network without prompting for a password. If your environment requires stricter Access Controls see Share Access Control.

Installation

The first step is to install the samba package. From a terminal prompt enter:

$ sudo apt install samba

That’s all there is to it; you are now ready to configure Samba to share files.

Configuration

The main Samba configuration file is located in /etc/samba/smb.conf. The default configuration file has a significant number of comments in order to document various configuration directives.

Note

Not all the available options are included in the default configuration file. See the smb.conf man page or the Samba HOWTO Collection for more details.

First, edit the workgroup parameter in the [global] section of /etc/samba/smb.conf and change it to better match your environment:

workgroup = EXAMPLE

Create a new section at the bottom of the file, or uncomment one of the examples, for the directory to be shared:

[share]
    comment = Ubuntu File Server Share
    path = /srv/samba/share
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0755
  • comment: a short description of the share. Adjust to fit your needs.

  • path: the path to the directory to share.

    This example uses /srv/samba/sharename because, according to the Filesystem Hierarchy Standard (FHS), /srv is where site-specific data should be served. Technically Samba shares can be placed anywhere on the filesystem as long as the permissions are correct, but adhering to standards is recommended.

  • browsable: enables Windows clients to browse the shared directory using Windows Explorer.

  • guest ok: allows clients to connect to the share without supplying a password.

  • read only: determines if the share is read only or if write privileges are granted. Write privileges are allowed only when the value is no, as is seen in this example. If the value is yes, then access to the share is read only.

  • create mask: determines the permissions new files will have when created.

Now that Samba is configured, the directory needs to be created and the permissions changed. From a terminal enter:

$ sudo mkdir -p /srv/samba/share
$ sudo chown nobody:nogroup /srv/samba/share/

Note

The -p switch tells mkdir to create the entire directory tree if it doesn’t exist.

Finally, restart the samba services to enable the new configuration:

$ sudo systemctl restart smbd.service nmbd.service

Warning

Once again, the above configuration gives all access to any client on the local network. For a more secure configuration see Share Access Control.

From a Windows client you should now be able to browse to the Ubuntu file server and see the shared directory. If your client doesn’t show your share automatically, try to access your server by its IP address, e.g. \192.168.1.1, in a Windows Explorer window. To check that everything is working try creating a directory from Windows.

To create additional shares simply create new [sharename] sections in /etc/samba/smb.conf, and restart Samba. Just make sure that the directory you want to share actually exists and the permissions are correct.

Note

The file share named “[share]” and the path /srv/samba/share are just examples. Adjust the share and path names to fit your environment. It is a good idea to name a share after a directory on the file system. Another example would be a share name of [qa] with a path of /srv/samba/qa.

Resources

  • For in depth Samba configurations see the Samba HOWTO Collection

  • The guide is also available in printed format.

  • O’Reilly’s Using Samba is another good reference.

  • The Ubuntu Wiki Samba page.

 Для организации доступа к файлам расположенным на linux машинах с компьютеров под управлением ОС windows, был специально разработан пакет программ, которые позволяют обращаться к сетевым дискам и принтерам по протоколу SMB/CIFS. samba

 Пакет Samba имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущенным под лицензией GPL. Samba представляет собой протокол, используемый Microsoft для разделения файлов и служб печати. Этот протокол был разработан в 1987 году и позже перенесен на платформы Linux Эндрю Триджеллом (Andrew Tridgell). Взаимодействие в сети компьютеров под управлением Windows построено на использовании протокола SMB (Server Message Block) — блоках серверных сообщений. Пакет Samba обеспечивает выполнение всех необходимых в этих случаях задач по открытию, закрытию, чтению, записи, поиску файлов, созданию и удалению каталогов, постановке задания на печать и удалению его оттуда. Возможности его условно можно разделить на две категории: предоставление ресурсов (под коими понимается доступ к системе принтеров и файлам) для клиентов Windows и доступ к ресурсам клиентов. То есть, компьютер под управлением Linux может выступать как в роли сервера, так и клиента. Огромным плюсом пакета samba является контроль доступа, который может быть реализован либо на уровне ресурсов (share level), когда какому-либо ресурсу в сети назначается пароль и соответствующие правила использования или же более совершенную и гибкую организацию на уровне пользователя, когда для каждого пользователя создается учетная запись на сервере, где помимо имени и пароля содержится вся необходимая информация о правах доступа к ресурсу. Прежде чем получить доступ к требуемому ресурсу, каждый пользователь проходит аутентификацию, после чего ему и предоставляются права согласно учетным записям.

Samba сервер

Для работы Samba-сервера необходимо, чтобы были запущены два демона: smbd, обеспечивающий работу службы печати и разделения файлов для клиентов Samba сервера под управление ОС Windows, и nmbd, обеспечивающий работу службы имен NetBIOS. Для доступа к клиентам используется протокол TCP/IP. Как правило, Samba устанавливается вместе с дистрибутивом Linux. Проверить можно выполнив команду: $ whereis samba. И если не установлен то $ yum install samba-server

Samba клиент

Для доступа к сетевым ресурсам Windows из Linux необходим клиент Samba, и для того чтобы оценить доступность ресурсов Windows достаточно выполнить команду /usr/bin/smbclient -L host_name. Долее строка запросит пароль, но в большинстве случаев достаточно нажать Enter. Положительным аспектом клиента Samba является, то, что он отлично видит скрытые сетевые ресурсы, это те диски сетевое имя которых заканчивается знаком $.) Дальнейшем работа происходит путем набора команд, с помощью которых можно произвести все необходимые операции по работе с файлами. Для получения справки достаточно выполнить smb: > help.

Достаточно многие пользователи 1с Предприятие используют БД в файловом варианте, ну, так, уж повилось:) и поэтому для грамотного взаимодействия пользователей с базой можно использовать сервер Samba. Что позволит ограничить доступ, или совсем его закрыть к базам 1с.

Конфигурация сервера Samba

Конфигурационный файл Samba называется smb.conf и находится в корневом каталоге /еtc или /etc/samba. Сервис Samba считывает его каждые 60 секунд, поэтому изменения, внесенные в конфигурацию, вступают в силу без перезагрузки, но не распространяются на уже установленные соединения. Файл конфигурации содержит четыре раздела: [global], [homes], [printers] и [shares]. Открыть для редактирования файл конфигурации можно командой: mcedit /etc/samba/smb.conf Раздел [global] содержит наиболее общие характеристики, которые будут применяться везде, но которые, впрочем, затем можно переопределить в секциях для отдельных ресурсов. Некоторые параметры этого раздела имеют отношение и к настройке клиентской части Samba.

Параметры раздела [global]

workgroup # имя_группы в сети Windows. netbios name # netbios имя сервера в локальной сети. server string # строка комментария, который виден в окне свойств просмотра локальной сети. guest ok = yes # разрешение гостевого входа на сервер. guest ok = no # гостевой вход запрещен. guest account # аккаун, под которым разрешен гостевой вход на сервер. security = user # доступ с аутентификацией на уровне пользователя. security = share # вход свободный. hosts allow # определяет клиентов, которым разрешен доступ к серверу. interfaces # указывает в какой сети будет работать сервер.

Параметры раздела [home]

comment # комментарий в окне свойств сети. browseable # определяет, будет ли виден ресурс в списке просмотра сети. writable # разрешает или запрещает запись в домашнюю директорию. create mode # определяет права доступа для вновь созданных файлов. directory mode # определяет права доступа для каталогов.

Устанавливаем web-интерфейс SWAT (Samba Web Administration Tool) для работы с smb.conf

В большинстве случаев настройка Samba заключается в редактировании основного конфигурационного файла /etc/samba/smb.conf и управлении пользователями с помощью smbpasswd. Изменения можно производить в редакторе mcedit, nano или kwrite. Если это непривычно — можно использовать web-интерфейс SWAT (Samba Web Administration Tool) который для удобства пользователей Linux был создан разработчиками пакета Samba.

Установить пакет samba-swat можно командой:
yum install samba-swat По умолчанию в целях безопасности SWAT отключен и поэтому заходим:
mcedit /etc/xinetd.d/swat и меняем значение параметра:
disable = no Для предоставления возможности удаленного администрирования необходимо в параметр only_from добавить допустимый ip. И сделать рестарт:
service xinetd restart Все! samba-swat теперь доступен по URL http://localhost:901/ а номер порта в целях безопасности можно изменить в файле:
mcedit /etc/xinetd.d/swat

Расшариваем папки и меняем доступ к директориям Samba:

Конструкция нашего файлового сервера будет придерживаться следующей структуры:
[base] — каталог в котором будут хранится базы 1с, с ограничением доступа по ip;
[other++] — остальные каталоги с предоставлением доступа на уровне авторизации пользователя, их может быть много, все зависит от поставленной задачи. sudo mkdir samba # Создаем корневую папку Samba Внутри создаем еще две [base] и [other], открывает smb.conf устанавливаем в параметрах [global]:
security = share # Пользователи не будут проходить систему авторизации. Теперь в параметре [base] делаем ограничение по ip:
hosts allow 10.4.8.32 10.4.8.33 # Разрешаем доступ к каталогу только 10.4.8.32 и 10.4.8.33 guest ok = yes # Разрешаем гостевой вход в каталог Переходим к каталогу [other] и выставляем ограничение доступа по имени пользователя и паролю:
valid user = glavbuh geo# Это - список пользователей, которым разрешен доступ к ресурсу. username = glavbuh geo# Имя пользователя директории [other] glavbuh.

Синтаксис измененных параметров можно проверить командой:

testparm /etc/samba/smb.conf

Остается создать пользователей glavbuh и geo задав пароль, для входа в каталог [other]. Добавляем пользователей в Samba smbpasswd -a <имя_пользователя> И разрешаем пользователей в Samba
smbpasswd -e <имя_пользователя>

Понравилась статья? Поделить с друзьями:
  • Настройка файлового сервера windows server 2019 с нуля
  • Настройка шрифтов в windows 10 сглаживание
  • Настройка цветового профиля монитора в windows 11
  • Настройка файлового сервера windows server 2016 с нуля
  • Настройка шрифтов cleartype в windows 10