Ошибка для выполнения этой операции требуются права root manjaro

Собственно Арч) Какой тут снова прикол? (458/458) проверка ключей [####################################################################] 100% загрузка необходимы...


0

1

Собственно Арч) Какой тут снова прикол?

(458/458) проверка ключей                                                                                          [####################################################################] 100%
загрузка необходимых ключей...
:: Import PGP key 5A45B06B81CAB876, "Konstantin Gizdov <arch@kge.pw>"? [Y/n] y
(458/458) проверка целостности пакета                                                                              [####################################################################] 100%
ошибка: confuse: неизвестный ключ "C5A5958FD7785FAD982FA2EC5A45B06B81CAB876"
:: Import PGP key C5A5958FD7785FAD982FA2EC5A45B06B81CAB876? [Y/n] y
ошибка: key "C5A5958FD7785FAD982FA2EC5A45B06B81CAB876" could not be looked up remotely
:: Файл /var/cache/pacman/pkg/confuse-3.3-3-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: cinnamon-desktop: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/cinnamon-desktop-4.8.1-1-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: cinnamon-settings-daemon: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/cinnamon-settings-daemon-4.8.5-1-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: cinnamon-menus: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/cinnamon-menus-4.8.3-1-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: cinnamon-control-center: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/cinnamon-control-center-4.8.2-1-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: python-xapp: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/python-xapp-2.0.2-2-any.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: xapp: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/xapp-2.0.7-1-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: cinnamon-session: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/cinnamon-session-4.8.0-1-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: cjs: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/cjs-4.8.2-1-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: muffin: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/muffin-4.8.0-1-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: nemo: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/nemo-4.8.5-1-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: cinnamon: signature from "Eli Schwartz <eschwartz@archlinux.org>" is unknown trust
:: Файл /var/cache/pacman/pkg/cinnamon-4.8.6-1-x86_64.pkg.tar.zst поврежден (неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] y
ошибка: не удалось завершить транзакцию (неверный или поврежденный пакет)
Обнаружены ошибки, пакеты не обновлены.
[root@home etc]# 

пробовал

[root@home etc]# sudo pacman-key --populate archlinux
==> Добавление ключей из файла 'archlinux.gpg'...
==> Локальное подписывание доверенных ключей в связке...
  -> Локальное подписывание ключа 'D8AFDDA07A5B6EDFA7D8CCDAD6D055F927843F1C'...
  -> Локальное подписывание ключа 'DDB867B92AA789C165EEFA799B729B06A680C281'...
  -> Локальное подписывание ключа '91FFE0700E80619CEB73235CA88E23E377514E00'...
  -> Локальное подписывание ключа '0E8B644079F599DFC1DDC3973348882F6AC6A4C2'...
  -> Локальное подписывание ключа 'AB19265E5D7D20687D303246BA1DFB64FFF979E7'...
==> Импорт значений доверия владельцам...
==> Блокирование отозванных ключей...
  -> Блокирование ключа '8F76BEEA0289F9E1D3E229C05F946DED983D4366'...
  -> Блокирование ключа '63F395DE2D6398BBE458F281F2DBB4931985A992'...
  -> Блокирование ключа '50F33E2E5B0C3D900424ABE89BDCF497A4BBCC7F'...
  -> Блокирование ключа '27FFC4769E19F096D41D9265A04F9397CDFD6BB0'...
  -> Блокирование ключа '39F880E50E49A4D11341E8F939E4F17F295AFBF4'...
  -> Блокирование ключа '8840BD07FC24CB7CE394A07CCF7037A4F27FB7DA'...
  -> Блокирование ключа '5559BC1A32B8F76B3FCCD9555FA5E5544F010D48'...
  -> Блокирование ключа '0B20CA1931F5DA3A70D0F8D2EA6836E1AB441196'...
  -> Блокирование ключа '07DFD3A0BC213FA12EDC217559B3122E2FA915EC'...
  -> Блокирование ключа '4FCF887689C41B09506BE8D5F3E1D5C5D30DB0AD'...
  -> Блокирование ключа '5A2257D19FF7E1E0E415968CE62F853100F0D0F0'...
  -> Блокирование ключа 'D921CABED130A5690EF1896E81AF739EC0711BF1'...
  -> Блокирование ключа '7FA647CD89891DEDC060287BB9113D1ED21E1A55'...
  -> Блокирование ключа 'BC1FBE4D2826A0B51E47ED62E2539214C6C11350'...
  -> Блокирование ключа '4A8B17E20B88ACA61860009B5CED81B7C2E5C0D2'...
  -> Блокирование ключа '5696C003B0854206450C8E5BE613C09CB4440678'...
  -> Блокирование ключа '684148BB25B49E986A4944C55184252D824B18E8'...
  -> Блокирование ключа '8CF934E339CAD8ABF342E822E711306E3C4F88BC'...
  -> Блокирование ключа 'F5A361A3A13554B85E57DDDAAF7EF7873CFD4BB6'...
  -> Блокирование ключа '5E7585ADFF106BFFBBA319DC654B877A0864983E'...
  -> Блокирование ключа '65EEFE022108E2B708CBFCF7F9E712E59AF5F22A'...
  -> Блокирование ключа '40440DC037C05620984379A6761FAD69BA06C6A9'...
  -> Блокирование ключа '34C5D94FE7E7913E86DC427E7FB1A3800C84C0A5'...
  -> Блокирование ключа '81D7F8241DB38BC759C80FCE3A726C6170E80477'...
  -> Блокирование ключа 'E7210A59715F6940CF9A4E36A001876699AD6E84'...
  -> Блокирование ключа '5357F3B111688D88C1D88119FCF2CB179205AC90'...
  -> Блокирование ключа '4D913AECD81726D9A6C74F0ADA6426DD215B37AD'...
  -> Блокирование ключа 'FB871F0131FEA4FB5A9192B4C8880A6406361833'...
  -> Блокирование ключа '66BD74A036D522F51DD70A3C7F2A16726521E06D'...
  -> Блокирование ключа 'B1F2C889CB2CCB2ADA36D963097D629E437520BD'...
  -> Блокирование ключа '9515D8A8EAB88E49BB65EDBCE6B456CAF15447D5'...
  -> Блокирование ключа '76B4192E902C0A52642C63C273B8ED52F1D357C1'...
  -> Блокирование ключа '40776A5221EF5AD468A4906D42A1DB15EC133BAD'...
  -> Блокирование ключа 'D4DE5ABDE2A7287644EAC7E36D1A9E70E19DAA50'...
  -> Блокирование ключа '44D4A033AC140143927397D47EFD567D4C7EA887'...
==> Обновление таблицы доверия...
gpg: срок следующей проверки таблицы доверия 2021-08-02
[root@home etc]# sudo pacman-key --init
[root@home etc]# sudo pacman-key --refresh-keys
gpg: обновление 118 ключей из hkps://hkps.pool.sks-keyservers.net
gpg: сбой при обновлении с сервера ключей: Общая ошибка
==> ОШИБКА: Не удалось обновить указанный локальный ключ с сервера ключей.
[root@home etc]# 

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

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

Предназначение root-прав в Linux

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

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

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Безопасность использования прав суперпользователя

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

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

Команда sudo и примеры ее использования

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

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

Самый простой пример использования sudo – запуск программы от имени суперпользователя. Для этого вводится:

sudo program \  program – название приложения, которое вы хотите запустить

Еще sudo применяется для установки софта, команда в таком случае обретает вид:

sudo apt install program

Если же вы желаете использовать сразу несколько команд, например, введя sudo cat file.txt | grep text > file.txt, появится ошибка, поскольку при выполнении второй команды права суперпользователя отсутствуют, а значит, запись в файл невозможна. Решается такая ситуация добавлением sudo перед каждым выражением.

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

VDS Timeweb арендовать

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

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

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

  • -c – позволяет выполнить команду;
  • -g – устанавливает группу для пользователя;
  • -G – дополнительные группы для юзера;
  • , -l, —login – один из режимов входа, при котором происходит переключение домашнего каталога;
  • -p – сохранение переменных окружения;
  • -s – выбор оболочки для выхода.

Есть вариант выполнить вход в оболочку под суперпользователем, но он имеет свои неудобства. Он заключается в переключении в доступную виртуальную консоль, что осуществляется комбинацией Ctrl + Alt + F1-F6. Там понадобится ввести логин и пароль root для получения доступа. Главный недостаток этого метода потеря возможности взаимодействия с графическим интерфейсом операционной системы.

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

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

Предоставление и отзыв прав суперпользователя

Каждому пользователю в Linux можно предоставить root-права, добавив его в соответствующую группу. Точно так же их можно и отнять, если вдруг это понадобится. Рассмотрю три варианта действий.

Создание нового пользователя с root

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

sudo Linux

  1. Откройте Терминал и введите команду sudo adduser user (user замените на нужное имя пользователя).
  2. В консоли появятся инструкции по созданию нового пользователя. Присвойте пароль и подтвердите действие, чтобы завершить создание.
  3. Добавьте новую учетную запись в группу sudo, введя sudo usermod -aG sudo user (user здесь тоже понадобится заменить).
  4. Проверьте выполненные действия, переключившись на новую учетную запись через su testuser. Для подтверждения введите пароль (при вводе символы не отображаются на экране).
  5. Выполните любую команду с sudo и убедитесь, что все прошло успешно.

Для существующей учетной записи

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

sudo usermod -aG sudo user

Предоставление прав суперпользователя существующей учетной записи в Linux

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

Откат прав суперпользователя

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

sudo deluser user sudo

Измените user на необходимое имя. Можете переключиться на эту учетную запись и убедиться в том, что теперь команды с sudo она выполнять не может.

Откат прав суперпользователя в Linux

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

Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.

В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.

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

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

  • Читать, писать и изменять атрибуты файлов в своем каталоге
  • Читать, писать, изменять атрибуты файлов в каталоге /tmp
  • Выполнять программы там, где это не запрещено с помощью флага noexec
  • Читать файлы, для которых установлен флаг чтения для всех пользователей.

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

Вход под суперпользователем

Чтобы войти под пользователем root можно переключиться в одну из виртуальных консолей, например, с помощью сочетания клавиш Ctrl+Alt+F1 и затем ввести логин root и пароль root пользователя.

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

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

Переключение на суперпользователя в терминале

Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root. Рассмотрим ее подробнее. Команда su linux имеет следующий синтаксис:

$ su опции пользователь

Вот ее основные опции:

  • -c, —command — выполнить команду
  • -g, —group — установить основную группу пользователя (только для root)
  • -G —supp-group — дополнительные группы пользователя (только для root)
  • -, -l, —login — режим входа, будут очищены и инициализированы с учетом нового пользователя все переменные окружения, а также изменен домашний каталог
  • -p, —preserve-environment — сохранить переменные окружения
  • -s, —shell — задать оболочку для входа
  • —version — отобразить версию программы.

Теперь немного поэкспериментируем, чтобы понять как работает команда su linux.

Сначала выполним su без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:

export VAR=1

Теперь выполняем:

su

Теперь смотрим что получилось:

whoami
pwd
echo $VAR
echo $PATH
exit

sudo

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

Теперь используем вход в режиме логина:

su -

И повторим ту же комбинацию:

whoami
pwd
echo $VAR
echo $PATH
exit

sudo1

Та же ситуация, только на этот раз изменена ко всему еще и домашняя директория на директорию root. Но мы можем сохранить наши переменные окружения, если это нужно, для этого есть опция -p:

su -p

sudo2

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

su - test

sudo3

Более подробно о команде su вы можете почитать в отдельной статье. Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.

Получение прав root без переключения

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

$ sudo опции команда

Опции программы:

  • -b — выполнять запускаемую утилиту в фоне
  • -E — сохранить переменные окружения
  • -g — запустить команду от группы
  • -H — использовать домашний каталог
  • -l — показать список полномочий в sudo для текущего пользователя
  • -r — использовать для команды роль SELinux
  • -s — использовать оболочку
  • -u — запустить команду от имени пользователя, если не задано используется root
  • -i — не выполнять команду, а войти в оболочку, эквивалентно su —

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

sudo ls

Или:

sudo -u test ls

Использование sudo — это рекомендованный способ выполнять команды от имени суперпользователя в Linux. Так вы не забудете с чем имеете дело и меньше всего рискуете повредить систему. Более подробно о команде sudo читайте здесь. Но остался еще один нерешенный вопрос — как быть с графическими утилитами? Ведь команда sudo их не запускает, а запускать графическую оболочку от имени root небезопасно. Это мы и рассмотрим далее.

Графически приложения от имени суперпользователя

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

Просто наберите gksu или kdesu, а затем нужную команду:

kdesu dolphin

Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:

gksu nautilus

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

Выводы

Вот и все. Теперь вы знаете как получить права суперпользователя в Linux, знаете как использовать команду sudo и в чем разница sudo или su. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Содержание

  1. Как дать Root права пользователю в Linux
  2. Способ 1: Добавление в корневую группу с помощью usermod
  3. Способ 2: Добавление в корневую группу с помощью команды Useradd
  4. Способ 3: Редактирование файла /etc/passwd
  5. Способ 4: Дать права пользователя Sudo
  6. Нормальный рут в Plasma Manjaro
  7. Root Linux — инструкции учетной записи суперпользователя
  8. Получение root-доступа в терминале
  9. Разблокировка учетной записи root
  10. Вход в систему как Root
  11. Сброс пароля root или администратора

Как дать Root права пользователю в Linux

Суперпользователь «root” — это король пользователей Linux / Unix. Наличие корневого доступа предоставляет полный и неограниченный доступ к дистрибутиву Linux.

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

Как дать Root права пользователю в Linux

Согласно разрешениям файловой системы Linux, root или суперпользователь имеет полные права на чтение (r), запись (w) и выполнение (x) любого файла. По умолчанию идентификатор пользователя root равен «0».

Я собираюсь создать двух пользователей, а именно user1 и user2. Затем я предоставлю root-правак пользователю «user1«.

Способ 1: Добавление в корневую группу с помощью usermod

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

# adduser user1
# adduser user2
# groupadd test

Это группы, которые есть в моей дистрибутиве Linux.

# groups
root bin daemon sys adm disk wheel

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

Приведенная ниже команда даст пользователю привилегию root

Способ 2: Добавление в корневую группу с помощью команды Useradd

Я добавил нового пользователя «user3» в корневую группу с помощью команды:

# useradd -m -G root user3
# groups user3
user3 : user3 root

useradd -c “Imitation Root” -d /home/root_user -m -k /etc/skel -s /bin/bash -u 0 -o -g root root_user

Способ 3: Редактирование файла /etc/passwd

Отредактируйте /etc/passwd для конкретного пользователя. Измените UID и GID пользователя на ««. Это даст root права пользователю в linux.

Теперь пользователь temproot должен иметь привилегии root:

ВНИМАНИЕ: это не рекомендуемый метод предоставления корневого доступа (root-прав)

Способ 4: Дать права пользователя Sudo

Конфигурационный файл sudo — это файл /etc/sudoers, и вы можете отредактировать его с помощью команды visudo:

Использование visudo защищает от конфликтов и гарантирует использование правильного синтаксиса.

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

Добавьте в файл запись, приведенную ниже:

Следовать этому методу не очень хорошая идея, потому что это позволяет и User1, и User2 использовать команду su для предоставления постоянных привилегий root. Таким образом пропуская функции ведения журнала команд sudo.

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

Эта запись позволяет User 1 и всем другим членам группы получить доступ ко всем программным файлам в каталогах /sbin и /usr/sbin, а также привилегию выполнения команды /usr/oracle/backup.pl…

User1, %operator ALL= /sbin/, / usr/sbin, /usr/oracle/backup.pl

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

Источник

Нормальный рут в Plasma Manjaro

В Плазме на Манджаро (только на ней?) не запускаются графические приложения от рута.
Через sudo:

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

Alt+F2 → kdesu kwrite.
А, ну и то же самое в эмуляторе терминала.

Вообще ничего не дает, никакого выхлопа и kwrite не открывается.

Зачем тебе kwrite от рута? Открывай в обычном режиме и редактируй любые файлы, если понадобится — kwrite у тебя пароль спросит.

И не даст, запуск графических программ от рута давно запретили на уровне кода)

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

И не даст, запуск графических программ от рута давно запретили на уровне кода)

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

