Не удалось получить список ресурсов, доступных на сервере Ubuntu

Обновлено: 21.11.2024

SSSD расшифровывается как System Security Services Daemon и на самом деле представляет собой набор демонов, которые обрабатывают аутентификацию, авторизацию, а также информацию о пользователях и группах из различных сетевых источников. По своей сути он поддерживает:

  • Активный каталог
  • LDAP
  • Кербер

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

В этом руководстве рассматриваются наиболее распространенные сценарии развертывания SSSD.

SSSD и Active Directory

В этом разделе описывается использование sssd для аутентификации пользователей при входе в Active Directory с помощью «рекламного» провайдера sssd. В конце пользователи Active Directory смогут войти на хост, используя свои учетные данные AD. Членство в группе также будет сохранено.

Предпосылки, предположения и требования

В этом руководстве не объясняется Active Directory, как она работает, как ее настроить или как ее обслуживать.

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

Контроллер домена действует как полномочный DNS-сервер для домена.

Контроллер домена является основным преобразователем DNS (проверьте с помощью systemd-resolve --status )

Системное время правильное и синхронизированное, поддерживается с помощью такой службы, как chrony или ntp

Установка программного обеспечения

Установите следующие пакеты:

Присоединиться к домену

Мы будем использовать команду realm из пакета realmd, чтобы присоединиться к домену и создать конфигурацию sssd.

Давайте проверим, что домен можно обнаружить через DNS:

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

Теперь давайте присоединимся к домену:

Все прошло без происшествий. Если вы хотите увидеть, что он делал, передайте параметр -v:

По умолчанию область будет использовать учетную запись Администратора домена для запроса присоединения. Если вам нужно использовать другую учетную запись, передайте ее инструменту с параметром -U.

Другой популярный способ присоединения к домену — использование токена OTP или одноразового пароля. Для этого используйте параметр --one-time-password.

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

Инструмент realm уже позаботился о создании конфигурации sssd, добавлении модулей pam и nss и запуске необходимых служб.

Давайте посмотрим на /etc/sssd/sssd.conf:

Примечание

Очень важно помнить, что у этого файла должны быть разрешения 0600 и владелец root:root, иначе sssd не запускается!

Давайте выделим несколько вещей из этой конфигурации:

Автоматическое создание домашнего каталога

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

Проверки

Теперь вы должны получить информацию о пользователях AD. В этом примере Джон Смит является пользователем AD:

Давайте посмотрим его группы:

Примечание

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

Наконец, как насчет входа в систему:

Обратите внимание, что домашний каталог был создан автоматически.

Вы также можете использовать ssh, но учтите, что команда будет выглядеть немного забавно из-за нескольких знаков @:

Примечание

В примере с ssh использовалась аутентификация с открытым ключом, поэтому пароль не требовался. Помните, что аутентификация по паролю ssh по умолчанию отключена в /etc/ssh/sshd_config .

Билеты Kerberos

Если вы установите krb5-user , ваши пользователи AD также получат билет Kerberos при входе в систему:

Примечание

realm также настроил для вас файл /etc/krb5.conf, поэтому при установке krb5-user не должно быть дополнительных запросов о настройке

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

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

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

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

Чтобы войти в систему с пользователем Active Directory в первый раз, выполните следующие действия:

  • введите имя для входа, а затем пароль:

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

Ресурсы

SSSD и LDAP

SSSD также может использовать LDAP для проверки подлинности, авторизации и информации о пользователях/группах. В этом разделе мы настроим хост для аутентификации пользователей из каталога OpenLDAP.

Предпосылки, предположения и требования

Для этой настройки нам нужно:

  • существующий сервер OpenLDAP с включенным SSL и использующий схему RFC2307 для пользователей и групп
  • клиентский хост, на котором мы установим необходимые инструменты и войдем в систему как пользователь с сервера LDAP

Установка программного обеспечения

Установите следующие пакеты:

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

Создайте файл конфигурации /etc/sssd/sssd.conf с правами доступа 0600 и владельцем root:root и со следующим содержимым:

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

Примечание

sssd будет использовать START_TLS по умолчанию для запросов аутентификации на сервере LDAP (auth_provider). >), но не для id_provider. Если вы хотите также включить START_TLS для id_provider, укажите ldap_id_use_start_tls = true .

Автоматическое создание домашнего каталога

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

Проверьте настройку SSL на клиенте

Клиент должен иметь возможность использовать START_TLS при подключении к серверу LDAP с полной проверкой сертификата. Это означает:

При использовании пользовательского ЦС простой способ добиться доверия хоста — поместить его в /usr/local/share/ca-certificates/ с расширением .crt и запустить sudo update-ca-certificates .

Кроме того, вы можете отредактировать /etc/ldap/ldap.conf и указать TLS_CACERT на файл открытого ключа ЦС.

Примечание

Возможно, вам придется перезапустить sssd после этих изменений: sudo systemctl перезапустить sssd

После этого убедитесь, что вы можете подключиться к серверу LDAP, используя проверенные соединения SSL:

Параметр -ZZ указывает инструменту использовать START_TLS и что он не должен давать сбоев. Если на сервере включено ведение журнала LDAP, это будет выглядеть примерно так:

Мы хотим видеть

START_TLS с err=0 и установленным TLS, и, конечно же, WHOAMI расширенная операция.

Окончательная проверка

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

Пользователь john должен быть известен системе:

И мы должны иметь возможность аутентифицироваться как john:

SSSD, LDAP и Kerberos

Наконец, мы можем объединить все это вместе в настройке, очень похожей на Active Directory с точки зрения используемых технологий: использовать LDAP для пользователей и групп и Kerberos для аутентификации.

Предпосылки, предположения и требования

Для этой настройки нам потребуется:

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

Установка программного обеспечения

На клиентском хосте установите следующие пакеты:

К этому моменту вы уже должны иметь возможность получать билеты с вашего сервера Kerberos, при условии, что записи DNS указывают на него, как описано в других разделах этого руководства:

Но мы хотим иметь возможность войти в систему как пользователь LDAP, прошедший аутентификацию через Kerberos. Продолжим настройку.

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

Создайте файл конфигурации /etc/sssd/sssd.conf с правами доступа 0600 и владельцем root:root и со следующим содержимым:

В этом примере используются два KDC, поэтому необходимо также указать сервер krb5_kpasswd, поскольку второй KDC является репликой и не использует сервер администрирования.

Запустите службу sssd:

Автоматическое создание домашнего каталога

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

Окончательная проверка

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

Обратите внимание, что у пользователя john нет атрибута userPassword.

Пользователь john должен быть известен системе:

Попробуем войти под этим пользователем:

Мы вошли в систему, используя пароль Kerberos и информацию о пользователе/группе с сервера LDAP.

Подмена SSSD и KDC

При использовании SSSD для управления входами по протоколу Kerberos на хосте Linux существует сценарий атаки, о котором следует знать: спуфинг KDC.

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

Злоумышленник сначала развертывает мошеннический сервер KDC в сети и создает там принципала john с паролем по своему выбору. Теперь ему нужно, чтобы его мошеннический KDC ответил на запрос входа с рабочей станции раньше (или вместо) настоящего KDC. Если рабочая станция не аутентифицирует KDC, она примет ответ от мошеннического сервера и впустит Джона.

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

Чтобы включить его, отредактируйте /etc/sssd/sssd.conf и добавьте эту строку в раздел домена:

Второй шаг — создание принципала хоста на KDC для этой рабочей станции. Так проверяется подлинность KDC. Это похоже на «машинную учетную запись» с общим секретом, который злоумышленник не может контролировать и копировать в своем мошенническом KDC… Принципал хоста имеет формат host/ @REALM .

После создания принципала хоста его таблицу ключей необходимо сохранить на рабочей станции. Этот двухэтапный процесс можно легко выполнить на самой рабочей станции через kadmin (не kadmin.local ) для удаленного подключения к KDC:

Затем выйдите из инструмента и убедитесь, что права доступа к файлу keytab ограничены:

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

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

И вход запрещен. Однако, если настоящий KDC подхватывает его, проверка хоста завершается успешно:

И вход принят.

Отладка и устранение неполадок

Вот несколько советов по устранению неполадок с sssd.

уровень_отладки

Уровень отладки sssd можно изменить на лету с помощью sssctl из пакета sssd-tools:

Или измените, добавьте его в файл конфигурации и перезапустите sssd:

В обоих случаях в файле /var/log/sssd/*.log содержится больше журналов, что может помочь определить, что происходит. Подход sssctl имеет явное преимущество, заключающееся в том, что не нужно перезапускать службу.

Кэширование

Кэширование полезно для ускорения работы, но может сильно помешать при устранении неполадок. Полезно иметь возможность удалить кеш при поиске проблемы. Это также можно сделать с помощью инструмента sssctl из пакета sssd-tools.

Незадолго до обновления с 10.04 до 11.10 мой рабочий стол Ubuntu перестал разрешать мне доступ к моим общим каталогам Windows. Я думал, что обновлюсь до 11.10, и проблема будет устранена, но нет.

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

Не удалось смонтировать местоположение — не удалось получить список общих ресурсов с сервера

С чего начать устранение этой проблемы? Я уже в отчаянии :(

Как ни странно, я получил всплывающее сообщение:

Это сеть, которой вы управляете? Можете ли вы просмотреть журналы сервера, чтобы проверить наличие ошибок (журналы событий Windows и т. д.). Можете ли вы проверить свои собственные журналы (/var/log/syslog) и сообщить о любых аномалиях?

@brunopereira81 Я безрезультатно просматривал вашу ссылку. Проблема на стороне моей машины Ubuntu. Раньше он работал нормально до обновления 10.04 :(

15 ответов 15

Я обнаружил, что этот совет от Горда Никерсона сработал для меня: сообщение об ошибке «не удалось получить список общих ресурсов с сервера», поэтому он не может просматривать ПК с Windows 7, ПК с Ubuntu 10 или настольный ПК Mac.

Прежде всего, демоны Samba smbd и nmbd должны быть запущены, чтобы просмотр сети работал. Их можно запустить с помощью service или systemctl start для более новых выпусков Ubuntu на основе systemd.

smbtree перечисляет все общие ресурсы компьютеров в сети.

Итак, идем в /etc/samba и sudo pico smb.conf .

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

а затем перезапустить серверы с перезапуском службы smbd и перезапуском службы nmbd

Работает! Это ужасная ошибка при обновлении. Обновление не должно ломать то, что работает, особенно что-то столь важное, как сеть. Хорошо, что я помню ту ручную работу, которую вам пришлось проделать, чтобы вернуть Samba в RedHat 5 и 6.

Это верный ответ на ваш вопрос. У меня тоже была такая же проблема.

Запустите терминал и введите эту команду

и добавьте IP-адрес и имя компьютера в файл hosts. Сохраните и выйдите.

Пример IP-адреса и имени:

А что вы предлагаете, когда у другого компьютера нет статического IP? Не у всех есть контроль над маршрутизатором.

На каком компьютере вы добавляете эти строки? на сервере самба или на клиенте? Какой адрес добавить? Адрес сервера в клиенте? Адрес Клиента в сервере? Адрес сервера в сервере? Адрес клиента в клиенте?

"добавить IP-адрес компьютера в файл hosts" Какой компьютер. Компьютер Linux, компьютер Windows или оба? Я попробую все 3 перестановки, но мне также очень хотелось бы знать, как каждый раз получать источник smb.conf, чтобы мне не приходилось каждый раз выполнять холодную перезагрузку.

Проблема (по крайней мере, в Ubuntu 18.04, где я пробовал) заключается в том, что следующая команда:

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

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

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

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

Это позволит UDP-пакетам поступать на любой локальный порт, если они исходят из порта 137 или 138 удаленного компьютера. Порт 138, вероятно, не нужен, так как я видел пакеты, приходящие только от 137, но кто знает.

Возможно, это небезопасно, поскольку исходный порт можно подделать, но не будем параноиком.

Намного более короткое руководство доступно в Руководстве по серверу Ubuntu. Если вам нужна дополнительная информация, читайте ниже.

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

NFS идеально подходит для создания NAS (сетевого подключенного хранилища) в среде Linux/Unix. Это собственный протокол Linux/Unix, в отличие от Samba, который использует протокол SMB, разработанный Microsoft. Apple OS имеет хорошую поддержку NFS. Windows 7 имеет некоторую поддержку NFS.

NFS, возможно, лучше всего подходит для более «постоянных» сетевых каталогов, таких как каталоги /home или общие ресурсы, к которым регулярно обращаются. Если вам нужен общий сетевой ресурс, к которому гостевые пользователи могут легко подключиться, больше подходит Samba. Это связано с тем, что в старых и проприетарных операционных системах проще использовать инструменты для временного подключения и отключения общих ресурсов Samba.

  • Разрешения для файлов и каталогов в Linux
  • Монтирование и отсоединение (размонтирование) файловых систем

Это руководство делает сервер Ubuntu готовым к NFSv4.

Если вы понимаете, что делаете, используйте это краткое пошаговое руководство для настройки сервера NFSv4 в Ubuntu (без аутентификации). Затем смонтируйте общий ресурс на клиенте Ubuntu. Он был протестирован на Ubuntu 14.04.

NFS-сервер

Проверить, что сервер NFS не установлен, можно.

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

Допустим, мы хотим экспортировать домашние каталоги наших пользователей в /home/users. Сначала мы создаем файловую систему экспорта: важно, чтобы /export и /export/users имели права доступа 777, так как мы будем получать доступ к общему ресурсу NFS с клиента без аутентификации LDAP/NIS. Это не будет применяться при использовании аутентификации (см. ниже). Теперь смонтируйте каталог реальных пользователей с помощью: Чтобы нам не приходилось вводить это заново после каждой перезагрузки, мы добавляем следующее

Таким образом, серверу и клиенту не нужно, чтобы пользователи использовали один и тот же UID/GUID.

Для тех, кто использует аутентификацию на основе LDAP, добавьте следующие строки в файл idmapd.conf вашего клиента:

Это приведет к тому, что idmapd будет знать, что нужно просмотреть nsswitch.conf, чтобы определить, где он должен искать учетную информацию (и если у вас уже работает аутентификация LDAP, nsswitch не требует дополнительных объяснений).

Чтобы экспортировать наши каталоги в локальную сеть 192.168.1.0/24, мы добавляем следующие две строки в /etc/exports

Блокировка карты порта

Добавьте следующую строку в /etc/hosts.deny:

Если сначала заблокировать всех клиентов, доступ к серверу будет разрешен только клиентам из /etc/hosts.allow ниже.

Теперь добавьте следующую строку в /etc/hosts.allow:

Там, где находится строка «список IP-адресов», вам нужно составить список IP-адресов, состоящий из сервера и всех клиентов. Это должны быть IP-адреса из-за ограничений в карте портов (она не любит имена хостов). Обратите внимание: если у вас настроен NIS, просто добавьте их в ту же строку.

Примечание. Убедитесь, что список авторизованных IP-адресов включает адрес локального хоста (127.0.0.1), поскольку сценарии запуска в последних версиях Ubuntu используют команду rpcinfo для обнаружения поддержки NFSv3, и это будет отключено, если локальный хост не сможет подключиться.

Теперь перезапустите службу

Клиент NFSv4

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

    Вы также можете указать имя хоста NFS-сервера вместо его IP-адреса, но в этом случае вам необходимо убедиться, что имя хоста может быть преобразовано в IP-адрес на стороне клиента (для этого вы можете использовать файл /etc/hosts).

Мы также можем смонтировать экспортированное поддерево с помощью:

Если после монтирования запись в /proc/mounts отображается как :// (с двумя косыми чертами), возможно, вам потребуется указать две косые черты в /etc/fstab, иначе umount может пожаловаться, что не может найти монтирование.

Ubuntu Server не поставляется с init.d/netfs или другими скриптами, которые сделают это за вас.

Блокировка карты порта

Добавьте следующую строку в /etc/hosts.deny:

Если сначала заблокировать всех клиентов, доступ к серверу будет разрешен только клиентам из /etc/hosts.allow ниже.

Теперь добавьте следующую строку в /etc/hosts.allow:

Где "IP-адрес сервера NFS" — это IP-адрес сервера. Это должно быть числовое значение! Так работает карта портов.

Настройка перед установкой

Ни один из следующих предустановочных шагов не является обязательным.

Разрешения пользователя

Также важно отметить, что вы должны быть осторожны в системах, где основной пользователь имеет root-доступ — этот пользователь может изменить UID в системе, чтобы разрешить себе доступ к чьим-либо файлам. На этой странице предполагается, что группа администраторов является единственной группой с корневым доступом и что все они являются доверенными. Все остальное представляет собой более сложную конфигурацию и здесь не рассматривается.

Разрешения группы

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

Имена хостов

необязательно, если используется DNS

Добавьте любое имя клиента и IP-адреса в /etc/hosts. Здесь уже должен быть настоящий (не 127.0.0.1) IP-адрес сервера. Это гарантирует, что NFS по-прежнему будет работать, даже если DNS выйдет из строя. Вы можете положиться на DNS, если хотите, решать вам.

необязательно — выполнять действия только при использовании NIS

Примечание. Это работает только при использовании NIS. В противном случае вы не сможете использовать сетевые группы и должны указать отдельные IP-адреса или имена хостов в /etc/exports. Прочтите раздел ОШИБКИ в man netgroup.

Отредактируйте /etc/netgroup и добавьте строку для классификации ваших клиентов. (Этот шаг необязателен, он сделан для удобства).

Очевидно, что можно добавить больше клиентов. myclients может быть чем угодно; это имя сетевой группы.

Выполните эту команду, чтобы перестроить базу данных YP:

Блокировка карты порта

Добавьте следующую строку в /etc/hosts.deny:

Если сначала заблокировать всех клиентов, доступ к серверу будет разрешен только клиентам из /etc/hosts.allow ниже.

Теперь добавьте следующую строку в /etc/hosts.allow:

Там, где находится строка «список IP-адресов», вам нужно составить список IP-адресов, состоящий из сервера и всех клиентов. Это должны быть IP-адреса из-за ограничений в карте портов (она не любит имена хостов). Обратите внимание: если у вас настроен NIS, просто добавьте их в ту же строку.

Установка и настройка

Установить NFS-сервер

Поделиться

Отредактируйте файл /etc/exports и добавьте общие ресурсы:

Вышеупомянутые общие папки /home и /usr/local доступны всем клиентам в сетевой группе myclients.

Вышеупомянутые разделы /home и /usr/local для двух клиентов с фиксированными IP-адресами. Лучше всего использовать только с машинами со статическими IP-адресами.

Вышеупомянутые общие папки /home и /usr/local доступны для всех клиентов в частной сети, попадающих в указанный диапазон IP-адресов.

rw обеспечивает доступ к общему ресурсу для чтения/записи, а sync требует, чтобы сервер отвечал на запросы только после того, как все изменения были сброшены на диск. Это самый безопасный вариант (async быстрее, но опаснее. Настоятельно рекомендуется прочитать man exports.

После настройки /etc/exports экспортируйте общие папки:

Эту команду следует выполнять всякий раз, когда изменяется файл /etc/exports.

Перезапустить службы

По умолчанию portmap привязывается только к петлевому интерфейсу. Чтобы разрешить доступ к карте портов с удаленных машин, вам нужно изменить /etc/default/portmap, чтобы избавиться от «-l» или «-i 127.0.0.1».

Если файл /etc/default/portmap был изменен, необходимо перезапустить portmap:

Сервер ядра NFS также потребует перезагрузки:

Примечание о безопасности

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

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

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

Установка

Блокировка карты порта

Добавьте следующую строку в /etc/hosts.deny:

Если сначала заблокировать всех клиентов, доступ к серверу будет разрешен только клиентам из /etc/hosts.allow ниже.

Теперь добавьте следующую строку в /etc/hosts.allow:

Где "IP-адрес сервера NFS" — это IP-адрес сервера. Это должно быть числовое значение! Так работает карта портов.

Имена хостов

необязательно, если используется DNS

Добавьте имя сервера в /etc/hosts. Это гарантирует, что монтирование NFS будет работать, даже если DNS выйдет из строя. Вы можете положиться на DNS, если хотите, решать вам.

Маунты

Проверьте, все ли работает

Попробуйте смонтировать его сейчас. Базовый шаблон, который вы будете использовать:

Подключать при запуске

Монтирование NFS может быть смонтировано автоматически при доступе с помощью autofs или может быть настроено с помощью статического монтирования с помощью записей в /etc/fstab. Оба они объясняются ниже.

Автомонтаж

В следующем примере конфигурации домашние каталоги настраиваются для автоматического подключения к серверу NFS при входе в систему. Другие каталоги также можно настроить для автоматического подключения при доступе.

Добавьте следующую строку в конец /etc/auto.master:

Теперь создайте /etc/auto.home и вставьте следующее:

Перезапустите autofs, чтобы активировать конфигурацию:

Статические объекты

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

В /etc/fstab добавьте строки для общих ресурсов, например:

rw монтирует его для чтения/записи. Очевидно, что если сервер использует его только для чтения, клиент не сможет смонтировать его как нечто большее. жесткий монтирует общий ресурс таким образом, что если сервер становится недоступным, программа будет ждать, пока он не станет доступным. Альтернативой является мягкий. intr позволяет прервать/убить процесс. В противном случае он будет игнорировать вас. Документацию по ним можно найти в разделе Параметры монтирования для nfs раздела man mount.

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

Примечания

Минималистичная настройка NFS

Использование групп с общими ресурсами NFS

При использовании групп в общих ресурсах NFS (NFSv2 или NFSv3) помните, что это может не сработать, если пользователь является членом более 16 групп. Это связано с ограничениями протокола NFS. Дополнительную информацию можно найти на Launchpad («Отказано в доступе, когда пользователь принадлежит к группе, которая владеет каталогами, доступными для записи или setgid, смонтированными через nfs») и в этой статье: «Что делать с ограничением 16 идентификаторов групп в NFS?»

Примечания к IPSec

Если вы используете IPSec, порядок выключения по умолчанию в Breezy/Dapper приводит к зависанию клиента при завершении работы, потому что IPSec отключается раньше, чем NFS. Чтобы исправить это, выполните:

Ubuntu предлагает комплексную систему управления пакетами для установки, обновления, настройки и удаления программного обеспечения.В дополнение к предоставлению доступа к организованной базе из более чем 60 000 пакетов программного обеспечения для вашего компьютера Ubuntu, средства управления пакетами также включают возможности разрешения зависимостей и проверки обновлений программного обеспечения.

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

Введение

Система управления пакетами Ubuntu основана на той же системе, которая используется в дистрибутиве Debian GNU/Linux. Файлы пакета содержат все необходимые файлы, метаданные и инструкции для реализации определенной функции или программного приложения на вашем компьютере с Ubuntu.

Файлы пакетов Debian обычно имеют расширение .deb и обычно находятся в репозиториях, представляющих собой наборы пакетов, которые можно найти в Интернете или на физических носителях, таких как диски CD-ROM. Пакеты обычно находятся в предварительно скомпилированном двоичном формате; таким образом, установка выполняется быстро и не требует компиляции программного обеспечения.

Многие пакеты используют зависимости. Зависимости — это дополнительные пакеты, необходимые основному пакету для правильной работы. Например, фестиваль пакета синтеза речи зависит от пакета alsa-utils , который представляет собой пакет, предоставляющий инструменты звуковой библиотеки ALSA, необходимые для воспроизведения звука. Чтобы фестиваль работал, он и все его зависимости должны быть установлены. Инструменты управления программным обеспечением в Ubuntu сделают это автоматически.

Команда apt — это мощный инструмент командной строки, который работает с Advanced Packaging Tool (APT) Ubuntu и выполняет такие функции, как установка новых пакетов программного обеспечения, обновление существующих пакетов программного обеспечения, обновление индекс списка пакетов и даже обновление всей системы Ubuntu.

Некоторые примеры популярного использования утилиты apt:

Установка пакета. Установка пакетов с помощью инструмента apt довольно проста. Например, чтобы установить сетевой сканер nmap, введите следующее:

Удалить пакет. Удалить пакет (или пакеты) также просто. Чтобы удалить пакет, установленный в предыдущем примере, введите следующее:

Совет

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

Примечание

Сценарии. Хотя apt является инструментом командной строки, он предназначен для интерактивного использования, а не для вызова из неинтерактивных сценариев. В сценариях следует использовать команду apt-get (возможно, с флагом --quiet). Для основных команд синтаксис двух инструментов идентичен.

Кроме того, добавление параметра --purge к команде apt remove также приведет к удалению файлов конфигурации пакета. Это может быть или не быть желаемым эффектом, поэтому используйте его с осторожностью.

Обновление индекса пакетов. Индекс пакетов APT представляет собой базу данных доступных пакетов из репозиториев, определенных в файле /etc/apt/sources.list и в каталоге /etc/apt/sources.list.d. Чтобы обновить локальный индекс пакетов последними изменениями, внесенными в репозитории, введите следующее:

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

Информацию об обновлении до новой версии Ubuntu см. в разделе Обновление.

Действия команды apt, такие как установка и удаление пакетов, регистрируются в файле журнала /var/log/dpkg.log.

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

Способности

Запуск Aptitude без параметров командной строки предоставит вам управляемый меню текстовый интерфейс для системы Advanced Packaging Tool (APT). Многие из распространенных функций управления пакетами, такие как установка, удаление и обновление, могут выполняться в Aptitude с помощью одноклавишных команд, которые обычно представляют собой строчные буквы.

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

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

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

Установить пакеты. Чтобы установить пакет, найдите пакет в категории пакетов Неустановленные пакеты с помощью клавиш со стрелками на клавиатуре и клавиши ENTER. Выделите нужный пакет, затем нажмите клавишу +. Запись пакета должна стать зеленой, указывая на то, что она помечена для установки. Теперь нажмите g, чтобы просмотреть сводку действий с пакетом. Нажмите g еще раз, и начнется загрузка и установка пакета. Когда закончите, нажмите ENTER, чтобы вернуться в меню.

Удалить пакеты. Чтобы удалить пакет, найдите пакет в категории пакетов Установленные пакеты с помощью клавиш со стрелками на клавиатуре и клавиши ENTER. Выделите нужный пакет, который хотите удалить, затем нажмите клавишу -. Запись пакета должна стать розовой, указывая на то, что она помечена для удаления. Теперь нажмите g, чтобы просмотреть сводку действий с пакетом. Нажмите g еще раз, и начнется удаление пакета. Когда закончите, нажмите ENTER, чтобы вернуться в меню.

Обновить индекс пакетов. Чтобы обновить индекс пакетов, просто нажмите клавишу u. Начнется обновление индекса пакета.

Обновить пакеты: чтобы обновить пакеты, выполните обновление индекса пакетов, как описано выше, а затем нажмите клавишу U, чтобы пометить все пакеты с обновлениями. Теперь нажмите g, после чего вам будет представлена ​​сводка действий с пакетом. Нажмите g еще раз, и начнется загрузка и установка. Когда закончите, нажмите ENTER, чтобы вернуться в меню.

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

i: установленный пакет

c: пакет не установлен, но конфигурация пакета остается в системе

p: удалено из системы

v: виртуальный пакет

B: Сломанный пакет

u: Файлы распакованы, но пакет еще не настроен

C: Наполовину сконфигурировано — ошибка конфигурации, требуется исправление

H: Установлено наполовину — удаление не удалось, требуется исправление

Чтобы выйти из Aptitude, просто нажмите клавишу q и подтвердите, что хотите выйти. Многие другие функции доступны в меню Aptitude при нажатии клавиши F10.

Командная строка

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

Чтобы удалить тот же пакет, используйте команду:

Подробнее об опциях командной строки для Aptitude см. справочные страницы.

dpkg — это менеджер пакетов для систем на основе Debian. Он может устанавливать, удалять и создавать пакеты, но, в отличие от других систем управления пакетами, не может автоматически загружать и устанавливать пакеты или их зависимости. Apt и Aptitude новее и добавляют дополнительные функции поверх dpkg. В этом разделе рассматривается использование dpkg для управления локально установленными пакетами:

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

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

Замените apache2 любым именем пакета, частью имени пакета или регулярным выражением.

Чтобы вывести список файлов, установленных пакетом, в данном случае пакетом ufw, введите:

Если вы не уверены, какой пакет установил файл, dpkg -S может сообщить вам об этом. Например:

Вывод показывает, что файл /etc/host.conf принадлежит пакету base-files.

Примечание

Многие файлы создаются автоматически в процессе установки пакета, и даже если они находятся в файловой системе, dpkg -S может не знать, какому пакету они принадлежат.

Вы можете установить локальный файл .deb, введя:

Замените zip_3.0-4_amd64.deb на фактическое имя файла локального файла .deb, который вы хотите установить.

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

Внимание!

Удаление пакетов с помощью dpkg в большинстве случаев НЕ рекомендуется. Лучше использовать диспетчер пакетов, который обрабатывает зависимости, чтобы убедиться, что система находится в согласованном состоянии. Например, команда dpkg -r zip удалит zip-пакет, но все пакеты, зависящие от него, будут по-прежнему установлены и могут работать некорректно.

Дополнительные параметры dpkg см. на справочной странице: man dpkg .

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

Конфигурация системных репозиториев Advanced Packaging Tool (APT) хранится в файле /etc/apt/sources.list и каталоге /etc/apt/sources.list.d. Здесь приводится ссылка на пример этого файла вместе с информацией о добавлении или удалении ссылок на репозиторий из файла.

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

Дополнительные репозитории

В дополнение к официально поддерживаемым репозиториям пакетов, доступным для Ubuntu, существуют дополнительные поддерживаемые сообществом репозитории, которые добавляют тысячи дополнительных пакетов для потенциальной установки. Двумя наиболее популярными являются репозитории universe и multiverse. Эти репозитории официально не поддерживаются Ubuntu, но поскольку они поддерживаются сообществом, они обычно предоставляют пакеты, безопасные для использования на вашем компьютере с Ubuntu.

Примечание

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

Предупреждение

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

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

По умолчанию репозитории universe и multiverse включены, но если вы хотите отключить их, отредактируйте /etc/apt/sources.list и прокомментируйте следующие строки:

Автоматические обновления

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

Чтобы настроить автоматическое обновление, отредактируйте /etc/apt/apt.conf.d/50unattended-upgrades и настройте следующие параметры в соответствии со своими потребностями:

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

Примечание

Двойной "//" служит комментарием, поэтому все, что следует за "//", не будет оцениваться.

Чтобы включить автоматическое обновление, отредактируйте файл /etc/apt/apt.conf.d/20auto-upgrades и установите соответствующие параметры конфигурации apt:

Приведенная выше конфигурация обновляет список пакетов, загружает и устанавливает доступные обновления каждый день. Эти действия запускаются таймерами в установленное время, но со случайной задержкой: apt-daily.timer и apt-daily-upgrade.timer. Эти таймеры активируют соответствующие службы, запускающие сценарий /usr/lib/apt/apt.systemd.daily.

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

Во многих случаях это полезно, но в некоторых случаях это может привести к обратным результатам. Примерами могут служить администраторы со многими выключенными машинами или образами виртуальных машин, которые запускаются только для какого-то быстрого действия, которое затем откладывается или даже блокируется автоматическими обновлениями. Чтобы адаптировать это поведение, мы можем изменить/переопределить конфигурацию обоих таймеров apt [ apt-daily-upgrade.timer, apt-daily.timer ]. Для этого используйте systemctl edit и переопределите атрибут Persistent, например Persistent=delay (пример такого переопределения):

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

Примечание

Подробнее о параметрах конфигурации apt Periodic можно прочитать на справочной странице apt.conf(5) и в заголовке скрипта /usr/lib/apt/apt.systemd.daily.

Результаты автоматических обновлений будут регистрироваться в /var/log/unattended-upgrades .

Уведомления

Настройка Unattended-Upgrade::Mail в файле /etc/apt/apt.conf.d/50unattended-upgrades позволит unattended-upgrades отправлять администратору электронное письмо с подробным описанием любых пакетов, требующих обновления или имеющих проблемы.

Другой полезный пакет — apticron. apticron настроит задание cron для отправки администратору по электронной почте информации обо всех пакетах в системе, для которых доступны обновления, а также сводку изменений в каждом пакете.

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

После установки пакета отредактируйте файл /etc/apticron/apticron.conf , чтобы установить адрес электронной почты и другие параметры:

Ссылки

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

Дополнительную информацию можно найти на вики-странице InstallingSoftware Ubuntu.

Дополнительные сведения о dpkg см. на справочной странице dpkg.

Руководство пользователя APT и справочная страница apt содержат полезную информацию об использовании apt.

Для получения дополнительной информации о таймерах systemd (и systemd в целом) посетите справочную страницу systemd и справочную страницу systemd.timer.

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

Страница Adding Repositories HOWTO (Ubuntu Wiki) содержит более подробную информацию о добавлении репозиториев.

Читайте также: