Настройка linux mint, часть 2: диски и сетевые папки

Как в Linux вывести доступные по сети ресурсы (совместные папки и принтеры Windows)

Предыдущая команда показала нам несколько компьютеров с сетевыми папками. Предположим, меня интересует компьютер \\HACKWARE-MIAL, чтобы вывести его сетевые папки я запускаю команду вида:

sudo smbclient -L \\ИМЯ-КОМПЬЮТЕРА -N

в моём случае это:

sudo smbclient -L \\HACKWARE-MIAL -N

Кстати, вместо имени компьютера можно указать IP адрес.

В полученном выводе половину информации составляют сообщения о различных проблемах. Значимые данные:

	Sharename       Type      Comment
	---------       ----      -------
	ADMIN$          Disk      Удаленный Admin
	C$              Disk      Стандартный общий ресурс
	IPC$            IPC       Удаленный IPC
	Share           Disk      
	Users           Disk      

В полученном выводе Share и Users являются общими сетевыми папками.

Следующие ошибки:

Unable to initialize messaging context
smbclient: Can't load /etc/samba/smb.conf - run testparm to debug it

исчезнут, если создать файл /etc/samba/smb.conf.

Следующие ошибки

Reconnecting with SMB1 for workgroup listing.
protocol negotiation failed: NT_STATUS_CONNECTION_RESET
Unable to connect with SMB1 -- no workgroup available

пропадут, если на компьютере с сетевой папкой включить поддержку протокола SMB1.

Как я уже говорил чуть выше, флаг -N означает не использовать пароль. Если же вы используете пароль, то укажите опцию -U с именем пользователя, пароль нужно будет ввести интерактивно.

Как и для smbtree, для smbclient необязательно использовать sudo, но без sudo для некоторых компьютеров программа срабатывает нормально, а для некоторых завершается ошибкой:

session setup failed: NT_STATUS_ACCESS_DENIED

Что такое монтирование

Монтирование в Linux позволяет получить доступ к содержимому диска и организовать структуру файловой системы. С помощью монтирования также можно открыть для работы образ диска (например, созданного с помощью программы dd), а также открыть для доступа и редактирования самые разные файловые системы и образы дисков (например, образы дисков виртуальных машин); даже удалённые сетевые директории могут быть смонтированы, в результате чего они станут доступны как будто бы файлы на любом другом локальном хранилище.

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

В Linux есть такое понятие как «монтирование» диска. Чтобы получить доступ к файлам на этом диске, его нужно сначала смонтировать. Может возникнуть вопрос, зачем такие сложности? Монтирование это мощнейшая вещь, которая позволяет поразительно гибко настроить файловую систему!

Суть монтирования в том, что в файловой системе создаётся новая директория (обычная папка), допустим, это папка /mnt/disk_d. А затем командой mount указывается, что теперь, например, диск /dev/sda смонтирован в директорию /mnt/disk_d. После этого можно получить доступ к файлам диска /dev/sda открыв папку /mnt/disk_d в любом менеджере файлов:

С помощью такого подхода — когда любой диск может быть любой папкой в системе, можно делать очень гибкую настройку. Самый частый пример, встречающийся на практике: файлы пользователя хранятся в папке /home/имя_пользователя/, например, у меня это папка /home/mial/. При установке операционной системы я могу сделать так, что мой второй или третий диск (а не системный) будет смонтирован в точку /home/mial/. То есть вся операционная система будет располагаться на одном диске, а все мои пользовательские файлы — на другом. Что это даёт? В случае переустановки системы, я вновь настрою монтирование диска с моими файлами в папку /home/mial/ и в результате в новой, только что установленной системе, уже будут на месте все мои документы, фотографии и прочее!

Поскольку часто узким местом в мощных компьютерах является скорость чтения с диска, то на на серверах с высокой нагрузкой практикуется перенос файлов баз данных (например, /var/lib/mysql/ на другой диск), возможен перенос файлов сервера (/srv/http/) на третий диск, файлов логов (/var/log/httpd/) на ещё один диск и т. д. Это позволяет добиться того, что данные из баз данных считываются независимо от записи журналов, то есть пока выполняются операции чтения-записи для одного процесса, другому процессу не нужно ждать своей очереди — всё выполняется одновременно.

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

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

Как в Linux увидеть все компьютеры Windows с совместными ресурсами

Для показа всех совместных сетевых ресурсов Windows выполните команду:

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

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

