Как создать файл сервер linux

Совет # 94: Создаем файловый сервер

Открываем общий доступ к файлам из компьютеров с системами Linux, Windows и Macintosh.

Есть много различных протоколов для общего доступа к файлам, у каждого из которых есть сильные и слабые стороны и каждый из которых был разработан под конкретную платформу. Традиционными протоколами доступа к файлам в Unix является NFS (Network File System), в Mac OS — AppleShare, а в Windows — SMB (Server Message Block). Запуск файлового сервера в случае, когда доступ происходит из нескольких различных систем, требует одновременной поддержки нескольких протоколов, но в последние годы на всех платформах наблюдается сближение позиций и использование протокола CIFS (Common Internet File System). CIFS берет свое начало от SMB и является стандартным методом обмена файлами в последних версиях Windows. И, благодаря проекту Samba, он также очень хорошо поддерживается как клиент и как сервер в системах Linux и Mac OS.

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

Включаем поддержку квот

Чтобы работать с квотами, сначала установите пакет quota:

Откройте в вашем любимом редакторе файл /etc/fstab (таблицу файловых систем) и найдите строку, в которой указана ссылка на раздел, в котором будет организован совместный доступ. Добавьте параметры usrquota и grpquota . Если ваш домашний директорий /home установлен в отдельном разделе, вам следует для него также добавить те же самые параметры. Конечный результат должен выглядеть примерно так:

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

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

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

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

Устанавливаем Samba

На вашем сервере установите сам пакет Samba, плюс некоторые дополнительные пакеты, в которых находится документация, средства совместного доступа к файлам и средства совместного доступа к принтерам:

В конфигурационном файле Samba, созданном по умолчанию, нужно сделать несколько изменений. Так что откройте в редакторе файл /etc/samba/smb.conf, просмотрите его и сделайте настройки в соответствии со следующим примером. Большую часть примера можно скопировать без всяких изменений, но задайте для переменной WORKGROUP имя домена Windows (вы даже можете оставить его значение равным WORKGROUP ), а для переменной FILESERVER укажите имя хоста вашего сервера Linux:

В следующей закомментированной строке:

определяется скрипт Windows, который будет выполняться на рабочей станции Windows всякий раз, когда пользователь будет входить в систему. Это, действительно, может быть весьма удобно, если вы хотите для всех компьютеров в сети применять стандартные настройки; вы можете задать, как будет отображаться диск сервера, настроить принтеры или сконфигурировать прокси-сервер. Если у вас есть скрипт logon.bat, то раскомментируйте эту строку.

Создайте директории для хранения профилей и информации о входе в домен:

Сделайте так, чтобы Samba увидела вашу новую конфигурацию:

Чтобы включить сервис WINS (Windows Internet Name Service), откройте в редакторе файл /etc/nsswitch.conf и найдите следующую строку:

Замените ее строкой:

Поскольку ваш файл-сервер будет контроллером домена (DC) для вашего домена Windows, вы должны указать компьютеры, которые будут входить в домен. Откройте файл /etc/hosts и добавьте в него все сервера и рабочие станции:

Читайте также:  Windows live sync что это такое

В Windows как правило, есть специальный пользователь с именем Administrator, который аналогичен пользователю root в Linux, так что добавьте пользователя root в базу данных паролей Samba и создайте для него псевдоним. Это позволит вам использовать имя пользователя Administrator при добавлении новых компьютеров в домен Windows:

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

В выданном результате будет указана подробная информация о нескольких стандартных сервисах, таких как netlogon и ADMIN, а также будут перечислены машины, зарегистрированные в домене:

Отобразите несколько стандартных групп, используемых в доменах Windows, в эквивалентные группы в Linux:

Чтобы предоставить пользователям возможность аутентификации в домене, их нужно прописать в контроллере домена. Этот процесс необходимо повторять для каждого пользователя, но сейчас просто создайте одного пользователя, сначала добавив пользователя в Linux и затем установив пароль для этого пользователя в Samba. Этого пользователя также потребуется поместить в группу users , которая только что была сделана псевдонимом группы Windows Domain Users :

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

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

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

Каждый ресурс, для которого открыт общий доступ, должен быть сконфигурирован в Samba. Откройте файл /etc/samba/smb.conf и добавьте к концу файла следующие записи:

Каждый раз, когда вы меняете конфигурацию, вам нужно перезапускать Samba:

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

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

Вы также можете создать совместный доступ только для чтения, задав для параметра writable значение no :

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

В Samba есть огромный спектр возможностей для задания различных вариантов доступа, так что для получения более подробной информации смотрите http://samba.org/samba/docs/ .

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

Если у вас есть принтеры, которые вы хотите сделать доступными для ваших рабочих станций Windows через Samba, то сначала выполните настройки, описанные в разделе «Настройка принтера» [Совет # 9] для того, чтобы принтеры работали локально, а затем используйте команду cupsaddsmb чтобы сообщить Samba, что надо открыть к ним доступ. Чтобы открыть общий доступ ко всем принтерам, наберите:

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

Источник

Установка и настройка файлового сервера в Linux

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

Устанавливаем и настраиваем файловый сервер в Linux

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

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

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

  1. Откройте «Пуск» и запустите оттуда «Командную строку», найдя приложение через поиск.
Читайте также:  Монтирование раздела с windows при установке

Здесь вам потребуется ввести простую команду net config workstation и нажать на клавишу Enter.

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

Здесь в конце вставьте строку 192.168.0.1 srvr1.domain.com srvr1 , заменив IP на адрес компьютера с Samba, и сохраните все изменения.

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

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

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

  1. Откройте меню приложений и запустите «Терминал».

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

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

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

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

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

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

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

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

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

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

[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

Используйте комбинацию Ctrl + O, чтобы сохранить изменения.

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

По завершении выйдите из текстового редактора, зажав Ctrl + X.

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

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

Читайте также:  Kms key used to activate windows running on this pc has been blocked by microsoft

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

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

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

Данное действие выполняется вместе с аргументом sudo, а это значит, что придется ввести пароль для подтверждения учетной записи.

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

Теперь вставьте команду sudo chmod -R 0755 allaccess и нажмите на Enter.

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

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

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

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

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

Перезапустите сервер через sudo systemctl restart samba , чтобы текущие настройки вступили в силу.

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

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

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

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

    Создайте директорию по тому же принципу через sudo mkdir -p /samba/allaccess/secured .

Как вы могли догадаться, это действие тоже следует подтвердить, введя пароль суперпользователя.

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

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

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

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

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

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

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

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

Создайте пароль, который будет отвечать за открытие доступа через sudo smbpasswd -a richard .

Введите ключ безопасности в новую строку, а затем подтвердите его.

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

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

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Оцените статью