Так не только kwrit, но и остальной KDE’шный софт не разрешают. А я привык.

Когда это давно kde su перестало работать?

Да уже года два, если не больше. Вырезали эту функциональность то ли из kde-библиотек, то ли вовсе из qt. Теперь всё через запросы policykit делается (пароль при сохранении).

Сильно вряд ли, потому что у меня в Plasma 5.16, KF 5.58.0 и Qt 5.12.3 — всё есть.

Пакет kdesu установлен?

Если очень хочется, Krusader можно пускать от рута (в нем встроенный редактор на основе KTextEditor).

Нет, спасибо. Вегетативная непереносимость «Крусадера».

У вас там, в Манджаре, часом, рута не отломали?
Можешь попробовать поменять настройки kdesu под sudo, как написано в вашей вики: https://wiki.archlinux.org/index.php/Sudo#kdesu (или поставить kdesudo оттуда же), вдруг.

Поправка: запуск от рута как минимум у Dolphin и KWrite/Kate выпилили в KDE Apps 17.04

Ты будешь смеяться, но я kdesu использую именно для Dolphin, и проверял, перед тем как сюда первый коммент написать, именно на kate (нет у меня kwrite). KDE Applications 19.04.2 🙂

Значит это патчи твоей Сусе. В ванильных кедах это не работает.

У меня ощущение, что что-то на ОпенНете обсуждали про починку kdesu (а я помню, что оно какое-то время не работало, да), но найти не могу. Возможно, и правда патчи.

Вообще, возвращать это назад — не лучшее решение, запуск gui-программ от рута это очень плохо с т.з. безопасности: https://blog.martin-graesslin.com/blog/2017/02/editing-files-as-root/

Ничего не поменялось. plasmashell 5.16.5

За пределами KDE это безопасно?

Да, я нашёл обсуждение про патчи (правда, на форуме Росы).
Касательно гуй-софта от рута я спорить не буду, у меня своё мнение. )

Почитай выше, Фрактал нашёл инфу, что для крайт/кейт и дельфина kdesu сломали. Может, попробовать иной редактор? У тебя же дериватив Арча, у вас там всё ванильное, патчей не будет, наверное.

Пока другими редакторами и спасаюсь, но считаю эти ограничения полной дурью.

Источник

Root Linux — инструкции учетной записи суперпользователя

Учетная запись «root» на компьютере Linux — это учетная запись с полными привилегиями. Корневой доступ часто необходим для выполнения команд в Linux, особенно команд, которые влияют на системные файлы. Рекомендуется запрашивать root-доступ только при необходимости, а не входить в систему как пользователь root. Это может помочь предотвратить случайное повреждение важных системных файлов.

Получение root-доступа в терминале

Откройте терминал.

Введите «Su-».

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

Введите пароль root при появлении запроса

После ввода «Su-» будет предложено ввести пароль root.

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

Проверьте командную строку.

Когда вы вошли в систему как пользователь root, командная строка должна заканчиваться # вместо $

Введите команды, которые требуют root-доступа.

Как только вы su -вошли в систему как root, вы можете запускать любые команды, требующие root-доступа. Команда сохраняется до конца сеанса, поэтому вам не нужно повторно вводить пароль root.

Разблокировка учетной записи root

Ubuntu (и несколько других дистрибутивов) блокирует учетную запись root, чтобы обычный пользователь не мог получить к ней доступ. Разблокировка учетной записи root позволит вам войти в систему как root.

Откройте терминал

Вводим « sudo passwd root» .

При запросе пароля введите ваш пароль пользователя

Установите новый пароль.

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

Снова заблокируйте учетную запись root.

Если вы хотите заблокировать учетную запись root, введите следующую команду, чтобы удалить пароль и заблокировать root:

«sudo passwd -dl root»

Вход в систему как Root

Рассмотрите возможность использования других методов для получения временного корневого доступа. Вход в систему как root не рекомендуется для регулярного использования.

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

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

Использование sudo или su вместо входа в систему как root поможет предотвратить непреднамеренный ущерб при входе в систему как root.

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

Некоторые дистрибутивы, такие как Ubuntu, оставляют корневую учетную запись заблокированной, пока вы не разблокируете ее вручную.

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

Введите . root как пользователь при входе в Linux.

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

Введите пароль пользователя root в качестве пароля пользователя.

Избегайте запуска сложных программ при входе в систему как root.

Существует вероятность того, что программа, которую вы намереваетесь запустить, окажет негативное влияние на вашу систему, когда у нее есть root-доступ. Настоятельно рекомендуется использовать sudo или su запускать программы, а не входить в систему как пользователь root.

Сброс пароля root или администратора

Сбросьте пароль root, если он был забыт.

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

Перезагрузите компьютер и удерживайте левую кнопку . после экрана BIOS.

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

Выберите режим восстановления .

Это загрузит режим восстановления для вашего текущего дистрибутива.

Выберите вариант из меню.

Это запустит терминал, когда вы вошли в систему как пользователь root.

Диск с разрешениями на запись.

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

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

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

  • Введите и нажмите . Если вам нужно изменить пароль root, введите .passwdaccountName passwd root
  • Введите новый пароль дважды при появлении запроса.

Перезагрузите компьютер после сброса паролей.

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

Источник

1 Answer

Sorted by:

Reset to default

0

Because aurman is just a pacman wrapper: so it is using -U, --upgrade to install the built packages from the AUR:

-U, —upgrade
Upgrade or add package(s) to the system and install the required dependencies from sync repositories

This operation requires elevated privileges.

Improve this answer

edited May 26, 2018 at 4:49

answered May 26, 2018 at 4:42

jasonwryan's user avatar

jasonwryanjasonwryan

70.1k33 gold badges191 silver badges224 bronze badges

Add a comment
 | 

Your Answer

Sign up or log in

Sign up using Google

Sign up using Facebook

Sign up using Email and Password

Post as a guest

Name

Email

Required, but never shown

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you’re looking for? Browse other questions tagged

  • package-management
  • antergos
  • aur

or ask your own question.

1 Answer

Sorted by:

Reset to default

0

Because aurman is just a pacman wrapper: so it is using -U, --upgrade to install the built packages from the AUR:

-U, —upgrade
Upgrade or add package(s) to the system and install the required dependencies from sync repositories

This operation requires elevated privileges.

Improve this answer

edited May 26, 2018 at 4:49

answered May 26, 2018 at 4:42

jasonwryan's user avatar

jasonwryanjasonwryan

70.1k33 gold badges191 silver badges224 bronze badges

Add a comment
 | 

Your Answer

Sign up or log in

Sign up using Google

Sign up using Facebook

Sign up using Email and Password

Post as a guest

Name

Email

Required, but never shown

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you’re looking for? Browse other questions tagged

  • package-management
  • antergos
  • aur

or ask your own question.

Содержание

  1. Права суперпользователя Linux
  2. Права суперпользователя в Linux
  3. Вход под суперпользователем
  4. Переключение на суперпользователя в терминале
  5. Получение прав root без переключения
  6. Графически приложения от имени суперпользователя
  7. Выводы
  8. Я есть root. Разбираемся в повышении привилегий ОS Linux
  9. Повышение привилегий через небезопасную конфигурацию
  10. Получаем стабильный shell
  11. Просмотр истории команд
  12. Поиск паролей в файловой системе и атаки на смежные системы
  13. Suid/Sgid
  14. Доступные на запись скрипты, запускаемые Cron или Init, в контексте Root
  15. Получение доступа в оболочку других пользователей
  16. Самописный код
  17. Повышение привилегий через эксплуатацию уязвимостей
  18. Эксплуатация сервисов, запущенных в контексте пользователя root
  19. Эксплуатация уязвимостей ядра Linux
  20. Metasploit
  21. Tools
  22. Linpeas
  23. LinEnum
  24. Linux-exploit-suggester (1,2)
  25. Linuxprivchecker
  26. Права суперпользователя root в Linux: полный обзор
  27. Предназначение root-прав в Linux
  28. Безопасность использования прав суперпользователя
  29. Команда sudo и примеры ее использования
  30. Переключение на суперпользователя
  31. Предоставление и отзыв прав суперпользователя
  32. Создание нового пользователя с root
  33. Для существующей учетной записи
  34. Откат прав суперпользователя
  35. Как дать Root права пользователю в Linux
  36. Способ 1: Добавление в корневую группу с помощью usermod
  37. Способ 2: Добавление в корневую группу с помощью команды Useradd
  38. Способ 3: Редактирование файла /etc/passwd
  39. Способ 4: Дать права пользователя Sudo

Права суперпользователя Linux

Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.

В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.

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

Права суперпользователя в Linux

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

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

Вход под суперпользователем

Чтобы войти под пользователем root можно переключиться в одну из виртуальных консолей, например, с помощью сочетания клавиш Ctrl+Alt+F1 и затем ввести логин root и пароль root пользователя.

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

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

Переключение на суперпользователя в терминале

Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root. Рассмотрим ее подробнее. Команда su linux имеет следующий синтаксис:

$ su опции пользователь

Вот ее основные опции:

Теперь немного поэкспериментируем, чтобы понять как работает команда su linux.

Сначала выполним su без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:

Теперь смотрим что получилось:

sudo

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

Теперь используем вход в режиме логина:

И повторим ту же комбинацию:

sudo1

sudo2

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

sudo3

Более подробно о команде su вы можете почитать в отдельной статье. Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.

Получение прав root без переключения

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

$ sudo опции команда

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

Графически приложения от имени суперпользователя

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

Просто наберите gksu или kdesu, а затем нужную команду:

Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:

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

Выводы

Вот и все. Теперь вы знаете как получить права суперпользователя в Linux, знаете как использовать команду sudo и в чем разница sudo или su. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!

Источник

Я есть root. Разбираемся в повышении привилегий ОS Linux

Первый квартал 2020 года я провел за подготовкой к экзамену OSCP. Поиск информации в Google и множество «слепых» попыток отнимали у меня все свободное время. Особенно непросто оказалось разобраться в механизмах повышения привилегий. Курс PWK уделяет этой теме большое внимание, однако методических материалов всегда недостаточно. В Интернете есть куча мануалов с полезными командами, но я не сторонник слепого следования рекомендациям без понимания, к чему это приведет.

Мне хочется поделиться с вами тем, что удалось узнать за время подготовки и успешной сдачи экзамена (включая периодические набеги на Hack The Box). Я испытывал сильнейшее ощущение благодарности к каждой крупице информации, которая помогала мне пройти путь Try Harder более осознанно, сейчас мое время отдать должное комьюнити.

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

image loader

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

Повышение привилегий через небезопасную конфигурацию

Прежде всего давайте разберемся с небезопасной конфигурацией. Начнем с того, что ИТ-специалисты часто пользуются мануалами и ресурсами вроде stackoverflow, многие из которых содержат небезопасные команды и конфиги. Яркий пример — новость о том, что самый копируемый со stackoverflow код содержал ошибку. Опытный админ увидит косяк, но это — в идеальном мире. Даже грамотные специалисты при повышенной рабочей нагрузке способны допускать ошибки. Представьте, что админ занимается подготовкой и согласованием документации на очередной тендер, параллельно вникает в новую технологию, которую предстоит внедрить в следующем квартале, при этом периодически решает задачи по поддержке пользователей. И тут ему нарезают задачу по-быстрому поднять пару виртуалок и раскатать на них сервисы. Как вы думаете, какова вероятность того, что админ просто не заметит косяк? Потом специалисты меняются, а костыли остаются, при этом компании всегда стремятся минимизировать затраты, в том числе на ИТ-шников.

Получаем стабильный shell

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

После получения оболочки я рекомендую создать полноценный терминал, например, с помощью Python.

Вы спросите: «Зачем мне тысяча команд, если я могу воспользоваться одной, например, для передачи файлов?» Дело в том, что системы бывают сконфигурированы по-разному, на очередном хосте может быть не установлен Python, однако иметься Perl. Мастерство в том, чтобы иметь возможность делать в системе привычные вещи без привычных инструментов. Полный перечень возможностей можно найти тут.

Низкопривилегированный шелл можно получить, используя команды 1 и команды 2 (удивительно, что даже GIMP).

Просмотр истории команд

Linux собирает историю всех выполненных команд в файле

/.bash_history. Если сервер активно используется, и его история не очищается, существует большая вероятность найти в этом файле учетные данные. Чистить историю банально неудобно. Если администратор вынужден выбирать десятиэтажные команды через , конечно, ему будет удобнее вызвать эту команду из истории, чем вводить заново. Плюс многие не знают об этом «хаке». Если в системе присутствуют альтернативные оболочки вроде Zsh или Fish, они ведут свою историю. Чтобы вывести историю команд в любой оболочке, достаточно набрать команду history.

Поиск паролей в файловой системе и атаки на смежные системы

Конфигурационные файлы различных сервисов могут быть доступны для чтения вашему текущему пользователю. В них можно встретить учетные данные в открытом виде — пароли для доступа в базу данных или смежные сервисы. Один и тот же пароль может быть использован как для доступа в базу данных, так и для авторизации пользователя root (credential staffing).
Бывает так, что найденные учетные данные принадлежат сервисам на других хостах. Развитие атаки на инфраструктуру через скомпрометированный хост ничем не хуже эксплуатации других хостов. Смежные системы также можно найти с помощью поиска IP-адресов в файловой системе.

В случае, если на скомпрометированном хосте имеется веб-приложение, доступное из Интернета, лучше исключить его логи из поиска IP-адресов. Адреса пользователей ресурса из Интернета нам вряд ли будут полезны, а вот адреса внутренней сети (172.16.0.0/12, 192.168.0.0/16, 10.0.0.0/8) и то, куда они заходят, судя по логам, могут представлять интерес.

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

Suid/Sgid

В Интернете есть множество мануалов, которые советуют собрать все suid/sgid команды, однако редкая статья даёт конкретику, что делать с этими программами. Варианты повышения привилегий, не учитывающие применение эксплоитов, можно найти тут. Также ряд исполняемых файлов имеет специфические уязвимости под версию ОС, например.

В идеальном мире нужно пропустить все установленные пакеты хотя бы через searchsploit. На практике подобное стоит проделывать с наиболее популярными программами типа sudo. Также всегда есть вариант использовать и поддерживать разработку автоматизированных инструментов, которые подсветят интересные, с точки зрения повышения привилегий, исполняемые файлы с выставленными битами suid/sgid. Перечень таких инструментов я приведу в соответствующем разделе статьи.

Доступные на запись скрипты, запускаемые Cron или Init, в контексте Root

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

Похожим образом обстоят дела с init. Отличие в том, что задачи в cron выполняются периодически, а в init — при старте системы. Для эксплуатации потребуется перезагрузка системы, при этом часть сервисов может и не подняться (если они не были прописаны в автозагрузку).

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

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

Получение доступа в оболочку других пользователей

Смотрим список пользователей в /etc/passwd. Обращаем внимание на тех, у кого есть оболочка. Можно побрутить этих пользователей — не исключено, что через полученного пользователя в итоге удастся повысить привилегии.

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

Самописный код

Стоит внимательно посмотреть на исполняемые файлы в домашней директории пользователя и веб-сервера (/var/www/, если не задана другая). Эти файлы могут оказаться совершенно небезопасным решением и содержать в себе невероятные костыли. Конечно, если вы имеете какой-нибудь фреймворк в директории веб-сервера, не имеет смысла искать в нем zero-day в рамках пентеста, однако найти и изучить кастомные доработки, плагины и компоненты рекомендуется.

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

Повышение привилегий через эксплуатацию уязвимостей

Прежде чем пытаться повысить привилегии через эксплуатацию, важно разобраться с передачей файлов на целевой хост. Помимо привычных средств вроде ssh, ftp, http (wget, curl) есть целый «зоопарк» возможностей.

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

Эксплуатация сервисов, запущенных в контексте пользователя root

Некоторые сервисы Linux работают от привилегированного пользователя root. Их можно найти с помощью команды ps aux | grep root. При этом сервис может не анонсироваться в Cеть и быть доступным локально. Если он имеет публичные эксплоиты, их можно смело применять: падение сервиса в случае неудачи гораздо менее критично, чем падение ОС.

Самым удачным случаем можно считать работу взломанного сервиса в контексте пользователя root. Эксплуатация сервиса SMB дает привилегированный доступ SYSTEM в системах Windows (например, через ms17-010). Однако в системах Linux такое встречается нечасто, поэтому можно провести немало времени над повышением привилегий.

Эксплуатация уязвимостей ядра Linux

Metasploit

Для того, чтобы поймать и обработать соединение, всегда лучше использовать модуль exploit/multi/handler. Главное — выставить правильный payload, например, generic/shell/reverce_tcp или generic/shell/bind_tcp. Оболочку, полученную в Metasploit, можно улучшить до Meterpreter с использованием модуля post/multi/manage/shell_to_meterpreter. Имея Meterpreter, вы можете автоматизировать процесс постэксплуатации. Например, модуль post/multi/recon/local_exploit_suggester проверяет платформу, архитектуру и необходимые для эксплуатации сущности и предлагает модули Metasploit для повышения привилегий на целевой системе. Благодаря Meterpreter, повышение привилегий иногда сводится к запуску нужного модуля, однако взлом без понимания происходящего под капотом не является «тру» (вам еще отчет писать).

Tools

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

Linpeas

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

LinEnum

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

Linux-exploit-suggester (1,2)

Этот эксплоит проанализирует систему на наличие подходящих условий для эксплоитов. По сути, сделает работу, идентичную модулю Metasploit local_exploit_suggester, но предложит не модули Metasploit, а ссылки на исходные коды exploit-db.

Linuxprivchecker

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

Источник

Права суперпользователя root в Linux: полный обзор

c7634b4b4f846408ec05d2b88a018561

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

Предназначение root-прав в Linux

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

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

Безопасность использования прав суперпользователя

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

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

Команда sudo и примеры ее использования

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

Самый простой пример использования sudo – запуск программы от имени суперпользователя. Для этого вводится:

Еще sudo применяется для установки софта, команда в таком случае обретает вид:

207dcdee384a4f7546f7c38bba98bd4df1583510

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

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

Предоставление и отзыв прав суперпользователя

Каждому пользователю в Linux можно предоставить root-права, добавив его в соответствующую группу. Точно так же их можно и отнять, если вдруг это понадобится. Рассмотрю три варианта действий.

Создание нового пользователя с root

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

Для существующей учетной записи

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

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

Откат прав суперпользователя

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

Измените user на необходимое имя. Можете переключиться на эту учетную запись и убедиться в том, что теперь команды с sudo она выполнять не может.

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

Источник

Как дать Root права пользователю в Linux

Суперпользователь «root” — это король пользователей Linux / Unix. Наличие корневого доступа предоставляет полный и неограниченный доступ к дистрибутиву Linux.

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

kak dat root prava polzovatelju vКак дать Root права пользователю в Linux

Согласно разрешениям файловой системы Linux, root или суперпользователь имеет полные права на чтение (r), запись (w) и выполнение (x) любого файла. По умолчанию идентификатор пользователя root равен «0».

Я собираюсь создать двух пользователей, а именно user1 и user2. Затем я предоставлю root-правак пользователю «user1«.

Способ 1: Добавление в корневую группу с помощью usermod

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

# adduser user1
# adduser user2
# groupadd test

Это группы, которые есть в моей дистрибутиве Linux.

# groups
root bin daemon sys adm disk wheel

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

Приведенная ниже команда даст пользователю привилегию root

Способ 2: Добавление в корневую группу с помощью команды Useradd

Я добавил нового пользователя «user3» в корневую группу с помощью команды:

Способ 3: Редактирование файла /etc/passwd

Отредактируйте /etc/passwd для конкретного пользователя. Измените UID и GID пользователя на ««. Это даст root права пользователю в linux.

Теперь пользователь temproot должен иметь привилегии root:

ВНИМАНИЕ: это не рекомендуемый метод предоставления корневого доступа (root-прав)

Способ 4: Дать права пользователя Sudo

Конфигурационный файл sudo — это файл /etc/sudoers, и вы можете отредактировать его с помощью команды visudo:

Использование visudo защищает от конфликтов и гарантирует использование правильного синтаксиса.

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

Добавьте в файл запись, приведенную ниже:

Следовать этому методу не очень хорошая идея, потому что это позволяет и User1, и User2 использовать команду su для предоставления постоянных привилегий root. Таким образом пропуская функции ведения журнала команд sudo.

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

Эта запись позволяет User 1 и всем другим членам группы получить доступ ко всем программным файлам в каталогах /sbin и /usr/sbin, а также привилегию выполнения команды /usr/oracle/backup.pl…

User1, %operator ALL= /sbin/, / usr/sbin, /usr/oracle/backup.pl

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

Источник

Иногда требуется открытие программ с привилегиями root в Linux из-за характера безопасности платформы. Дело в том, что некоторые операции невозможны с обычным пользователем (на ум приходят такие вещи, как управление файлами в корневой папке, форматирование жесткого диска или редактирование системных файлов).

Есть несколько способов открыть программы с root-доступом в Linux. В этом руководстве мы покажем вам, как это сделать. Однако имейте в виду: чтобы запускать программы с учетной записью Root, вам необходимо сначала включить ее. Если вы используете ОС Linux с отключенной учетной записью root, следуйте приведенным ниже инструкциям, чтобы узнать, как ее включить.

Включите учетную запись Root

Запустите окно терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. Затем, если ваша система имеет права sudo, используйте команду sudo -s для входа в сеанс с повышенными привилегиями.

sudo -s

Затем введите passwd, чтобы принудительно сбросить пароль учетной записи Root в системе.

passwd

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

Открытые программы с Root — Терминал

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

su -

Получив root-доступ в сеансе терминала, вы сможете запускать программу. Так, например, если вы хотите получить доступ к файловому менеджеру Gnome с доступом root, вы должны запустить команду nautilus в терминале.

nautilus

Итак, помните. Войдите в систему как Root, затем запустите приложение:

program-name

Большинство программ могут быстро запуститься с привилегиями суперпользователя, если вы являетесь пользователем root. Однако имейте в виду, что метод окна терминала не на 100% надежен. Из-за характера командной строки в Linux некоторые приложения просто не запускаются.

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

Открытые программы с рутом — Pkexec

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

Такой запуск программ — это не волшебство. С помощью этого инструмента довольно легко запустить практически любое приложение, установленное на вашем рабочем столе Linux.

Чтобы использовать pkexec, нажмите Alt + F2 на клавиатуре. Эта комбинация клавиш запустит окно быстрого запуска в среде рабочего стола.

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

Например, чтобы запустить диспетчер разделов Gparted от имени пользователя root, вы должны:

pkexec gparted

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

pkexec programname

Не хотите использовать панель быстрого запуска на рабочем столе Linux? Также можно запускать приложения как Root через инструмент pkexec в терминале. Просто запустите сеанс терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T. Затем выполните:

pkexec programname

Открытые программы с рутом — Gksu

Задолго до того, как инструмент Pkexec занял его место, появился Gksu. Он работает так же, как Pkexec, но разработчики дистрибутива Linux решили отказаться от него, так как он также не работает. Тем не менее, если вам не нравится использовать Pkexec и вам нужен способ запускать программы с правами root, он все равно работает.

К сожалению, Gksu не установлен во многих репозиториях программного обеспечения современных дистрибутивов Linux, так как он не так часто используется. На данный момент Debian 7-9 поддерживает его, OpenSUSE LEAP (42.3 и 15.0) и Tumbleweed поддерживают его. Ubuntu 16.04 LTS тоже.

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

Ubuntu 16.04 LTS

sudo apt install gksu

Debian

sudo apt-get install gksu

OpenSUSE LEAP 15.0

sudo zypper addrepo https://widehat.opensuse.org/opensuse/repositories/GNOME:/Apps/openSUSE_Leap_15.0/ gnome-apps

sudo zypper install gksu

OpenSUSE LEAP 42.3

sudo zypper addrepo https://widehat.opensuse.org/opensuse/repositories/GNOME:/Apps/openSUSE_Leap_42.3/ gnome-apps
sudo zypper install gksu

OpenSUSE Tumbleweed

sudo zypper addrepo https://widehat.opensuse.org/opensuse/repositories/GNOME:/Apps/openSUSE_Factory/ gnome-apps

sudo zypper install gksu

Когда приложение Gksu настроено в вашей системе Linux, оно должно быть готово к использованию. Чтобы запустить программу как Root, нажмите Alt + F2 на рабочем столе. Появится панель запуска. На панели напишите gksu, а затем программу, которую хотите запустить. Например, чтобы запустить файловый менеджер XFCE4, вы должны:

gksu thunar

Чтобы запустить любое приложение с помощью Gksu, следуйте синтаксису командной строки ниже.

gksu programname

Вы также можете запустить приложение прямо из терминала как Root с тем же синтаксисом.

Понравилась статья? Поделить с друзьями:
  • Ошибка доступ к кэшу запрещен
  • Ошибка длины ответа при открытии канала связи
  • Ошибка диабло 2 resurrection
  • Ошибка двигателя шевроле авео
  • Ошибка доступ к диску запрещен