Как можно увидеть выше, для компьютера \\VYACHESLAV получен список совместно используемых ресурсов, а для компьютера \\HACKWARE-MIAL — нет. При этом если я включал на компьютере \\HACKWARE-MIAL поддержку протокола SMB 1, а при запуске команды указывал хоть какое-то имя пользователя, например:

либо просто запускал smbtree с правами администратора:

то мне удавалось получить список файлов также и для компьютера \\HACKWARE-MIAL.

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

Перед настройкой сервера Samba, чтобы обе Windows, Linux или компьютеры MacOS подключаются, мы должны убедиться, что у набора данных есть разрешения «Passthrough», потому что возможно, что мы случайно препятствуем доступу

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

Как только это будет сделано, мы переходим к разделам «Общий доступ» и «Общие ресурсы Windows (SMB)». Здесь нам нужно будет добавить общий путь, мы сможем выбрать различные предварительно настроенные профили, в нашем случае мы выбрали «Параметры общего доступа по умолчанию», мы также должны включить путь к определенному набору данных, который мы создали, и Конечно, разрешаем или запрещаем доступ по своему желанию.

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

Как видите, если мы получим доступ через Samba, мы сможем увидеть все общие папки, и у нас будут разрешения на создание новых папок в нашем собственном доме.

Установка Samba

Это первый шаг. В некоторых дистрибутивах установку
Samba можно указать в параметрах установщика, как например
Alt Linux или Rosa Linux.
Но в большинстве дистрибутивов Samba
устанавливается отдельно, при необходимости. Например в
Ubuntu установка Samba выполняется
автоматически, если вы открываете общий доступ к папке через файловый
менеджер Наутилус.

В общем случае установка Samba очень проста —
обычно установочный пакет так и называется — samba.
В каждом дистрибутиве Linux есть программа для
управления программными пакетами. Которая показывает установленные пакеты и
позволяет устанавливать новые пакеты. Например в дистрибутиве
Ubuntu это три графические программы — Gdebi, Synaptic и
Software-center. И две консольные — apt и dpkg.

Итак, шаг первый — проверить установлен ли сервер
Samba и если нет тогда установить его.

Сетевые папки

А вот с использованием сетевых папок ситуация оказалась печальнее. Во-первых, у меня сразу возникли проблемы из-за моего роутера. К роутеру у меня через USB 3.0 подключен внешний диск, который роутер расшаривает по протоколу SAMBA, но почему-то версии 1.0, которая сейчас по умолчанию в Linux Mint отключена (видимо по причине его небезопасности). Поэтому расшаренные папки отлично видны — но не подключаются: имя и пароль не проходит. Вот тут мне пришлось лезть в конфигурационные файлы и разрешать использование данного протокола. В Windows 10 мне пришлось бы установить дополнительный компонент системы (SMB 1.0/CIFS Client):

А в Linux мне пришлось открыть файл /etc/samba/smb.conf на редактирование (всё с помощью того же файлового менеджера с повышенными привилегиями) и добавить туда две строки в раздел :

После этого мои расшаренные папки на роутере стали открываться.

Подключать сетевые папки через файловый менеджер почти так же просто, как и дисковые тома, для этого открываем «Сеть» и далее наше сетевое устройство:

И открываем нужную папку. Система запросит ввод логина и пароля (если мы до этого не сохраняли эту информацию) и откроет нужный ресурс. Но надо понимать, что он будет находится по адресу протокола SAMBA: вида smb://rt-n18u-becc/backup/ (для папки BACKUP на ресурсе RT-N18U-BECC). Данный ресурс не подсоединён к файловой системе Linux и мы, соответственно, получаем ту же картину, что и с дисковым томом до этого: пока мы не подключили данный ресурс, обратиться к нему по имени у нас не получится: мы получим ошибку, что указанный адрес не подключён.

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

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

Вначале идёт название сетевого ресурса (расшаренной папки), потом точка монтирования (создаём заранее как описано выше), протокол (cifs), набор опций и два нуля. Опции определяют параметры подключения и, самое главное, логин и пароль, с которым мы подключаемся к ресурсу. Чтобы не прописывать в файле /etc/fstab логин и пароль, можно заранее прописать их в определённом файле (лучше в папке пользователя, например .smbpasswd) и указывать этот файл (опция credentials), в котором в первой строке указан имя пользователя, а во второй — пароль:

Для использования протокола SMB версии 1.0 мне пришлось добавить опцию vers=1.0, без неё папки не монтировались.

