Root и другие пользователи [+группы] в linux

Предоставление повышенных привилегий в windows 10/8/7

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

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

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

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

  • Выключить систему
  • Принудительное отключение удаленной системы
  • Войти как пакетное задание
  • Войти как сервис
  • Резервное копирование и восстановление файлов и каталогов
  • Включить доверенный для делегирования
  • Генерация аудита безопасности
  • Загрузка и выгрузка драйверов устройств
  • Управление аудитом и журналом безопасности
  • Взять на себя ответственность за файлы и другие объекты

Права пользователя развертываются с помощью групповой политики (локальный/Active Directory). Это прокладывает путь для последовательного контроля доступа к серверам.

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

  1. Полный контроль
  2. изменять
  3. Читать

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

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

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

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

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

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

Или:

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

Майкрософт Виндоус

В Windows NT и более поздних системах , полученных из него (например, Windows 2000 , Windows XP , Windows Server 2003 и Windows Vista / / +8 / +10 ), должно быть , по крайней мере одной учетной записи администратора (Windows XP и выше) или Умеют для повышения привилегий до суперпользователя (Windows Vista / 7/8/10 через Контроль учетных записей ). В Windows XP и более ранних системах есть встроенная учетная запись администратора, которая остается скрытой, если существует учетная запись пользователя, эквивалентная администратору. Эта встроенная учетная запись администратора создается с пустым паролем. Это создает риски для безопасности, поскольку локальные пользователи смогут получить доступ к компьютеру через встроенную учетную запись администратора, если оставить пароль пустым, поэтому учетная запись по умолчанию отключена в Windows Vista и более поздних версиях из-за введения контроля учетных записей пользователей ( ОАК). Удаленные пользователи не могут получить доступ к встроенной учетной записи администратора.

Учетная запись администратора Windows не является точным аналогом учетной записи root Unix — администратор, встроенная учетная запись администратора и учетная запись администратора пользователя имеют одинаковый уровень привилегий. Учетная запись пользователя по умолчанию, созданная в системах Windows, является учетной записью администратора. В отличие от учетных записей администраторов macOS, Linux и Windows Vista / 7/8/10, учетные записи администраторов в системах Windows без UAC не изолируют систему от большинства ловушек полного корневого доступа. Одна из этих ловушек — снижение устойчивости к заражению вредоносным ПО. Чтобы избежать этого и поддерживать оптимальную безопасность системы в системах Windows до UAC, рекомендуется при необходимости просто пройти аутентификацию из стандартной учетной записи пользователя, либо с помощью пароля, установленного для встроенной учетной записи администратора, либо с помощью другой учетной записи администратора.

В учетных записях администратора Windows Vista / 7/8/10 появится запрос для проверки подлинности выполнения процесса с повышенными привилегиями. Обычно учетные данные пользователя не требуются для аутентификации приглашения UAC в учетных записях администратора, но для аутентификации приглашения UAC требуется ввести имя пользователя и пароль администратора в стандартных учетных записях пользователей. В учетных записях администратора Windows XP (и более ранних версий) аутентификация не требуется для запуска процесса с повышенными привилегиями, и это создает еще одну угрозу безопасности, которая привела к разработке UAC. Пользователи могут настроить процесс для запуска с повышенными привилегиями из стандартных учетных записей, установив для процесса «запуск от имени администратора» или используя команду runas и аутентифицируя приглашение с учетными данными (имя пользователя и пароль) учетной записи администратора. Большая часть преимуществ аутентификации из стандартной учетной записи сводится на нет, если учетные данные используемой учетной записи администратора имеют пустой пароль (как во встроенной учетной записи администратора в Windows XP и более ранних системах), поэтому рекомендуется установить пароль для встроенная учетная запись администратора.

В Windows NT , 2000 и более поздних версиях пользователем root является учетная запись администратора.

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

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

sudo -s
sudo -i

После этого вы перейдёте в режим суперпользователя (с ограничениями, наложенными через настройки sudo), о чём говорит символ # в конце приглашения командной строки. Данные команды по действию похожа на , однако:
— sudo -s — не меняет домашний каталог на /root, домашним остается домашний каталог пользователя вызвавшего sudo -s, что обычно очень удобно.
— sudo -i — сменит так же и домашний каталог на /root.

Для выхода обратно в режим обычного пользователя наберите или просто нажмите Ctrl+D.

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

Существует более современный способ повышения пользовательских прав с помощью команды sudo (substitute user and do — подменить пользователя и выполнить).

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

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

От имени root:
yum install -y wget

При помощи sudo:
sudo yum install -y wget

Sudo определяет пользователя сверяясь с настройками находящимися в файле /etc/sudoers, если пользователь внесен в sudoers, то команда выполняется. Если выполнить команду sudo от имени пользователя не внесенного в sudoers, то можно увидеть такую картину:

$ sudo yum install -y wget
 password for test: 
test is not in the sudoers file.  This incident will be reported.

При попытке выполнить команду sudo, от имени пользователя test, выдается ответ что такого пользователя в файле sudoers не обнаружено. О событии создается запись в лог файле, также высылается электронное письмо root-пользователю с уведомлением о случившемся.

From root@test2.localdomain  Sat Feb 11 20:19:12 2017
Return-Path: <root@test2.localdomain>
X-Original-To: root
Delivered-To: root@test2.localdomain
Received: by test2.localdomain (Postfix, from userid 0)
        id CD2AF8051BC; Sat, 11 Feb 2017 20:19:12 +0300 (MSK)
To: root@test2.localdomain
From: test@test2.localdomain
Auto-Submitted: auto-generated
Subject: *** SECURITY information for test2 ***
Message-Id: <20170211171912.CD2AF8051BC@test2.localdomain>
Date: Sat, 11 Feb 2017 20:19:12 +0300 (MSK)

test2 : Feb 11 20:19:12 : test : user NOT in sudoers ; TTY=pts/0 ; PWD=/home/test ; USER=root ; COMMAND=/bin/yum install wget

Для того чтобы пользователь мог выполнять sudo, его надо внести в файл sudoers. Сделать это можно двумя способами.

Первый способ — внесение имени пользователя непосредственно в сам файл /etc/sudoers. Для изменения файла sudoers, требуется обладать правами root.

nano /etc/sudoers
 
Находим строку:
root    ALL=(ALL)	ALL
 
Добавляем под нее имя пользователя, которому будет разрешен доступ к sudo:
root    ALL=(ALL)	ALL
test    ALL=(ALL)	ALL
 
Сохраняем и выходим.

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

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

Вносим пользователя в группу wheel:
usermod -a -G wheel techlist_1
 
Проверяем:
id techlist_1
uid=1001(techlist_1) gid=1004(techlist_1) группы=1004(techlist_1),10(wheel)
 
Перезагружаем систему:
reboot

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

Для того чтобы полностью сменить окружение пользователя на окружение root, используется команда sudo -i, что равносильно использованию команды su —

$ sudo -i
 password for test: 
# 

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

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

Отключить ввод пароля для пользователей принадлежащих к группе wheel:

Открываем для внесения изменений:
nano /etc/sudoers
 
Находим строку:
# %wheel        ALL=(ALL)	NOPASSWD: ALL
 
Раскомментировать строку:
%wheel        ALL=(ALL)	NOPASSWD: ALL
 
 
Сохраняем изменения и выходим.

Отключить ввод пароля для пользователей добавленных вручную:

Открываем для внесения изменений:
nano /etc/sudoers
 
Находим строку с нужным пользователем:
test    ALL=(ALL)     ALL
 
Изменяем ее:
test    ALL=(ALL)     NOPASSWD: ALL
 
Сохраняем изменения и выходим.

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

Для просмотра руководства по настройке sudo, выполняется команда:

Посмотреть руководство sudo:
man sudoers
 
Выйти из руководства:
q
 
Посмотреть список дополнительных опций команды:
sudo -h

Настройка sudo и прав доступа на выполнение различных команд

sudo позволяет разрешать или запрещать пользователям выполнение конкретного набора программ. Все настройки, связанные с правами доступа, хранятся в файле /etc/sudoers
. Это не совсем обычный файл. Для его редактирования необходимо
(в целях безопасности) использовать команду

Sudo visudo

По умолчанию, в нём написано, что все члены группы admin
имеют полный доступ к sudo , о чём говорит строчка

%admin ALL=(ALL) ALL

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

Man sudoers

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

Разрешение пользователю выполнять команду без ввода пароля

Для того, что бы система не запрашивала пароль при определенных командах необходимо в sudoers после строки # Cmnd alias specification
добавить строку, где через запятую перечислить желаемые команды с полным путём(путь команды можно узнать, выполнив which имя_команды
:

# Cmnd alias specification
Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /usr/sbin/pm-hibernate, /sbin/reboot

И в конец файла дописать строку

Имя_пользователя ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS

Внимание! Вышеописанные действия не отменяют необходимости ввода команды sudo перед вашей командой

Создание синонимов (alias`ов)

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

и добавьте в конец файла строки

Настройка sudo и прав доступа на выполнение различных команд

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

sudo visudo

По умолчанию, в нём написано, что все члены группы admin имеют полный доступ к , о чём говорит строчка

%admin ALL=(ALL) ALL

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

man sudoers

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

Разрешение пользователю выполнять команду без ввода пароля

Для того, что бы система не запрашивала пароль при определенных командах необходимо в sudoers после строки # Cmnd alias specification добавить строку, где через запятую перечислить желаемые команды с полным путём(путь команды можно узнать, выполнив which имя_команды:

# Cmnd alias specification
Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /usr/sbin/pm-hibernate, /sbin/reboot

И в конец файла дописать строку

имя_пользователя ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS

Внимание! Вышеописанные действия не отменяют необходимости ввода команды sudo перед вашей командой

Создание синонимов (alias`ов)

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

 nano ~bashrc 

и добавьте в конец файла строки

alias reboot='sudo reboot'
alias poweroff='sudo poweroff'
alias pm-hibernate='sudo pm-hibernate'
alias hibernate='sudo pm-hibernate'
alias shutdown='sudo shutdown' 

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

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

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

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

Дополнительная информация

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

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

При открытии некоторых файлов, папок или при запуске программ, вам может выдать ошибку «Запрошенная операция требует повышения«. Эта ошибка известна также, как «Невозможно выполнить файл» с кодом 740 и описанием CreateProcess, и служит для мер безопасности в Windows. Чтобы преодолеть эту ошибку, Вам нужны более высокие привилегии в системе. Эту ошибку можно встретить в Windows 7 и Windows 8.1, но чаще всего, она появляется в Windows 10, так как система более защищена в плане доступа к папкам, в особенности диска C:\. Также ошибка может появится, когда вы скачали какой-либо файл и пытаетесь запустить его. Давайте разберем, как решить проблему.

1. Запуск программы от имени админа

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

Совет: Если вы нажмете ниже «Изменить параметров для всех пользователей» (выше рисунок), то вы сделаете возможность, чтобы запускали все пользователи.

2. Изменить владельца диска

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

В новом окне перейдите в вкладку «Безопасность» и ниже нажмите на «Дополнительно«.

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

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

3. Отключить одобрение администратора

Ошибка «Невозможно выполнить файл» или «Запрошенная операция требует повышения» с кодом события 740 может появится после обновления системы Windows до последней версии. Это может произойти, так как при обновлении системы иногда по умолчанию включается опция «Утверждение администратором для встроенного администратора» . Следовательно, ваш компьютер будет запрашивать разрешение каждый раз, когда вы делаете все, что требует административного доступа, независимо от типа вашей учетной записи. Таким образом, для решения этой проблемы вам просто нужно отключить опцию «Утверждение администратором для встроенного администратора«.

Нажмите Win+R и введите gpedit. msc, чтобы открыть редактор групповых политик. В редакторе перейдите «Конфигурация компьютера» > «Конфигурация Windows» > «Параметры безопасности» > «Локальные политики» > «Параметры безопасности«. С правой стороны найдите «Контроль учетных записей: режим одобрения администратором для встроенной учетной записи администратора» и нажмете по этой графе два раза. В новом окне выберите «Отключен«, применить и OK. перезагрузите ПК, чтобы изменения вступили в силу.

4. Отключить UAC

Настройки UAC (контроля учетных записей) могут быть причиной этой ошибки. Следовательно, вы можете отключить контроль учетных записей и проверить. Для этого нажмите Win+R и введите UserAccountControlSettings.

Далее перетяните ползунок в самый низ «Никогда не уведомлять«. Тем самым вы отключите контроль учетных записей (UAC). Проверьте решает ли это ошибку с правами повышения в Windows.

Суперпользователь в Ubuntu

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

Но есть и более простой и правильный вариант, вы можете использовать опцию -i утилиты sudo чтобы перейти в терминал суперпользователя:

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

Alwaysinstallelevated

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

или

Они указывают системе, что любой MSI-файл должен устанавливаться с повышенными привилегиями (NT AUTHORITYSYSTEM). Соответственно, задействовав специальным образом созданный файл, можно опять же выполнить действия от имени системы и прокачать свои привилегии.

В состав Metasploit входит специальный модуль exploit/windows/local/always_install_elevated, который создает MSI-файл со встроенным в него специальным исполняемым файлом, который извлекается и выполняется установщиком с привилегиями системы.

После его выполнения MSI-файл прекращает установку (путем вызова специально созданного невалидного VBS), чтобы предотвратить регистрацию действия в системе. К тому же если запустить установку с ключом /quiet, то юзеру даже не выведется ошибка.

Запуск графических программ с правами администратора

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

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

gksudo nautilus

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

gksudo <имя_команды>

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

Заключение

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

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

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector