Когда использовать pkexec против gksu / gksudo?

Введение в реализации

Майкрософт Виндоус
Диалоговое окно запроса контроля учетных записей пользователей Контроль учетных записей пользователей ( UAC ).Включенный в Windows Vista и более поздние версии операционных систем Microsoft Windows , UAC запрашивает у пользователя авторизацию, когда приложение пытается выполнить задачу администратора.
Runas :инструмент командной строки и команда контекстного меню, представленные в Windows 2000, которые позволяют запускать программу, апплет панели управления или оснастку MMC от имени другого пользователя. Runas использует службу Windows «Вторичный вход», также представленную в Windows 2000. Эта служба позволяет приложениям, работающим как отдельный пользователь, взаимодействовать с рабочим столом вошедшего в систему пользователя. Это необходимо для поддержки перетаскивания, совместного использования буфера обмена и других функций интерактивного входа в систему.
Mac OS
Mac OS X включает диалоговое окно « Аутентификация », в котором пользователю предлагается ввести пароль для выполнения задач администратора. По сути, это графический интерфейс команды.
Unix и Unix-подобные
PolicyKit / pkexec :функция авторизации привилегий, разработанная для независимости от используемой среды рабочего стола и уже принятая GNOME В отличие от более ранних систем, приложения, использующие PolicyKit, никогда не запускаются с привилегиями выше, чем у текущего пользователя. Вместо этого они косвенно запрашивают демон PolicyKit, который является единственной программой, работающей от имени пользователя root.
su :инструмент командной строки для Unix . su (замещающий пользователь) позволяет пользователям переключать терминал на другую учетную запись, вводя имя пользователя и пароль этой учетной записи. Если имя пользователя не указано, используетсяучетная запись суперпользователя операционной системы(известная как «root»), что обеспечивает быстрый способ получения оболочки входас полными привилегиями в системе. Выполнениекоманды выхода возвращает пользователя к его собственной учетной записи.
sudo :Созданный примерно в 1980 году sudo — это инструмент командной строки Unix с широкими возможностями настройки, похожий на su , но он позволяет некоторым пользователям запускать программы с привилегиями root, не создавая оболочку root и не требуя пароля root.
GKSu и GKsudo : GTK + Графический интерфейс для su и sudo . GKsu запускается автоматически, когда поддерживаемое приложение должно выполнить действие, требующее привилегий root. Замена, « gksu PolicyKit », которая использует PolicyKit, а не su / sudo , разрабатывается как часть GNOME .
kdesu : Qt графический интерфейс к су команды для KDE .
kdesudo : графический интерфейс Qt для sudo , который заменил kdesu в Kubuntu , начиная с Kubuntu 7.10.
ktsuss : ktsuss означает « К EEP т он Су сек реали, S tupid», и это графическая версия су . Идея проекта — оставаться простым и свободным от ошибок.
beesu : графический интерфейс для команды su , которая заменила gksu в операционных системах на базе Red Hat . Он был разработан в основном для RHEL и Fedora .
doas : замена sudo начиная с OpenBSD 5.8 (октябрь 2015 г.)

Вы, вероятно, нуждаетесь в polkit (a.k.a. PolicyKit).

Большинство утилит графического системного администрирования в Ubuntu, включая Центр программного обеспечения, обычно можно запускать без или чего-то подобного. Вы просто запускаете их так же, как и любую программу.

Когда приходит время выполнить задачу, требующую прав суперпользователя, они используют polkit для выполнения необходимых действий. Polkit — это отдельный механизм от Sudo, позволяющий администраторам выполнять действия от имени пользователя root. Он устанавливается в настольных системах Ubuntu, но по умолчанию не является частью установок Ubuntu Server.

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

Из вашего описания звучит так, будто ваша система была запущена как система Ubuntu Server без графического интерфейса, а затем вы установили графический интерфейс. Вероятно, policykit-1  и policykit-1-gnome  пакеты не были установлены. Если вы установите, polkit, скорее всего, начнет работать для Software Center и других подобных утилит.

Тогда вы сможете просто запустить:

(Или выберите Центр программного обеспечения графически, как это предусмотрено в любой установленной вами среде рабочего стола.)

Если вам нужна полнофункциональная настольная система Ubuntu, я рекомендую установить метапакет для любого «аромата» Ubuntu вы хотите превратить свою систему в. По сути, если вы хотите обычную настольную систему Ubuntu, установите buntu-desktop  .

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

Для получения дополнительной информации смотрите Как вы запускаете Ubuntu Server с графическим интерфейсом?

Как решить проблему «Код ошибки передачи 1231»

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

Переименование отсутствующих машин

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

Откройте «Параметры» через меню «Пуск».

Перейдите в раздел «Система», а затем – «О программе».

  • Проверьте имя машины. Если в названии присутствуют символы разных регистров – кликните по надписи «Переименовать этот ПК».
  • Присвойте имя, состоящее из букв верхнего регистра (заглавные).

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

Переустановка сетевого адаптера

Еще одной частой причиной проблем с подключением могут быть неполадки сетевого адаптера. Универсальное решение – переустановка компонента средствами «Диспетчера устройств»:

  • Щелкните ПКМ по значку «Пуск».
  • Запустите «Диспетчер устройств».

Раскройте вкладку «Сетевые адаптеры».

  • Щелкните ПКМ по названию своего адаптера.
  • Нажмите на кнопку «Удалить устройство».
  • Перезагрузите компьютер.

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

Включение обнаружения сети и автоматической настройки

Не исключено, что ошибка 1231 появляется просто из-за отключения функции обнаружения сети. Исправляются подобного рода неполадки следующим образом:

  • Откройте окно «Выполнить» комбинацией клавиш «Win» + «R».
  • Введите запрос «control.exe / имя Microsoft.NetworkAndSharingCenter» и нажмите на кнопку «ОК».

Кликните по надписи «Изменить расширенный центр обмена».

  • Отметьте пункт «Включить обнаружение сети» и поставьте галочку напротив «Включить автоматическую настройку подключенного к сети устройства».
  • Сохраните изменения.

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

Выполнение полного сброса TCP / IP

Проблемы, связанные с конфигурацией TCP / IP, решаются только ее полным сбросом, что поможет исправить ошибку 1231:

  • Щелкните ПКМ по значку «Пуск».
  • Запустите командную строку от имени администратора.

  • Введите запрос «ipconfig / flushdns nbtstat -R nbtstat -RR netsh int reset all netsh int ip reset netsh winsock reset».
  • Нажмите на клавишу «Enter».

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

Создание сценария .bat

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

Создайте документ через «Блокнот».

В первой строке пропишите «sc.exe config lanmanworkstation зависимость = bowser / mrxsmb10 / nsi», а во второй – «sc.exe config mrxsmb20 start = disabled».

Сохраните файл в расширении «.bat».

  • Запустите получившийся сценарий от имени администратора.
  • Дождитесь завершения обработки сценария.

Теперь ошибка с кодом 1231 перестанет появляться даже в том случае, если по каким-то причинам одному или нескольким ПК в сети было присвоено имя с буквами нижнего регистра.

Ошибка «Не распознается как внутренняя или внешняя команда» вызывает:

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

1. Исполняемый файл или скрипт не установлены

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

2. Имя файла и путь указаны неверно.

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

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

Серия каталогов, известная как «Путь», находится в разделе «Системные переменные» в переменных среды Windows и требуется для выполнения команд. Здесь также должен находиться ваш файловый каталог, особенно если вы не указываете полный путь к вашему файлу в командной строке

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

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

4. Исполняемые файлы в system32 не найдены в 64-битной Windows

Для тех, кто использует 64-битную Windows, может быть другая потенциальная причина ошибки.

Для 64-разрядных программ Windows используется каталог «C: Windows System32», а для 32-разрядных программ — «C: Windows SysWOW64».

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

По умолчанию «Путь» переменных среды Windows содержит папку C: Windows System32. Это означает, что при работе в 64-разрядной среде командная строка ищет каталог пути в C: Windows System32. Поэтому, если вы хотите запускать 32-битные программы, вы должны выполнять их в 32-битной среде.

Почему вы используете gksu

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

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

Вы можете открыть окно терминала, переключиться на другого пользователя, используя команду su, а затем создать или отредактировать файлы с помощью редактора nano. Кроме того, вы можете использовать команду sudo для редактирования файлов в тех местах, где у вас нет правильных разрешений.

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

Соображения безопасности