Но если мы попробуем подключить сетевые папки по пути с названием (типа //rt-n18u-becc) мы получим следующую ошибку: could not resolve address for rt-n18u-becc, поскольку наша ОС ещё не представляет какой конкретно IP-адрес соответствует данному имени. Это можно поправить, если в файл /etc/hosts внести наше имя с конкретным IP-адресом (в случае с роутером мы его знаем и поменяться он может только при смене его настроек):

После этого перезагружаем ПК (или в терминале выполняем команду sudo mount -a) и получаем наши сетевые папки подмонтированными по тем путям, которые мы указали. И в дальнейшем можно пользоваться всеми преимуществами файловой системы — в любое время обращаться к данным в них, использовать их в библиотеках видео/аудио плееров.

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

С другой стороны, командную строку мы пока ещё не открывали, ну а правка конфигурационных файлов не такая уж редкость и для Windows.

В следующей части рассмотрим настройку шрифтов и ещё кое-чего.

P.S. Эта статья из цикла «Linux обычного пользователя» и, если она вас заинтересовала, то вы можете прочитать и другие статьи по этой теме.

Настройка сервера[править]

1.Устанавливаем samba

su-
apt-get install samba

2.Создаем папку, которая будет общей; назначаем ей права

mkdir /home/docstore;chmod 777 /home/docstore

3.Делаем бэкап конфигурационного файла самбы

mv /etc/samba/smb.conf /etc/samba/smb.conf.old

4.Прописываем в smb.conf следующие параметры (без //комментариев)
Вводим команду, вставляем текст, нажимаем Enter и, затем, Ctrl+D.

cat >>/etc/samba/smb.conf
dos charset = CP866
unix charset = utf8
display charset = cp1251
workgroup = WORKGROUP //имя рабочей группы
server string = Filestore //имя сервера
security = USER //группа пользователей
map to guest = Bad User

 //имя ресурса
path = /home/docstore //путь к папке
read only = Yes
guest ok = Yes
browseable = yes
writable = yes
create mask = 0777
force create mask = 0777
directory mask = 0777

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

service smb restart;service nmb restart

Включаем автозапуск:

systemctl enable smb.service;systemctl enable nmb.service

Добавление второй папкиправить

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

В первом примере у нас Public и папка docstore. Во втором будет Share и files.

1.Создаем папку

mkdir /home/files;chmod 777 /home/files

2.Прописываем в smb.conf следующие параметры (без //комментариев)
Вводим команду, вставляем текст, нажимаем Enter и, затем, Ctrl+D.

cat >>/etc/samba/smb.conf
path = /home/files
read only = Yes
guest ok = Yes
browseable = yes
writable = yes
create mask = 0777
force create mask = 0777
directory mask = 0777

3.Перезапускаем сервис SMB:

service smb restart;service nmb restart

Папка с паролемправить

Создадим пользователя в системе, имя пользователя share, его пароль 1q@W3e, при создании сделаем каталог пользователя (ключ -m) и зададим пароль (ключ -p).

# useradd -m share -p 1q@W3e

Назначим нового владельца, пользователя share, и несколько изменим разрешения:

mkdir /home/kadry;chmod 777 /home/kadry
# chown -R share:users /home/kadry
# chmod -R ugo+rwx /home/kadry

Добавляем пользователя в Samba (вводим пароль 1q@W3e):

smbpasswd -a share

Добавим в samba.cfg следущее:

        comment = Кадры
        path = /home/kadry
	read only = no
	guest ok = no
	browseable= yes
	writable=yes
        create mask = 0777
        directory mask = 0777
	force user = share
        force group = users

Папка будет доступна пользователю share с паролем 1q@W3e.

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

service smb restart;service nmb restart

Основы взаимодействия Windows и Linux (протоколы и другие особенности)

В Linux для организации доступа к удаленной системе достаточно знать лишь IP адрес. Вместе с системой DNS, IP адресация представляет собой вполне законченный механизм взаимодействия между системами Linux. В Windows сложилась другая ситуация. Изначально, сети Windows находились в совершенно другом пространстве имен, это было следствием попытки организовать взаимодействие без участия протокола TCP/IP. Для чего был разработан родной для Windows протокол NetBEUI (Network Basic Extended Interface — основной расширенный сетевой пользовательский интерфейс). Не углубляясь в принципы сетевого взаимодействия можно сказать, что NetBEUI состоит из протокола SMB, транспортируемого по протоколу NetBIOS и обернутого в адресуемый протокол LLC, который является подуровнем канального уpовня. Из сказанной каши можно с трудом понять, что NetBEUI не принадлежит какому-либо из уровней . В итоге, данный протокол получился не маршрутизируемым и малоэффективным.Через некоторое время, на основе NetBEUI был разработан протокол NetBIOS Frame (NBF) protocol (NetBIOS over IEEE 802.2 LLC). Следующим шагом была реализация NBT (NetBIOS over TCP/IP).

Протокол NetBIOS (точнее SMB) обладает своим собственным пространством имен. Все имена могут иметь длину до 16 алфавитно-цифровых символов. При этом, использовать имена, начинающиеся с цифры не приемлемо для реализации протокола NetBIOS over TCP/IP, т.к. данное имя будет интерпретироваться как IP-адрес. В NetBIOS существует понятие Рабочая группа (в последствии замененное понятием домен). Компьютеры, имеющие одинаковое имя рабочей группы принадлежат одной группе.

NetBIOS over TCP/IP использует  два основных протокола и два порта 139/tcp (порт службы сеанса NetBIOS) и 137/udp (порт сервера имен NetBIOS). Порт UDP используется для разрешения имен на основе широковещательных рассылок, что в большой сети порождает большой трафик. Чтобы уменьшить большой широковещательный трафик, необходимо использовать сервер имен NetBIOS (в Microsoft данный сервер получил название WINS — Windows Internet Naming Service). WINS для NetBIOS over TCP/IP это как DNS для TCP/IP.

С появлением Win2k и Active Directory, Microsoft полностью отказалась от NetBIOS. Вместо NetBIOS стал использоваться SMB через TCP/IP (без использования протокола NetBIOS, его же называют NetBIOS-less). Данный протокол позволял отказаться от WINS и резолвить имена с помощью DNS, используя связку системы безопасности Kerberos и службу каталогов Active Directory. Active Directory — это LDAP каталог (аналог OpenLDAP), которому я обязательно посвящу статью.

Чтобы SAMBA работала без поддкржки NetBIOS, необходимо, чтобы система была членом домена Active Directory!!! Если система НЕ член домена, то отключать поддержку NetBIOS не стоит!

Собственно, протокол SMB и дал начало названия проекта Samba. Через некоторое время SMB был переименован в CIFS (Common Internet File System). Samba версии 2 может использоваться только совместно с протоколом NetBT (NetBIOS over TCP/IP). Версия Samba 3 способна обеспечивать совместимость по протоколу SMB через TCP/IP (NetBIOS-less TCP/IP) и совместима с Active Directory. При использовании SMB через TCP/IP используется порт 445/tcp, а так же 135/tcp для обеспечения взаимодействия по протоколу DCE RPC (удаленные вызовы процедур).

При установке и настройке Samba (без членства в домене Active Directory) желательно использовать демон Samba как сервер WINS или как член сервера WINS для снижения нагрузки мультикаст трафика в сети.

Как переместить точку монтирования

Можно переместить точку монтирования в другую директорию, для этого используется команда вида:

mount --move СТАРАЯ_ДИРЕКТОРИЯ НОВАЯ_ДИРЕКТОРИЯ

Это приведёт к тому, что содержимое, которое ранее отображалось в СТАРАЯ_ДИРЕКТОРИЯ, теперь будет доступно в НОВАЯ_ДИРЕКТОРИЯ. Физическое расположение файлов не меняется

Обратите внимание, что СТАРАЯ_ДИРЕКТОРИЯ должен быть точкой монтирования.

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

findmnt -o TARGET,PROPAGATION

Общий доступ к папке Ubuntu

Сначала давайте создадим общую папку доступную всем. То есть с анонимным доступом, без авторизации samba.

Создайте папку, к которой будем открывать доступ, например:

После того как папка создана, нужно сделать для нее правильные права доступа. Следующие команды разрешают доступ к папке для всех и делают владельцем nobody:

Следующим шагом будет описать папку allaccess в файле настройки samba:

Теперь ваш конфигурационный файл должен выглядеть вот так:

Рассмотрим подробнее опции, которые были здесь использованы:

  • path — путь к папке, которую нужно расшарить;
  • browsable — будет ли папка отображаться в списке доступных шар;
  • writable — будет ли папка доступна для записи;
  • read only — папка доступна только для чтения;
  • guest ok, public — будет ли разрешен гостевой доступ;
  • only guest — если установлено yes, то папка будет доступна только гостям;
  • hosts allow — ip адреса, с которых можно получить доступ к этому серверу;
  • valid users — по умолчанию могут авторизоваться все пользователи, если в этом параметре передать список пользователей, то авторизоваться смогут только они;
  • create mask — маска прав для создаваемых файлов.

Чтобы применить изменения, перезапустите сервер Samba:

Настройка Samba Ubuntu для анонимного доступа завершена. Теперь вы можете проверить доступность общей папки allaccess из Windows, для этого нажмите Win+R и выполните:

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

Также вы можете подключится к этому серверу из Linux с помощью Nautilus для этого достаточно набрать адрес smb://ip-сервера, в разделе другие места:

Монтирование CIFS Windows Share

Монтирование удаленного общего ресурса Windows аналогично монтированию обычных файловых систем.

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

    Запустите следующую команду как пользователь root или пользователь с правами sudo для монтирования общего ресурса:

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

    В случае успеха не выводится.

Чтобы убедиться, что удаленный общий ресурс Windows успешно смонтирован, используйте команду или .

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

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

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

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

Файл учетных данных имеет следующий формат:

/etc/win-credentials

Файл не должен быть доступен для чтения пользователям. Чтобы установить правильные разрешения и владельца , запустите:

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

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

Используйте опцию, чтобы установить разрешение каталога и установить разрешение файла:

    Пользователь по умолчанию и группа собственность могут быть изменены с и опциями:

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

Как в Linux увидеть все компьютеры Windows с совместными ресурсами

Для показа всех совместных сетевых ресурсов Windows выполните команду:

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

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

Как можно увидеть выше, для компьютера \\VYACHESLAV получен список совместно используемых ресурсов, а для компьютера \\HACKWARE-MIAL — нет. При этом если я включал на компьютере \\HACKWARE-MIAL поддержку протокола SMB 1, а при запуске команды указывал хоть какое-то имя пользователя, например:

либо просто запускал smbtree с правами администратора:

то мне удавалось получить список файлов также и для компьютера \\HACKWARE-MIAL.

Примеры использования mount

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

  1. Создать точку монтирования
  2. Примонтировать файловую систему

Монтирование USB-накопителя/жесткого диска

В большинстве современных дистрибутивов Linux, например, Ubuntu, USB-накопители автоматически монтируются при подключении, но иногда может потребоваться ручное монтирование устройства. Чтобы смонтировать USB-накопитель, выполните следующие действия.

Создайте точку монтирования

sudo mkdir -p /media/usb

Если USB-накопитель использует устройство /dev/sdd1, его можно смонтировать в директорию /media/usb следующей командой:

sudo mount /dev/sdd1 /media/usb

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

  • fdisk -l
  • ls -l /dev/disk/by-id/usb*
  • dmesg
  • lsblk

Монтирование файлов ISO

Для монтирования файла ISO используется петлевое (loop) устройство — специальное виртуальное устройство, которое позволяет осуществлять доступ к файлу как к блочному устройству.

Сначала нужно создать точку монтирования в любой желаемой директории:

sudo mkdir /media/iso

Смонтируйте файл ISO следующей командой:

sudo mount /path/to/image.iso /mnt/iso -o loop

Не забудьте заменить /path/to/image.iso на путь к вашему файлу ISO.

Монтирование NFS

Для монтирования системы NFS требуется установить клиент NFS. Установка клиента NFS в Ubuntu и Debian:

sudo apt install nfs-common

Установка клиента NFS в CentOS и Fedora:

sudo yum install nfs-utils
sudo mkdir /media/nfs

Обычно требуется автоматическое монтирование удаленной директории NFS при загрузке. Для этого нужно изменить файл конфигурации /etc/fstab. Откройте его в любом текстовом редакторе, например:

sudo nano /etc/fstab

Добавьте в файл следующую строку, заменив сервер:/директория на имя или IP-адрес сервера NFS и экспортируемую директорию:

# <file system>       <dir>      <type>   <options>   <dump>  <pass>
сервер:/директория    /media/nfs nfs      defaults    0       0

Смонтируйте ресурс NFS следующей командой:

sudo mount /mnt/nfs

или

sudo mount -a

Настройка раздела

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

  1. Для XFS — uquota (для пользователей) и/или gquota (для групп).
  2. Для ext и других — usrquota (для пользователей)и/или grpquota (для групп).

И так, чтобы добавить нужные опции для включения квотирования, откроем файл fstab:

vi /etc/fstab

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

/dev/sda     /     ext4     defaults,usrquota,grpquota     0 0
/dev/sdb     /var     xfs     defaults,uquota,gquota     0 0

* в данном примере мы добавили опции usrquota и grpquota для устройства /dev/sda, примонтированного в качестве корневого раздела / с файловой системой ext. А также опции uquota и gquota для устройства /dev/sdb (монтируется в /var с файловой системой xfs). Если необходимо включить квоту только для пользователей или групп, оставляем соответствующие опции.
* существуют и другие опции, например, jqfmt нужна для указания формата квоты при использовании журналирования. Подробнее описано в таблице сайта IBM.

Перемонтируем наши разделы:

mount -o remount /

mount -o remount /var

Проверим, что нужные нам разделы теперь смонтированы с опциями квотирования:

mount | grep quota

Мы увидим, примерно, следующее:

/dev/sda on / type ext4 (rw,relatime,quota,usrquota,grpquota,data=ordered)
/dev/sdb on /var type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)

Квоты включены для разделов.

Корневая директория (/) + XFS

При попытке включить квоту для корневой директории XFS с помощью файла fstab, результат будет нулевым — в опциях монтирования мы будем наблюдать noquota, например:

/dev/sda on / type xfs (rw,relatime,attr2,inode64,noquota)

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

vi /etc/default/grub

Находим строку GRUB_CMDLINE_LINUX и дописываем в нее rootflags=uquota,gquota — в моем случае получилось так:


GRUB_CMDLINE_LINUX=»crashkernel=auto rd.lvm.lv=vg/root rd.lvm.lv=vg/swap rhgb quiet floppy.allowed_drive_mask=0 rootflags=uquota,gquota»

На всякий случай, сохраним конфигурационный файл загрузчика:

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup

… и применим настройки grub:

grub2-mkconfig -o /boot/grub2/grub.cfg

Перезагружаем компьютер:

shutdown -r now

После перезагрузки мы должны наблюдать такую картину:

mount | grep quota

/dev/mapper/vg-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)

Квоты включены для корневого раздела с файловой системой XFS.

Как же подключиться без ввода пароля к Windows папке из Ubuntu?

Нужно в Windows открыть «Центр управления сетями и общим доступом», выбрать «Изменить дополнительные параметры общего доступа»:

В пункте «Все сети» в самом низу будет пункт «Общий доступ с парольной защитой»:

Надо отключить общий доступ с парольной защитой и «Сохранить изменения».

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

Для удобства и быстрого доступа к сетевому ресурсу, можно добавить его в закладки файлового менеджера (Nautilus) Ubuntu:

А если нужно защитить папку, то надо удалить группу «Все» и добавить своего пользователя в «Разрешения»:

Вот и всё. В этой статье мы не правили никакие конфиги Samba и не пользовались терминалом. Простому пользователю этого более чем достаточно.

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

Настройки пользователей и групп

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

Что касается конфигураций пользователя, мы можем настроить имя пользователя, а также первичную и вторичную группу, к которой он принадлежит, конечно, мы можем настроить учетную запись электронной почты, каталоги и разрешения, аутентификацию, разрешения своего дома и даже если мы хотим разрешить sudo и аутентификацию «microsoft account» использовать Samba без проблем из систем Windows.

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

Заключение

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

  • Иногда через windows acl права перестают выставляться, возникают неинформативные ошибки, по которым невозможно понять, что не так.
  • Я достаточно регулярно наблюдаю ситуацию, когда слетают соответствия доменных учеток линуксовым UID. В итоге права доступа превращаются в ничего не значащий набор цифр и перестают работать.
  • При переносе данных с одного сервера на другой трудно сохранить права доступа. Можно поступить вот так для копирования прав доступа, либо как-то заморочиться, чтобы на всех серверах у вас были одинаковые UID доменных учетных записей. Я не разбирал этот вопрос подробно.

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

  1. Подробное логирование всех действий с файлами на сервере.
  2. Настройка корзины для сетевых дисков samba.
  3. Бэкап файлового сервера.
  4. Мониторинг за размером файловой шары.

Буду рад любым полезным замечаниям, исправлениям, советам по настройке файлового сервера samba. Я потратил значительное время, чтобы поделиться своими знаниями и опытом с остальными. Надеюсь, кто-то поделится чем-то полезным со мной. В том числе ради этого я и пишу статьи. Они расширяют мой кругозор и закрепляют полученные знания.

Онлайн курсы по Mikrotik

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

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

  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: