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

Обновлено: 07.07.2024

Установленный в системе PolicyKit уже имеет некоторые встроенные инструменты командной строки. В дистрибутиве Fedora 21 их четыре.

pkaction - служит для просмотра возможных действий, которые отслеживает PolicyKit. Эта утилита может использоваться вместо просмотра в текстовом редакторе файлов .policy. Это может оказаться удобнее, так как здесь работают такие вещи как конвейеры, grep и т.п. Запуск pkaction без параметров выводит список всех возможных действий. Параметр --action-id позволяет просмотреть конкретное действие. Добавление параметра --verbose дает возможность получить полную информацию о действии, в том числе и об установленных разрешениях для него. pkcheck - позволяет проверить, авторизовался ли процесс для выполнения действия.

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

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

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

И, конечно, нельзя не упомянуть команду man polkit.

PolicyKit - это служба

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

Каждый раз, когда приложение требует участия PolicyKit, демон polkitd запускается автоматически. Это обеспечивается средствами dbus-daemon или systemd. Поэтому пользователю никогда не приходится запускать polkitd вручную.

Практика

Все примеры, приведенные ниже, проверены и работают. Их можно просто скопировать в файл правил. По крайней мере, это верно для Fedora 21.

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

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

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

Проблема заключается в том, что каждый раз при попытке прочитать (подключить) второй SATA жесткий диск средствами файлового менеджера появляется окно агента PolicyKit с требованием ввести пароль суперпользователя. Между тем, любые USB накопители монтируются автоматически и никакой пароль при этом вводить не требуется.

Ниже представлен фрагмент файла /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy. Исходный файл довольно большой, поэтому для экономии места оставлены только те действия и соответствующие им правила по умолчанию, которые относятся к подключению накопителей. Также для экономии места элементы description и message на языках, отличных от английского и русского удалены.

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

Наиболее вероятным кандидатом для этого является правило org.freedesktop.udisks2.filesystem-mount-system. Видно, что правила по умолчанию требуют прав суперпользователя.

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

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

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

Новое правило начинает работать сразу после создания файла.

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

В дистрибутиве Fedora имеется программа с графическим интерфейсом, позволяющая обновлять операционную систему и устанавливать или удалять программы - Yum Extender. Эти действия являются системными и требуют прав суперпользователя. Поэтому запуск Yum Extender сопровождается предложением ввести соответствующий пароль. На персональном компьютере это выглядит архаизмом и создает лишние трудности. Тем более, что установка программного обеспечения в современных дистрибутивах Linux производится как правило из проверенных источников, репозиториев. В отличие от некоторых других систем. Поэтому есть смысл разрешить данный класс операций непривилегированному пользователю.

Ниже представлен фрагмент файла /usr/share/polkit-1/actions/dk.yumex.backend.policy. Для упрощения в нем удалена декларация.

Видно, что правила по умолчанию для запуска Yum Extender либо запрещают запуск программы, либо требуют прав суперпользователя. Для создания правила, позволяющего пользователю из группы red обновлять систему и устанавливать/удалять программы с помощью Yum Extender, снова можно воспользоваться тем же шаблоном. Результат будет таким:

Надо отметить, что для тех же самых действий, но выполняемых в командной строке с помощью yum, все равно потребуются полномочия суперпользователя. Созданное новое правило действительно только для Yum Extender.

Разрешение на управление виртуальными машинами с помощью virt-manager

Виртуальная машина на персональном компьютере - обычное явление. Но каждый раз при запуске графической программы управления virt-manager требуется вводить пароль суперпользователя. Хотелось бы иметь возможность работать с виртуальными машинами так же, как с любыми другими пользовательскими приложениями - без ввода пароля.

  • файл org.libvirt.unix.policy описывает только два действия - мониторинг виртуальных машин и управление ими.
  • в файле org.libvirt.api.policy перечислены конкретные действия (остановка, перезапуск и т.д.), которые возможны, если предыдущая проверка пройдена.
В данном случае интерес представляет действие "Manage local virtualized systems" в файле org.libvirt.unix.policy. Соответствующий фрагмент приведен ниже:

Примечание. Обратите внимание: в последнем примере вместо метода match() использован оператор эквивалентности ==. В данном случае это просто разные способы сделать одно и то же. Оба варианта работают.

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

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

Монтирование диска в Linux

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

    Запустите операционную систему и отыщите GParted через меню приложений. Запуск осуществляется стандартным кликом по соответствующему значку.

Запуск утилиты GParted в Linux через меню приложений

Подтверждение запуска утилиты GParted в Linux через меню приложений

Выбор раздела или диска в утилите GParted в Linux для монтирования

Пункт для монтирования диска через утилиту GParted в Linux

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

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

Запуск утилиты Диски в Linux для монтирования раздела

Выбор раздела в утилите Диски в Linux для монтирования

Кнопка для монтирования раздела или носителя в утилите Диски в Linux

Подтверждение монтирования носителя или раздела в утилите Диски в Linux

Успешное монтирование носителя или раздела в утилите Диски в Linux

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

Способ 3: Терминальная команда

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

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

Использование команды для монтирования диска в Linux

Подтверждение монтирования диска через терминал Linux

Успешное монтирование диска через терминал в Linux

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

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

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

Способ 4: Монтирование окружения в режиме LiveCD

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

    Загрузите компьютер с LiveCD версией дистрибутива. Более детально об этом читайте в официальной документации по приведенной далее ссылке.

Запуск LiveCD монтирования диска через терминал в Linux

Запуск терминала в режиме LiveCD для монтирования диска в Linux

Команда для монтирования основного раздела жесткого диска через LiveCD в Linux

Команда для монтирования раздела с загрузчиком при работе с LiveCD Linux

Вторая команда для монтирования раздела с загрузчиком при работе с LiveCD Linux

Третья команда для монтирования раздела с загрузчиком при работе с LiveCD Linux

Команда для подключения к смонтированному окружению через LiveCD Linux

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

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

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

Закрыть

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

Монтируем флешку в Linux

Монтирование носителя при помощи udisksctl

Вывод был следующий:

sdb 8:16 0 596,2G 0 disk
├─sdb2 8:18 0 5,9G 0 part
├─sdb3 8:19 0 561G 0 part /mnt/5b4d2ffa-cfa0-4419-8736-3c5e97cf1073
└─sdb1 8:17 0 29,3G 0 part
sr0 11:0 1 1024M 0 rom
sdc 8:32 1 7,5G 0 disk
└─sdc1 8:33 1 7,5G 0 part
sda 8:0 0 465,8G 0 disk
├─sda2 8:2 0 92,9G 0 part /home
├─sda3 8:3 0 344,1G 0 part /mnt/938eb7e4-1e03-48c9-a9d2-4b7a5f263b01
└─sda1 8:1 0 28G 0 part /
sr1 11:1 1 1024M 0 rom

udisksctl mount -b /dev/sdc1

После этого видим примерно такой вывод:

==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount-other-seat ===
Для монтирования UFD 2.0 Silicon-Power8G (/dev/sdc1) требуется подтверждение подлинности пользователя
Authenticating as: dm. (dm)

Вводим пароль и видим, что наш носитель появился в каталоге /media

==== AUTHENTICATION COMPLETE ===
Mounted /dev/sdc1 at /media/dm/Flash_Drive

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

udisksctl unmount -b /dev/sdc1

Монтирование устройств при помощи mount

Точки монтирования нужно создавать в каталогах /mnt либо /media. Для этого выполним команду:

sudo mkdir /mnt/usb

Теперь дадим этому каталогу права доступа для простых пользователей:

sudo chmod 777 /mnt/usb

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

Часть вывода команды:

Устр-во Загрузочный Start Конец Секторы Size Id Тип
/dev/sdc1 2048 15730687 15728640 7,5G 7 HPFS/NTFS/exFAT

sudo mount -t vfat -o rw /dev/sdc1 /mnt/usb

Для NTFS соответственно:

sudo mount -t ntfs -o rw /dev/sdc1 /mnt/usb

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

Команда будет иметь следующий вид:

sudo mount -t ntfs -o rw,iocharset=utf8,codepage=866 /dev/sdc1 /mnt/usb

Вся команда будет иметь следующий вид:

sudo mount -t ntfs -o force /dev/sdc1 /mnt/usb

Чтобы отмонтировать устройство выполните:

sudo umount /mnt/usb

Для монтирования CD/DVD дисков нужно выполнить команду:

sudo mount -t iso9660 -o ro /dev/cdrom /cd

sudo mkdir /mnt/cd

Для монтирования образа диска ISO выполним команду:

sudo mount -t iso9660 -o loop

/image.iso — образ ISO

У одного из пользователей в моей системе (Ubuntu 14.04) есть зашифрованный домашний каталог. после того, как я выхожу из зашифрованного пользователя и захожу к другому незашифрованному пользователю, я получаю серию окон с просьбой подтвердить свою подлинность. Я не использовал их, чтобы увидеть их до того, как создал зашифрованного пользователя, и когда я все же ввожу пароль, он продолжает просить меня ввести пароль или еще около 10 раз, пока он в конце концов не остановится.

введите описание здесь

введите описание здесь

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

2 ответа

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

У вас случайно есть пакет indicator-sensors установлен в вашей системе? Вы можете проверить это или нет, набрав dpkg -s indicator-sensors в окне терминала.

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

Редактировать:

Я отследил проблему до udisks2 пакет. Быстрый поиск привел меня на этот форум. Я не советую использовать этот парень или Гал на своей машине. Должен быть более чистый путь.

Изменить 2:

Я нашел этот отчет об ошибках Debian, но это касается "последней" (чт, 22 января 2015 г.) нестабильной сборки. Эта статья в ArchWiki может содержать исправления, но polkit не является стандартным для *buntu систем. * Системы Buntu имеют policykit-1 , так что это может работать с некоторыми корректировками.

Я также нашел эту ветку форума Debian, которая, кажется, говорит об этой же проблеме.

Изменить 3:

Вот пример polkit группа под названием "хранение". Тем не менее, это для VoidLinux. * В Buntu есть /etc/polkit-1/, но он не содержит директории rules.d.

Узлы дискового устройства доступны группе для диска, поэтому программы, которым необходим доступ к ним, установят для своей группы идентификатор диска. Эта группа имеет доступ на запись ко всем необработанным дисковым устройствам (/dev/hd* и /dev/sd*), поэтому назначение пользователей на групповой диск является как опасным, так и угрозой безопасности.

Изменить 4:

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

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

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

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