Фальсифицированный / перехваченный пользовательский ввод

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

  • Использование клиента на основе терминала (автономного или в рамках рабочего стола / графического интерфейса): su и sudo запускаются в терминале, где они уязвимы для подделки ввода. Конечно, если бы пользователь не запускал многозадачную среду (т.е. только один пользователь в оболочке), это не было бы проблемой. Терминальные окна обычно отображаются для пользователя как обычные окна, поэтому в интеллектуальном клиенте или настольной системе, используемой в качестве клиента, пользователь должен взять на себя ответственность за предотвращение манипулирования, имитации или захвата ввода другими вредоносными программами на своем рабочем столе.
  • Использование графического интерфейса пользователя / рабочего стола, тесно интегрированного с операционной системой: обычно настольная система блокирует или защищает все распространенные средства ввода перед запросом паролей или другой аутентификации, чтобы их нельзя было перехватить, обработать или смоделировать:

PolicyKit ( GNOME — указывает X- серверу захватывать весь ввод с клавиатуры и мыши. Другие среды рабочего стола, использующие PolicyKit, могут использовать свои собственные механизмы.

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

UAC (Windows) — по умолчанию запускается на безопасном рабочем столе , предотвращая имитацию вредоносными приложениями нажатия кнопки «Разрешить» или иного вмешательства в диалоговое окно подтверждения. В этом режиме рабочий стол пользователя затемнен, и с ним невозможно взаимодействовать.

Если функция блокировки gksudo или Secure Desktop UAC были скомпрометированы или отключены, вредоносные приложения могли получить права администратора, используя регистрацию нажатия клавиш для записи пароля администратора; или, в случае UAC, если вы работаете от имени администратора, подделав щелчок мыши на кнопке «Разрешить». По этой причине распознаванию голоса также запрещено взаимодействовать с диалогом

Обратите внимание, что, поскольку запрос пароля gksu запускается без особых привилегий, вредоносные приложения по-прежнему могут вести журнал нажатий клавиш, например, с помощью инструмента strace. (ptrace был ограничен в более поздних версиях ядра)

Поддельные диалоги аутентификации

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

  • Хотя это не является поведением по умолчанию из соображений удобства использования, UAC может быть настроен так, чтобы требовать от пользователя нажатия Ctrl + Alt + Del (известная как последовательность безопасного внимания ) как часть процесса аутентификации. Поскольку только Windows может обнаружить эту комбинацию клавиш, требование этой дополнительной меры безопасности предотвратит поведение поддельных диалоговых окон так же, как и нормальных диалогов. Например, поддельное диалоговое окно может не предлагать пользователю нажать Ctrl + Alt + Del, и пользователь может понять, что диалоговое окно было поддельным. Или, когда пользователь действительно нажал Ctrl + Alt + Del, пользователь будет выведен на экран, Ctrl + Alt + Del обычно выводит их вместо диалогового окна подтверждения UAC. Таким образом, пользователь мог определить, было ли диалоговое окно попыткой обманом заставить его ввести пароль к вредоносной программе.
  • В GNOME PolicyKit использует разные диалоги в зависимости от конфигурации системы. Например, диалоговое окно аутентификации для системы, оснащенной считывателем отпечатков пальцев, может отличаться от диалогового окна аутентификации для системы без такового. Приложения не имеют доступа к конфигурации PolicyKit, поэтому у них нет возможности узнать, какой диалог появится и, следовательно, как его подделать.

Внешние ссылки [ править ]

vте Программы интерфейса командной строки Unix и встроенные команды оболочки
Файловая система
  • Кот
  • chmod
  • Chown
  • chgrp
  • cksum
  • cmp
  • cp
  • дд
  • ду
  • df
  • файл
  • термоэлемент
  • пер
  • ls
  • mkdir
  • мв
  • человек
  • pwd
  • rm
  • rmdir
  • расколоть
  • тройник
  • трогать
  • тип
  • маска
Процессы
  • в
  • bg
  • crontab
  • фг
  • убийство
  • отлично
  • пс
  • время
Пользовательская среда
  • env
  • выход
  • логин
  • mesg
  • разговаривать
  • tput
  • безымянный
  • ВОЗ
  • записывать
Обработка текста
  • awk
  • базовое имя
  • комм
  • csplit
  • резать
  • разница
  • dirname
  • ред
  • бывший
  • складывать
  • голова
  • iconv
  • присоединиться
  • м4
  • более
  • нл
  • вставить
  • пластырь
  • printf
  • sed
  • Сортировать
  • струны
  • хвост
  • tr
  • уникальный
  • vi
  • Туалет
  • xargs
Встроенные оболочки
  • псевдоним
  • CD
  • эхо
  • тест
  • сброшен
  • ждать
Поиск
  • найти
  • grep
Документация
Разработка программного обеспечения
  • ар
  • ctags
  • lex
  • делать
  • нм
  • полоска
  • yacc
Разное
  • до н.э
  • кал
  • expr
  • lp
  • od
  • спать
  • правда и ложь
  • Категории
    • Стандартные программы Unix
    • Утилиты Unix SUS2008
  • Список
vтеOpenBSD
Операционная система
  • OpenBSD
    • история версий
    • функции безопасности
Связанные проекты
  • биография
  • Карп
  • httpd
  • fdm
  • LibreSSL
  • Mandoc
  • мг
  • OpenBGPD
  • OpenIKED
  • OpenNTPD
  • OpenOSPFD
  • OpenSMTPD
  • OpenSSH
  • ПФ
  • датчики
  • Sndio
  • спам
  • судо
  • tmux
  • Ксенокара
Люди
  • Тео де Раадт
  • Нильс Провос
Организации
Публикации

Дизайн [ править ]

Этот раздел требует дополнительных ссылок для проверки . Пожалуйста, помогите улучшить эту статью , добавив цитаты из надежных источников . Материал, не полученный от источника, может быть оспорен и удален. ( Июль 2020 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения )

В отличие от команды su , пользователи предоставляют свой личный пароль sudo (при необходимости), а не пароль суперпользователя или другой учетной записи. Это позволяет авторизованным пользователям использовать измененные привилегии без нарушения секретности пароля другой учетной записи. После аутентификации, и если файл конфигурации разрешает пользователю доступ, система вызывает запрошенную команду. sudo сохраняет права вызова пользователя в течение льготного периода (обычно 5 минут) для каждого псевдотерминала , позволяя пользователю выполнять несколько последовательных команд от имени запрошенного пользователя без необходимости повторного ввода пароля.

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

Обратите внимание, что этот ответ относится к версиям Ubuntu с использованием Wayland, 17.10 является первой версией для использования Wayland по умолчанию.

Это не ошибка! Это конструктивная особенность Wayland, что вы не можете запускать графические приложения как root из терминала.

Основные обсуждения, конечно же, на сайтах Fedora. См. Ошибка Fedora # 1274451 и Графические приложения могут ‘запускать как root в wayland (например, gedit, beesu, gparted, nautilus) в Ask Fedora . Но есть и некоторые обсуждения на сайтах Ubuntu ( Ubuntu Devs Uncertain об использовании Wayland по умолчанию в 17.10 — OMG! Ubuntu ).

Отчет об ошибке Ubuntu: Невозможно запустить приложения pkexec’ed на Wayland сессия

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

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

Чтобы установить разрешения:

Когда вы закончите, чтобы удалить разрешения

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

Вы можете добавить эту команду xhost в .bashrc, но я бы посоветовал пару псевдонимов

Вы можете назвать псевдонимы все, что пожелаете.

Подробнее см .:

  • https://bugs.launchpad.net/ubuntu/+ источник /backintime /+ ошибка /1713313
  • https://bugs.launchpad.net/ubuntu/+ источник /птар /+ ошибка /1713311
  • Arch Wiki: Xhost
  • Что такое xhost и xhost + si?

Sudo против polkit (некоторые технические подробности, только если вы заинтересованы)

новое / будет использовать polkit вместо для своей работы , хотя эта версия не получила широкого распространения. В основном я поднимаю его, чтобы рекомендовать файл в его исходном коде (написанный Густаво Норонхой Сильвой), который объясняет важные различия между и polkit. Кратко процитирую это:

Эти вопросы лежат в основе ситуации, в которой, я полагаю, вы находитесь:

  • Центр программного обеспечения предназначен для использования polkit для повышения привилегий, поэтому в качестве пользователя root нужно выполнять только определенные действия. Для этого ему нужен polkit, который отсутствовал (или сломался) в вашей системе.
  • Поскольку он предназначен для использования polkit, не существует готового модуля запуска для запуска Центра программного обеспечения от имени root. polkit устраняет необходимость запуска графических инструментов администрирования в большинстве случаев с правами root.
  • Но иногда вам действительно нужно запустить графическую программу от имени пользователя root. В этом случае вы можете использовать /. (… который может в конечном итоге использовать polkit за кулисами — но , в настоящее время в Ubuntu, является традиционным, который использует ).

Ссылки [ править ]

  1. ^ Миллер, Тодд С. «Краткая история судо» . Проверено 15 ноября 2018 года .
  2. ^ «Новости Судо» . Проверено 27 января 2021 года .
  3. ^ Тодд С. Миллер (2011-06-17). «Лицензия Sudo» . sudo.ws . Проверено 17 ноября 2011 .
  4. ^ a b Миллер, Тодд С. «Советы по устранению неполадок и часто задаваемые вопросы для Sudo» . Проверено 20 ноября 2009 .
  5. ^ «Как ВЫ произносите» sudo «?» . Ars Technica.
  6. ^ Коэн, Ноам (26 мая 2008 г.). «Это смешно, только если вы знаете Unix» . Нью-Йорк Таймс . Проверено 9 апреля 2012 года .
  7. ^ https://pthree.org/2009/12/31/the-meaning-of-su/
  8. ^ «Судо — ArchWiki» . wiki.archlinux.org .
  9. ^ Haeder, A .; Schneiter, SA .; Pessanha, BG; Стангер, Дж. Сертификация LPI Linux в двух словах . O’Reilly Media, 2010. стр. 409. ISBN 978-0596804879 . 
  10. ^ a b c d Миллер, Тодд С. «Краткая история судо» . Проверено 8 февраля 2021 .
  11. ^ Лилли, Пол. «Microsoft запатентовала» sudo. «Да, команда» . Проверено 13 ноября 2009 .
  12. ^ Томас, Клэберн (2009-11-16). «Нарушает ли новый патент Microsoft на программу Sudo для Unix? Некоторые в сообществе открытого кода подозревают намерения Microsoft» . Темное чтение . Проверено 29 ноября 2010 . Патент, выданный Microsoft (NSDQ: MSFT), вызвал беспокойство по поводу того, что крупнейшая в мире компания-производитель программного обеспечения хочет объявить «sudo» Unix своим собственным. Короче говоря, подозрения по поводу этого патента преувеличены.
  13. Итон, Ник (12 ноября 2009 г.). «Microsoft только что тайно запатентовала инструмент с открытым исходным кодом?» . seattlepi.com . Проверено 24 апреля 2011 года .
  14. ^ «Руководство Sudo» . Проверено 8 февраля 2021 .
  15. ^ «RootSudo» . Документация сообщества Ubuntu . help.ubuntu.com. 2011-11-08 . Проверено 17 ноября 2011 .
  16. ^ «Десять лучших советов по Mac OS X для гиков Unix» . MacDevCenter.com . Проверено 17 ноября 2011 .
  17. ^ «Блокировка SELinux, часть пятая: SELinux RBAC» . Проверено 17 ноября 2012 .
  18. ^ «су» . Гамильтон Лаборатории . Проверено 17 августа 2015 года .
  19. ^ «Предопределенные псевдонимы: sudo» . Гамильтон Лаборатории . Проверено 17 августа 2015 года .
  20. ^ Bicha, Джереми (30 декабря 2017). «Удалите gksu из Ubuntu» . Canonical , владеющая Launchpad . Проверено 10 января 2020 года .
  21. ^ «Программные пакеты в« бионическом . Канонический . Проверено 10 января 2020 года .
  22. ^ «Введение в руководство по программированию служб авторизации» . developer.apple.com . Проверено 17 ноября 2011 .
  23. ^ «sudo-1.8.26 — выполнить команду от имени другого пользователя» . Порты OpenBSD . 2018-11-16.

Есть также графический способ на основе polkit … для неграфических команд.

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

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

Например, если вы запустите , вам будет предложено диалоговое диалоговое окно аутентификации, и, если аутентификация пройдет успешно, будет запущен , создающий ( или освежающий ) в папке .

  • будет использовать неграфическое диалоговое окно, требующее терминала, в случае, если оно не может создать графическое диалоговое окно. Но это вряд ли произойдет, если вы запускаете его через средство, предоставляемое вашей графической оболочкой или средой рабочего стола.
  • Почему работает только для не — графических программ? На самом деле он также запускает графические программы, но только если polkit был специально настроен для этого — что обычно не делается. Смотрите (и вышестоящая версия, со скриншотами ), этот ответ и этот ответ для некоторых деталей, если тебе это интересно.

Решение проблем

Проблемы с TTY через SSH

По умолчанию SSH не выделяет tty при выполнении удалённой команды. Без tty sudo не может отключить отображение пароля при его вводе. Вы можете воспользоваться ssh опцией , чтобы заставить его выделять tty (или дважды).

опция всего лишь позволяет запускать sudo пользователям, если они имеют tty.

# Disable "ssh hostname sudo <cmd>", because it will show the password in clear text. You have to run "ssh -t hostname sudo <cmd>".
#
#Defaults    requiretty

Показать привилегии пользователя

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

$ sudo -lU имя_пользователя

Или узнать ваши собственные привилегии командой:

$ sudo -l
Matching Defaults entries for yourusename on this host:
    loglinelen=0, logfile=/var/log/sudo.log, log_year, syslog=auth, [email protected], mail_badpass, mail_no_user,
    mail_no_perms,env_reset, always_set_home, tty_tickets, lecture=always, pwfeedback, rootpw, set_home

User yourusename may run the following commands on this host:

    (ALL) ALL
    (ALL) NOPASSWD: /usr/bin/lsof, /bin/nice, /usr/bin/su, /usr/bin/locate, /usr/bin/find, /usr/bin/rsync, /usr/bin/strace,
    (ALL) /bin/kill, /usr/bin/nice, /usr/bin/ionice, /usr/bin/top, /usr/bin/killall, /usr/bin/ps, /usr/bin/pkill
    (ALL) /usr/bin/gparted, /usr/bin/pacman
    (ALL) /usr/local/bin/synergyc, /usr/local/bin/synergys
    (ALL) /usr/bin/vim, /usr/bin/nano, /usr/bin/cat
    (root) NOPASSWD: /usr/local/bin/synergyc

Наложение umask

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

Defaults umask = 0022
Defaults umask_override

Это установит sudo umask в umask суперпользователя по умолчанию (0022) и переопределит поведение по умолчанию, всегда используя указанную umask и независимо от umask пользователя.

Как добавить прогон как корневой вариант для общих приложений в Ubuntu

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

Откройте «Наутилус», нажав на значок шкафа на панели Ubuntu Launcher.

Нажмите на значок «Компьютер» на левой стороне и перейдите в папку usr, затем папку общего доступа и, наконец, папку приложений.

Найдите значок регистрационного шкафа со словом «Файлы» внизу. Щелкните правой кнопкой мыши значок и выберите скопировать в, Теперь перейдите в папку home, local, share и applications. (Вам нужно будет отобразить локальную папку, щелкнув правой кнопкой мыши в домашней папке и выбрав показать скрытые файлы).

Наконец нажмите Выбрать.

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

нажмите супер ключ и введите «gedit». Появится значок текстового редактора. Нажми на значок.

Перетащите значок nautilius.desktop из окна Nautilus в редактор.

Найдите строку, которая говорит «Действие = Окно», и измените ее на следующее:

action = Окно, открытый корень

Добавьте нижеследующие строки:

История [ править ]

Роберт Коггесхолл и Клифф Спенсер написали оригинальную подсистему примерно в 1980 году в Департаменте компьютерных наук в SUNY / Buffalo . Роберт Коггешолл принес sudo в Университет Колорадо в Боулдере . В период с 1986 по 1993 год код и функции были существенно изменены ИТ-специалистами факультета компьютерных наук Университета Колорадо в Боулдере и Колледжа инженерных и прикладных наук, включая Тодда С. Миллера. Текущая версия публично поддерживается разработчиком OpenBSD Тоддом Миллером с 1994 года и распространяется по лицензии типа ISC с 1999 года.

В ноябре 2009 года Томас Клэберн, отвечая на опасения, что Microsoft запатентовал sudo , назвал такие подозрения чрезмерными. Эти требования были узко обрамление к конкретному GUI , а не к концепции Sudo.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

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