Права суперпользователя Linux | Losst
Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.
В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.
В этой статье мы рассмотрим какие программы нужны для того, чтобы получить права root пользователя linux, как они работают, как выполнять программу с правами root от обычного пользователя и как запускать графические программы с правами root. А также выясним что такое sudo в чем разница su или sudo.
Содержание статьи:
Права суперпользователя в Linux
Очень долго перечислять чего не может обычный пользователь Linux, проще сказать на что у него есть право, а именно при стандартной настройке полномочий для файлов в Linux, обычный пользователь может:
- Читать, писать и изменять атрибуты файлов в своем каталоге
- Читать, писать, изменять атрибуты файлов в каталоге /tmp
- Выполнять программы там, где это не запрещено с помощью флага noexec
- Читать файлы, для которых установлен флаг чтения для всех пользователей.
Если же нужно сделать что-то большее нам понадобятся права root пользователя linux. У root есть право делать все в вашей файловой системе независимо от того какие права установлены на файл.
Вход под суперпользователем
Чтобы войти под пользователем root можно переключиться в одну из виртуальных консолей, например, с помощью сочетания клавиш Ctrl+Alt+F1 и затем ввести логин root и пароль root пользователя.
Вы получите полноценное окружение root с возможностью выполнять все действия, но такой способ очень непрактичный, так как вы теряете все преимущества использования графического интерфейса.
Можно поступить полностью противоположным путем, ввести логин root и его пароль в графическом менеджере входа, чтобы окружение рабочего стола работало от имени root, и мы получаем все права root linux, но такой вариант крайне не рекомендованный, и очень опасный, вы можете случайно повредить всю систему. Поэтому этот способ был отключен во многих менеджерах входа.
Переключение на суперпользователя в терминале
Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root.
$ 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
Из этих команд мы видим, что теперь мы пользователь root, но домашней директорией считается директория нашего предыдущего пользователя и наша переменная не сохранилась также изменилась переменная PATH, теперь там добавлен путь /sbin.
Теперь используем вход в режиме логина:
su -
И повторим ту же комбинацию:
whoami
pwd
echo $VAR
echo $PATH
exit
Та же ситуация, только на этот раз изменена ко всему еще и домашняя директория на директорию root. Но мы можем сохранить наши переменные окружения, если это нужно, для этого есть опция -p:
Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:
su - test
Более подробно о команде 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. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!
4.8. Получение прав root. Linux глазами хакера
4.8. Получение прав root
Теперь у нас есть достаточно информации о доступе, и мы можем рассмотреть типичный метод взломщика для получения прав root и способы маскировки в системе.
Допустим, что злоумышленник приобрел возможность выполнять какие-либо системные команды от имени (с правами) root. Сидеть под этой учетной записью будет слишком опасно и вызывающе. К тому же изменять пароль root нельзя.
Как же тогда входить под другим именем и в то же время использовать максимальные права? Давайте вспомним, как Linux работает с правами. В файле /etc/passwd хранятся записи пользователей в следующем виде:
robert:x:501:501::/home/robert:/bin/bash
Третий и четвертый параметры — это идентификаторы пользователя и группы соответственно. Когда на объекты выделяются права, то система сохраняет только идентификаторы. Что это значит? Допустим, что у вас есть пользователь robert с идентификатором 501. Вы создали еще одного пользователя Dan и дали ему такой же идентификатор. Теперь обе учетные записи с одинаковыми ID будут разделять владение одними и теми же объектами.
Что это нам дает? Посмотрите на идентификатор пользователя root — он равен нулю. Именно нулевой ID, а не имя root указывает на максимальные права. Давайте попробуем учетной записи robert, которую мы создали ранее, поставить вручную идентификаторы пользователя и группы, равные 0. В файле /etc/passwd должна получиться строка:
robert:x:0:0::/home/robert:/bin/bash
Теперь войдите в систему под этой учетной записью и попробуйте снова открыть файл /etc/passwd и внести изменения или просто добавить пользователя. Все пройдет успешно, хотя файл /etc/passwd может изменять только root. Так что система проверяет наши права по идентификатору, который в данном случае нулевой и соответствует максимуму.
Так как имя пользователя ничего не значит, я рекомендую удалить пользователя root в файлах /etc/passwd и /etc/shadow, создать новую запись с другим именем, но идентификатором, равным 0. Злоумышленники, которые попытаются взломать ваш сервер, будут пытаться подобрать пароль для администратора root, но т.к. пользователя с таким именем нет, то их действия окажутся безуспешными.
С другой стороны, пользователя root можно оставить, но установить ему идентификатор больше нуля. Я иногда создаю учетную запись root с UID=501 или выше. Увидев эту запись, взломщик думает, что он обладает всеми правами, но в реальности оказывается простым пользователем.
Каждая удачная попытка ввести злоумышленника в заблуждение увеличивает вероятность паники со стороны хакера. Даже профессиональный взломщик, находясь в системе, испытывает большую психологическую нагрузку и боится оказаться замеченным. Среди взломщиков немало людей с неустойчивой психикой. Только не думайте, что это сумасшедшие, все хакеры здоровые люди, просто в момент взлома испытывают перенапряжение, и когда что- либо идет не так, как планировалось, хакер может запаниковать.
Итак, злоумышленник, проникнув в систему, может не пользоваться учетной записью root, а отредактировать любую другую или добавить еще одну с нулевым идентификатором пользователя и получить максимальные права в системе. Если вы являетесь администратором сервера, то должны отслеживать подобные трансформации и останавливать любые попытки изменения идентификаторов.
Команда id позволяет узнать идентификаторы пользователя. Если она вызывается без параметров, то на экран будут выведены идентификаторы текущего пользователя. Чтобы получить информацию о конкретной учетной записи, нужно выполнить команду:
id имя
Например, давайте посмотрим параметры пользователя robert. Для этого выполним команду:
id robert
Результатом будет строка:
uid=501(robert) gid=501(robert) group=501(robert)
Таким образом в любой момент можно определить идентификатор пользователя и его реальные права.
Данный текст является ознакомительным фрагментом.
Продолжение на ЛитРесКак дать пользователю root-права в Linux
Суперпользователь «root» – это король пользователей Linux/Unix. Наличие root-доступа дает полный и неограниченный доступ к Linux.В этом руководстве я покажу вам, как разрешить root-доступ пользователю в системе Linux. Обычно при системном администрировании используется доступ корневого уровня. Так что давать root-доступ другим пользователям всегда сложно. Вы должны быть осторожны и должны закрыть доступ, как только необходимость в этом исчезнет.
Согласно разрешениям файловой системы Linux, root или суперпользователь имеет полное разрешение на чтение (r), запись (w) и выполнение (x) любого файла. По умолчанию идентификатор пользователя root равен «0».
Мы собираемся создать двух пользователей, а именно user1 и user2. Затем мы покажем вам, как предоставить root-доступ пользователю user1.
Метод 1: добавление в корневую группу с помощью usermod
Давайте посмотрим, как мы можем предоставить обычному пользователю root-доступ, добавив его в корневую группу.
# adduser user1 # adduser user2 # groupadd test
Это группы, которые есть у меня в Linux.
# группа
root bin daemon sys adm disk wheel
Мы собираемся добавить пользователя user1 в корневую группу следующим образом:
# usermod -G root user1
Приведенная ниже команда предоставляет существующему пользователю привилегию root.
# usermod -g 0 -o root_user
Метод 2: добавление в корневую группу с помощью команды Useradd
Мы добавили нового пользователя user3 в корневую группу с помощью одной единственной команды:
# useradd -m -G root user3 # группа user3 user3: user3 root
Другой вариант с использованием команды useradduseradd
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 пользователя на «0». Это даст пользователю права root.
root:x:0:0:root:/root:/bin/bash temproot:x:128:128:temproot
Теперь у пользователя temproot должны быть права root:
root:x:0:0:root:/root:/bin/bash temproot:x:0:0:temproot
Примечание
Это не рекомендуемый метод предоставления root-доступа.
Метод 4: установка в качестве пользователя Sudo
Файл конфигурации sudo – /etc/sudoers, и вы можете редактировать этот файл с помощью команды visudo: # visudo.
Использование visudo защищает от конфликтов и гарантирует использование правильного синтаксиса.
Чтобы предоставить полный доступ определенным пользователям
Добавьте в файл запись, указанную ниже:
andreyex, maxim ALL=(ALL) ALL
Следование этому методу – не лучшая идея, поскольку он позволяет и andreyex, и maxim использовать команду su для предоставления себе постоянных привилегий root. Таким образом, пропуская функции ведения журнала команд sudo.
Предоставление доступа к определенным файлам одному конкретному пользователю
Эта запись позволяет andreyex и всем остальным членам оператора группы получить доступ ко всем программным файлам в каталогах /sbin и /usr/sbin, а также привилегию запуска команды /usr/oracle/backup.pl.
andreyex, %operator ALL= /sbin/, /usr/sbin, /usr/oracle/backup.pl
Если у вас есть какие-либо вопросы или мысли по этой теме, воспользуйтесь формой комментариев.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как дать права root пользователю Linux Ubuntu
В операционной системе Ubuntu пользователи, которые состоят в группе «sudo», могут выполнять задачи администратора, используя одноименную группе команду — sudo. Сегодня мы рассмотрим, как дать пользователю данную привелегию или же ее отозвать.
Также у нас есть материал о том, как активировать ученую запись непосредственно пользователя root: Как ативировать root и добавить/изменить пароль root в Ubuntu
Еще: Sudo без пароля в Ubuntu
Как создать суперпользователя в Ubuntu
Создаем нового пользователя
Для того, чтобы создать нового пользователя воспользуемся командой adduser:
sudo adduser testuser
После ввода команды начнется процесс создания пользователя testuser и будет предложено задать для него пароль:
Создание нового пользователя ubuntuКак мы помним — в консоли Linux пароли не отображаются при печати, даже в виде звездочек. Заполняем пароль и повторным его вводом подтверждаем корректность:
Подтверждаем правильность ввода пароляПосле вышеописанных действий система предложит указать дополнительную информацию о пользователе. Данный пункт является необязательным и можно просто оставить все поля пустыми? после чего подтвердить операцию ввода, вписав y в поле ввода:
Заполняем дополнительную информацию о пользователеДобавляем пользователя в группу sudo
Теперь, когда пользователь создан присоеденим его к группе суперпользователя — sudo:
sudo usermod -aG sudo testuserПрисоединяем пользователя Ubuntu к групе sudo
Осталось только проверить, что все прошло успешно. Переключим пользователя на testuser и попробуем выполнить команду whoami от имени суперпользователя:
su testuser sudo whoamiСмена пользователя и проверка root
Чтобы переключить текущего пользователя обратно на своего — используем команду su имя_пользователя.
Как дать существующему пользователю привелегии суперюзера
Если необходимо добавить уже существующего пользователя в группу sudo нужно выполнить команду:
sudo usermod -aG sudo ИМЯ_ПОЛЬЗОВАТЕЛЯ
Как отзвать привелегии суперпользователя
Для того, чтобы сделать пользователя обычным — без прав выполнения команд от имени суперпользователя нужно удалить его из группы sudo. Сделать это можно с помощью следующей команды:
sudo deluser ИМЯ_ПОЛЬЗОВАТЕЛЯ sudoУдаление пользователя из группы sudo
Теперь можно убедиться, что пользователь более не может выполнять команды от имени root:
su testuser sudo whoamiПроверяем отсутствие прав суперпользователя
Как мы можем видеть — система не позволяет пользователю использовать команду sudo.
При удалении пользователя из группы sudo следует быть внимательным, чтобы не удалить единственного администратора из системы.
27 883
Как получить root-права на Adnroid
Быстроman как получить root-права на Android смартфоне. Я буду использовать OnePlus 3 и Android 8.0, но инструкция должна подойти и к другим устройствам.
Предисловие
Все действия вы выполняете на свой страх и риск. При неправильной последовательности, можно потерять данные или превратить телефон в кирпич. Также, важно понимать, что рутованный девайс, кроме некоторых удобств, несет в себе риски безопасности. Будьте внимательны.
Подготовка
Для начала, надо на компьютер установить adb и fastboot. Это утилитки из Android SDK для работы с подключенным по USB телефоном.
Для Windows есть удобный установщик adb, fastboot — https://forum.xda-developers.com/showthread.php?t=2317790
Вот здесь официальные дистрибутивы под все платформы — https://developer.android.com/studio/#downloads
Далее качаем TWRP. Это что-то типа livecd для телефона. Образ некой системы, в которой загрузится телефон, и в ней мы установим приложение Magisk.
TWRP (я брал версию 3. 1.0-0-twrp.img) — https://dl.twrp.me/twrp/
Если у вас OnePlus, вот TWRP для них — https://eu.dl.twrp.me/oneplus3/ (надо брать этот twrp если вылетает ошибка dtb not fount)
Magisk — это open source приложение, которое дает рут права на телефон, и позволяет скрывать наличие рута от других приложений, чтобы работал Android Pay. Также, обновления системы, которые прилетают “по воздуху”, не должны сломаться. Лучше использовать Magisk, а не SuperSU.
Magisk — https://github.com/topjohnwu/Magisk/releases
Теперь включим режим разработчика на телефоне. Для этого в настройках, в разделе “О телефоне”, надо несколько раз нажать на “Номер сборки”. После раза 10-го, появится сообщение “Теперь вы разработчик”, и в настройках появится новый пункт “Для разработчиков”.
Разблокировка загрузчика
Разблокировка загрузчика удаляет все данные с телефона и sd-карты
Также, разблокировка загрузчика, без установленного далее Magisk, может сломать Android Pay.
Для разблокировки:
В настройках “Для разработчиков” включаем “Отладка по USB”, “Заводская разблокировка” и “Варианты перезагрузки”
Загружаемся в fastboot mode. Для этого зажимаем кнопку выключения, выбираем “Перезагрузка” и далее “Загрузчик” Второй способ — выключить телефон, зажать клавишу громкости вверх и клавишу включения. Через несколько секунд появится fastboot mode
Подключаем телефон по USB-кабелю. И проверяем что устройство доступно в системе. Для этого выполняем:
В списке должен быть телефон$ fastboot devices fa______d fastboot
ПОСЛЕ ЭТОЙ КОМАНДЫ ТЕЛЕФОН ПЕРЕЗАГРУЗИТСЯ И ВСЕ ДАННЫЕ БУДУТ УДАЛЕНЫ. Делайте бэкапы всех данных до этого шага.
На телефоне выбираем качелькой громкости Yes, подтверждаем клавишей питания. При загрузке появится меню с выбором режима, выбираем качелькой просто Start и подтверждаем клавишей питания. Телефон долго будет перезагружаться, и загрузится сброшенным в заводское состояние.
Теперь загрузчик разблокирован.
Получение root
- Подключаем телефон к компьютеру в режиме передачи файлов MTP
- Заливаем на телефон zip-файл Magisk, скачанный выше из github
- Загружаемся в TWRP. Для этого перезагружаем телефон в fastboot mode (см. пункт 2 инструкции выше как разблокировать загрузчик) и на компьютере выполняем:
$ fastboot boot twrp.img downloading 'boot.img'... OKAY [ 0.565s] booting... OKAY [ 0.464s] finished. total time: 1.044s
- В TWRP выбираем Install и устанавливаем залитый на телефон zip Magisk.
- После установки TWRP предлагает очистить кэш (wipe). Это не нужно, просто ребутаем
- После ребута появляется приложение Magisk Manager. Если этого не произошло, попробуйте взять другую версию TWRP и повторить процесс.
Все, теперь с помощью Magisk Manager можно выдавать root-овые права приложениям, которые их запрашивают, а также скрывать от других приложений, что этот девайс рутованный, чтобы не сломать Android pay.
Fedora 21.Как получить права root или как разрешить доступ пользователю к команде sudo
Команда sudo предоставляет возможность пользователям выполнять команды от имени root
, либо других пользователей. Правила, используемые sudo для принятия решения о предоставлении доступа, находятся в файле /etc/sudoers
; язык их написания и примеры использования довольно подробно изложены в man 5 sudoers
.
Чтобы дать пользователю полный доступ к команде sudo необходимо добавить в конфигурационный файл строку
username ALL=(ALL) ALL
При такой конфигурации при наборе команды sudo, вы должны будете указывать свой пароль( пароль пользователя, а не root-а). Для того чтобы пароль не запрашивался вовсе, строку нужно поправить следующим образом:
username ALL=(ALL) NOPASSWD: ALL
Вместо username
необходимо подставить имя вашего пользователя.
Определившись с типом доступа правим конфигурационный файл:
- открываем терминал
- становимся рутом
su -
- запускаем редактор
EDITOR=gedit visudo(Вместо gedit может использоваться любой другой текстовой редактор)
- вставляем строку в самый конец файла, сохраняем изменения и выходим
Вам больше не нужны права суперпользователя и вы будете выполнять дальнейшие команды от обычного пользователя. Для этого закончите сеанс root-а набрав в терминале:
exit
Проверить, работает ли sudo можно, набрав в терминале:
sudo whoami
Если ответ будет root
, то всё было сделано правильно.
Если вам кажется, что настройки sudoers не применились
Начиная с Fedora 11 конфигурационный файл /etc/sudoers содержит директиву
#includedir /etc/sudoers.d
Она вставляет в конфигурационный файл содержимое всех файлов из каталога /etc/sudoers. d взятых в алфавитном порядке. Sudo проверяет все директивы конфигурационного файла по очереди и применяет последнюю из подошедших.
Если ваши настройки не применились, проверьте нет ли в этих файлах директив с более высоким приоритетом.
Как получить права Root на Android
В одной из статей я уже писал о том, что такое root-права и зачем они нужны, новичкам в Android, рекомендую ознакомится. Ниже пойдёт речь о том, как их, собственно, получить.
Прежде всего, надо отметить, что существует несколько типов root-прав.
- Full Root – открывает полный доступ ко всем папкам и файлам устройства. В некоторых случаях может остаться даже после обновления операционной системы
- Shell Root – урезанный вариант прав суперпользователя, при котором закрыт доступ к папке system, хранящей файлы непосредственно операционной системы
- Temporary Root – временные root-права, открывающие доступ ко всем папкам до первой перезагрузки.
Конечно, Full Root является самым предпочтительным , однако если вы не хотите терять гарантию на устройство, то под некоторые задачи подойдёт и Temporary Root.
Стоит так же отметить, что некоторые производители блокируют возможность редактирования папки system специальной защитой, называемой NAND lock. На таких устройствах, естественно, Full Root невозможен в принципе.
Способы получения root-прав
Для получения прав суперпользователя существует несколько способов:
- Первый и самый распространённый способ подразумевает использование специальных программ для Windows, которых сегодня существует огромное множество. Причём, у каждой программы есть ограниченное количество поддерживаемых устройств. По этому перед использованием обязательно проверьте наличие своего аппарата в списке поддерживаемых. Самыми популярными утилитами для рутирования являются Unlock Root Pro, SuperOneClick и Kingo Android Root.
- Второй способ получить root-доступ, это использование специальных Android приложений. Преимуществом такого способа является отсутствие необходимости использовать компьютер, “рутирование” производится исключительно с использованием мобильного устройства. Среди самых популярных приложений, такие как z4root и Universal AndRoot.
- Третий способ – установка прошивки с активированными root-правами. Зачастую такие прошивки, помимо активированных прав суперпользователя, имеют ряд других улучшений и модификаций. Ярким примером могут служить прошивки CyanogenMod, разработанные для множества смартфонов.
Как убрать root-права
Так как root-права, лишают гарантии, в случаях поломки устройства можно попробовать их убрать. Но конечно, для этого, необходимо нормальное функционирование самого аппарата. Некоторые утилиты для “рутирования” умеют так же и удалять root-права. Но даже если в вашей утилите такой возможности нет, можете попробовать универсальное приложение Universal Unroot, которое можно скачать в Google Play.
Как добавить пользователя и предоставить привилегии root в Ubuntu 16.04
Ubuntu 16.04 LTS предоставляет вам возможность добавить пользователя для всех, кто планирует доступ к вашему серверу. Создание пользователя — это базовая настройка, но она важна и критически важна для безопасности вашего сервера. В этом руководстве мы создадим пользователя и предоставим административный доступ, известный как root, вашему доверенному пользователю.
Предполетная проверка
- Нам нужно будет открыть терминал и войти в систему как пользователь root.
- Мы будем работать как этот пользователь root на сервере LTS Linux Ubuntu 16.04
Создание пользователя с привилегиями root
Создайте имя пользователя для вашего нового пользователя, в моем примере мой новый пользователь — Tom:
You Затем будет предложено ввести пароль для этого пользователя. Мы рекомендуем использовать надежный пароль, потому что вредоносные боты запрограммированы на угадывание простых паролей. Если вам нужен надежный пароль, этот сторонний генератор паролей может помочь с его созданием.
~ # приводной том
Добавление пользователя `tom '. ..
Добавление новой группы `tom '(1002) ...
Добавление нового пользователя `tom '(1002) с группой` tom' ...
Создание домашнего каталога `/ home / tom '...
Копирование файлов из `/ etc / skel '...
Введите новый пароль UNIX:
Введите новый пароль UNIX еще раз:
passwd: пароль обновлен успешно
Примечание
Имена пользователей должны быть в нижнем регистре и избегать специальных символов. Если вы получили сообщение об ошибке ниже, измените имя пользователя. ~ # adduser Том
adduser: введите имя пользователя, соответствующее регулярному выражению, настроенному с помощью переменной конфигурации NAME_REGEX [_SYSTEM].Используйте параметр --force-badname, чтобы ослабить эту проверку или перенастроить NAME_REGEX.
Затем появится текстовая подсказка с просьбой ввести информацию о вашем новом пользователе. Ввод этой информации является субъективным и не требуется. При необходимости эту информацию можно пропустить, нажимая Enter в каждом поле. Мы предлагаем добавить столько информации, сколько необходимо для отслеживания использования.
Введите новое значение или нажмите ENTER для значения по умолчанию.
Полное имя []:
Номер комнаты []:
Рабочий телефон []:
Домашний телефон []:
Другое []:
Наконец, система попросит вас проверить информацию на предмет точности.Введите Y , чтобы перейти к следующему шагу.
Информация верна? [Да / нет]
Шаг 2: Предоставление привилегий root Назначение root-доступа пользователю означает предоставление пользователю наивысших привилегий в нашей системе, поэтому рекомендуется соблюдать осторожность. После добавления пользователя Тома он может вносить изменения во всю систему в целом, поэтому крайне важно разрешить этот доступ только тем пользователям, которым он нужен. После этого Том сможет выполнять команды, используя параметр sudo, который обычно зарезервирован для пользователя root.
Шаг 3: Подтвердите нового пользователяВ качестве пользователя root вы можете переключиться на своего нового пользователя с помощью команды su, а затем проверить, есть ли у вашего нового пользователя права root.
Если пользователю должным образом предоставлен root-доступ, приведенная ниже команда отобразит tom в списке.
Вот и все! Мы добавили пользователя, а затем предоставили ему права root на сервере Ubuntu 16.04 LTS.
Начни сегодня!
Хотите узнать больше о настройке нового сервера Ubuntu? Позвоните нам по телефону 800.580.4985, или откройте чат или обратитесь к нам, чтобы поговорить с одним из наших знающих Решения или опытными консультантами по хостингу, чтобы узнать, как вы можете сразу же воспользоваться этими методами!
Как добавить пользователя и предоставить привилегии root в Ubuntu 18.04
Добавление пользователя и предоставление ему привилегий root — одна из многих задач системного администратора. Как только пользователь будет добавлен и получит права root, он сможет войти в ваш Ubuntu VPS и выполнять жизненно важные функции для обслуживания системы.После этого они смогут использовать команду sudo перед командами для выполнения задач с повышенными правами. В этом кратком руководстве мы покажем вам, как добавить нового пользователя и предоставить права root.
Предварительная проверка- Эти инструкции предназначены специально для добавления пользователя в Ubuntu 18.04 LTS.
- Мы будем работать с сервера Liquid Web Core Managed Ubuntu 18.04 LTS, и я буду входить в систему как root.
В моем примере я добавлю имя моего кота, Том, с помощью команды adduser .Замените tom желаемым именем пользователя. В течение этого времени система также будет запрашивать у моего пользователя подробную информацию. Не стесняйтесь пропустить эти детали, нажав клавишу ВВОД, и в конце концов он попросит нас подтвердить правильность информации, что приведет нас к добавлению нового пользователя.
Пример вывода:
Добавление пользователя tom ...
Добавление новой группы tom (1001) ...
Добавление нового пользователя tom (1001) с группой tom . ..
Создание домашний каталог `/ home / tom '...
Копирование файлов из` / etc / skel'...
Введите новый пароль UNIX:
Повторите новый пароль UNIX:
passwd: пароль успешно обновлен
Изменение информации пользователя для tom
Введите новое значение или нажмите ENTER для значения по умолчанию
Полное имя []: Tom
Номер комнаты [ ]:
Рабочий телефон []:
Домашний телефон []:
Другое []:
Информация верна? [Да / нет] Да
Приведенная выше команда приводит нас к / etc / sudoers.tmp , в котором мы можем просмотреть следующий код: # Спецификация привилегий пользователя
root ALL = (ALL: ALL) ALL
После строки пользователя root вы добавите своего нового пользователя в том же формате, что и мы. предоставить права администратора.
После добавления разрешения сохраните файл и выйдите из него, используя следующий процесс. (В Ubuntu 18.04 nano является редактором по умолчанию, поэтому нам нужно использовать сочетания клавиш ctrl + x, y для сохранения и выхода из файла.)
удерживайте Ctrl и нажмите x.В командной строке нажмите `y`, а затем нажмите` Enter`, чтобы сохранить и выйти из файла.
Шаг 3: Подтвердите, что у пользователя есть права Если вы правильно следовали инструкциям, то этот пользователь сможет запускать такие команды, как, update, с помощью sudo :
Хотите выполнять административные задачи через панель управления? Ознакомьтесь с нашими серверами, которые поставляются с серверами cPanel. Мы предлагаем бесплатную миграцию и круглосуточную поддержку, что упрощает переход на Liquid Web!
Как сделать: предоставить пользователю root-доступ — Root-права — Linux
Из этой статьи вы узнаете, как создать пользователя в Linux и предоставить ему root-доступ или как предоставить root-права уже существующему пользователю.
Это можно легко сделать, изменив UID
(идентификатор пользователя) и GID
(идентификатор группы) в файле / etc / passwd
.
Также вы узнаете, как просто добавить пользователя в корневую группу, и я объясню, как удалить пользователя с привилегиями root.
На самом деле не рекомендуется давать все привилегии root пользователю без полномочий root, и вне тестовой среды я бы не рекомендовал иметь несколько суперпользователей.
Предупреждение: Предоставление пользователю без полномочий root всех прав root очень опасно, потому что пользователь без полномочий root сможет делать буквально все, что может вызвать большие проблемы в случае взлома учетной записи.
Проверьте настройки SSH-сервера: Если вы отключили root-доступ в настройках SSH-сервера, установив для PermitRootLogin номер
в / etc / ssh / sshd_config
— вы не сможете войти в систему, если у вашего пользователя UID 0
.
Предупреждение: Прежде чем двигаться дальше, прочтите комментарии ниже и НЕ СЛЕДУЙТЕ ШАГАМ ИЗ ДАННОЙ СТАТЬИ , если вы не понимаете, что вы делаете и какое влияние это может иметь!
Предоставить root-права новому пользователю
Допустим, вам нужно создать нового пользователя и предоставить ему root-доступ к серверу. Чтобы создать пользователя с теми же привилегиями, что и пользователь root, мы должны назначить ему тот же идентификатор пользователя, что и пользователь root ( UID 0
) и тот же идентификатор группы ( GID 0
).
Используйте следующие команды, чтобы создать пользователя john
, предоставить ему те же привилегии, что и root, и установить ему пароль:
$ sudo useradd -ou 0 -g 0 john $ sudo passwd john
Предоставить root-права существующему пользователю
Дельный совет: Расставьте точки над «i» и перечеркните их над правами доступа к файлам и папкам в Linux! Сделайте это более понятным! Подробнее →
Возможно, у вас уже есть пользователь john
, и вы хотите предоставить ему привилегии root (сделать его вторым пользователем root):
$ grep john / etc / passwd Джон: x: 1001: 1001 :: / home / alice: / bin / sh
Для этого необходимо отредактировать файл / etc / passwd
и просто поменять UID
и GID
на 0
:
$ grep john / etc / passwd Джон: x: 0: 0 :: / home / john: / bin / sh
Добавить пользователя в корневую группу
Если вы просто хотите добавить john
в корневую группу, не предоставляя ему всех привилегий root, выполните следующую команду:
$ sudo usermod -a -G root john
Удалить пользователя с правами root
Дельный Совет: Авторизуйтесь на удаленном сервере Linux без ввода пароля! Настройте SSH-вход без пароля! Подробнее →
Вы не сможете удалить пользователя с UID 0
с помощью команды userdel
:
$ sudo userdel john userdel: пользователь john в настоящее время используется процессом 1
Чтобы удалить его, сначала откройте файл / etc / passwd
и измените его UID
.
Например, измените строку:
Джон: x: 0: 0 :: / home / john: / bin / sh
до чего-то вроде:
Джон: x: 1111: 0 :: / home / john: / bin / sh
После этого вы сможете удалить пользователя john
с помощью команды userdel
:
$ sudo userdel johnКомандная строка
— Переход от пользователя к суперпользователю Командная строка
— Переход от пользователя к суперпользователю — Ask UbuntuСеть обмена стеков
Сеть Stack Exchange состоит из 178 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.
Посетить Stack Exchange- 0
- +0
- Авторизоваться Зарегистрироваться
Ask Ubuntu — это сайт вопросов и ответов для пользователей и разработчиков Ubuntu. Регистрация займет всего минуту.
Зарегистрируйтесь, чтобы присоединиться к этому сообществуКто угодно может задать вопрос
Кто угодно может ответить
Лучшие ответы голосуются и поднимаются наверх
Спросил
Просмотрено 1. 0м раз
Как мне перейти от пользователя к суперпользователю (root)? Какую команду я использую в Терминале, чтобы переключиться на root? Я пробовал --help
, но теряюсь со всей перечисленной помощью. Я ищу последнюю загрузку / установку, чтобы использовать ее.
10,177 золотых знаков4141 серебряный знак6868 бронзовых знаков
задан 3 мая ’15 в 23: 582015-05-03 23:58
pcgeekpcgeek87111 золотой знак77 серебряных знаков33 бронзовых знака
0Запустите экземпляр вашего терминала (нажмите CTRL + ALT + T или найдите «терминал» в Dash). Это даст вам обычную оболочку, из которой вы можете запускать команды или программы без root-доступа.
Чтобы получить root-доступ, вы можете использовать один из множества способов:
Запустите
sudo
и введите свой пароль для входа, если будет предложено, чтобы запустить только этот экземпляр команды от имени пользователя root. В следующий раз, когда вы запустите другую или ту же команду без префиксаsudo
, у вас не будет доступа root.Запустить
sudo -i
.Это даст вам интерактивную корневую оболочку. Обратите внимание, что$
в конце вашего приглашения изменилось на#
, что указывает на то, что у вас есть root-доступ. Но вы попадаете в корневой домашний каталог (/ root /
). Отсюда вы можете выполнить любую последовательность команд от имени пользователя root или выполнить командуexit
, чтобы выйти из оболочки root.Используйте команду
su
(заменить пользователя), чтобы получить корневую оболочку. Фактически это то же самое, что и использованиеsudo -i
.Обратите внимание, что когда вы используете эту команду, она запрашивает пароль root, а не ваш пароль для входа. Это не то же самое. Возможно, вам придется установить или изменить пароль root, запустив сначалаsudo passwd root
.Запустите
sudo -s
. Это дает вам root-доступ, но сохраняет текущую SHELL. Параметры оболочки, включая текущий каталог, сохраняются. Например, если вы используетеbash
(оболочка Ubuntu по умолчанию), псевдонимы (и любые другие настройки из~ /.bashrc
) сохраняются при переключении на пользователя root. Чтобы оставить root-доступ, введитеexit
, как в описанных выше случаях.
Имейте в виду, что играть с корневым доступом опасно, и если вам нужно было спросить о корневом доступе, у вас, вероятно, не должно быть этой привилегии. У вас есть возможность полностью разрушить всю вашу систему из-за неправильного выполнения многих команд. Будьте осторожны и проверьте, что вы делаете, прежде чем делать это. Google — это Поисковые системы — ваши друзья.
Создан 03 мая 2015, в 23: 012015-05-03 23:01.
Кифер РуркKeefer Rourke1,54811 золотых знаков88 серебряных знаков2222 бронзовых знака
4Это мой путь.
Откройте терминал и выполните эту команду:
судо су -
Команда запускает оболочку входа в систему, и вы оказываетесь в домашнем каталоге root с окружением root.
Создан 03 мая 2015, в 21:02.
A.B.A.B.2,7k2020 золотых знаков220220 серебряных знаков305305 бронзовых знаков
2 Вы можете использовать команду sudo -i
, которая запросит ваш пароль.Для этого вам необходимо быть в группе sudoers
или иметь запись в файле / etc / sudoers
.
Другой способ — это команда su -
, которая запросит пароль root, но выполнит то же самое.
1,76933 золотых знака1919 серебряных знаков3131 бронзовый знак
Создан 03 мая 2015, в 21:01
ПабиПаби6,93633 золотых знака3737 серебряных знаков4848 бронзовых знаков
Просто введите су -
Вас попросят ввести пароль, и после его ввода вы войдете в систему как пользователь root
173k4545 золотых знаков413413 серебряных знаков642642 бронзовых знака
Создан 19 июл.
Очень активный вопрос .Заработайте 10 репутации (не считая бонуса ассоциации), чтобы ответить на этот вопрос. Требование репутации помогает защитить этот вопрос от спама и отсутствия ответов. Спросите Ubuntu лучше всего работает с включенным JavaScriptВаша конфиденциальность
Нажимая «Принять все файлы cookie», вы соглашаетесь с тем, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Принимать все файлы cookie Настроить параметры
4.2. Управление корневым доступом Red Hat Enterprise Linux 7
При администрировании домашней машины пользователь должен выполнять некоторые задачи в качестве пользователя root
или путем получения эффективных привилегий root
с помощью программы setuid , такой как sudo
или su
.Программа setuid — это программа, которая работает с идентификатором пользователя ( UID ) владельца программы, а не с пользователем, работающим с программой. Такие программы обозначаются s
в разделе владельца списка длинного формата, как в следующем примере:
~] $ ls -l / bin / su
-rwsr-xr-x. 1 root root 34904 10 марта 2011 г. / bin / su
s
могут быть в верхнем или нижнем регистре. Если он отображается в верхнем регистре, это означает, что соответствующий бит разрешения не установлен.
Однако системный администратор организации должен сделать выбор в отношении того, какой административный доступ пользователи в организации должны иметь к своим машинам. Через модуль PAM под названием pam_console.so
некоторые действия, обычно зарезервированные только для пользователя root, такие как перезагрузка и установка съемного носителя, разрешены для первого пользователя, который входит в систему с физической консоли. Однако другие важные задачи системного администрирования, такие как изменение сетевых параметров, настройка новой мыши или установка сетевых устройств, невозможны без прав администратора.В результате системные администраторы должны решить, какой доступ должны получить пользователи в их сети.
4.2.1. Запрет доступа с правами root
Если администратору неудобно разрешать пользователям входить в систему как root
по тем или иным причинам, пароль root должен храниться в секрете, а доступ к одному уровню запуска или однопользовательскому режиму следует запретить через защиту паролем загрузчика (см. 5, «Защита загрузчика» для получения дополнительной информации по этой теме.) Ниже приведены четыре различных способа, с помощью которых администратор может дополнительно убедиться, что вход в систему root
запрещен:
- Замена корневой оболочки
Чтобы пользователи не могли напрямую входить в систему как
root
, системный администратор может установить для оболочки учетной записиroot
значение/ sbin / nologin
в файле/ etc / passwd
.Таблица 4.2. Отключение корневой оболочки
Эффекты Не влияет на Предотвращает доступ к оболочке
root
и регистрирует любые такие попытки.Следующим программам запрещен доступ к учетной записиroot
:логин
гдм
кдм
xdm
su
SSH
scp
SFTP
Программы, для которых не требуется оболочка, например FTP-клиенты, почтовые клиенты и многие программы setuid. Следующим программам , а не запрещен доступ к учетной записи
root
:судо
FTP-клиенты
Почтовые клиенты
- Отключение root-доступа с любого консольного устройства (tty)
Чтобы еще больше ограничить доступ к учетной записи
root
, администраторы могут отключить вход в системуroot
на консоли, отредактировав файл/ etc / securetty
.В этом файле перечислены все устройства, на которые разрешен вход пользователю root. Если файл вообще не существует, пользователь
root
может войти в систему через любое устройство связи в системе, будь то через консоль или необработанный сетевой интерфейс. Это опасно, потому что пользователь может войти на свою машину какroot
, используя Telnet, который передает пароль в виде обычного текста по сети.По умолчанию файл
/ etc / securetty
Red Hat Enterprise Linux 7 позволяет пользователюroot
войти в систему с консоли, физически подключенной к машине. Чтобы предотвратить вход пользователяroot
в систему, удалите содержимое этого файла, введя следующую команду в приглашении оболочки какroot
:эхо> / etc / securetty
Чтобы включить поддержку
securetty
в менеджерах входа в систему KDM, GDM и XDM, добавьте следующую строку:auth [user_unknown = игнорировать успех = нормально игнорировать = игнорировать значение по умолчанию = плохо] pam_securetty.so
в файлы, перечисленные ниже:
Пустой файл
/ etc / securetty
, а не , не препятствует удаленному входу пользователяroot
в систему с помощью набора инструментов OpenSSH, поскольку консоль открывается только после аутентификации.Таблица 4.3. Отключение корневого входа в систему
Эффекты Не влияет на Запрещает доступ к учетной записи
root
с помощью консоли или сети. Следующим программам запрещен доступ к учетной записиroot
:Программы, которые не входят в систему как
root
, но выполняют административные задачи с помощью setuid или других механизмов.Следующим программам , а не запрещен доступ к учетной записиroot
:- Отключение корневого входа SSH
Чтобы предотвратить вход
root
через протокол SSH, отредактируйте файл конфигурации демона SSH,/ etc / ssh / sshd_config
, и измените строку, которая гласит:#PermitRootLogin да
читать следующим образом:
PermitRootLogin no
Таблица 4.4. Отключение корневого входа SSH
Эффекты Не влияет на Предотвращает доступ
root
с помощью набора инструментов OpenSSH. Следующим программам запрещен доступ к учетной записиroot
:Программы, не входящие в набор инструментов OpenSSH.
- Использование PAM для ограничения корневого доступа к службам
PAM через файл
/ lib / security / pam_listfile.Таким образом, модуль
обеспечивает большую гибкость при отказе от определенных учетных записей. Администратор может использовать этот модуль для ссылки на список пользователей, которым не разрешен вход в систему. Чтобы ограничить доступroot
к системной службе, отредактируйте файл целевой службы в каталоге/etc/pam.d/
и убедитесь, что для аутентификации требуется модульpam_listfile.so
.Ниже приведен пример использования модуля для FTP-сервера
vsftpd
в файле/ etc / pam.d / vsftpd
файл конфигурации PAM (символ\
в конце первой строки - это , а не , необходимый, если директива находится в одной строке):требуется авторизация /lib/security/pam_listfile.so item = user \ смысл = запретить файл = / etc / vsftpd.ftpusers onerr = успешно
Это дает указание PAM обратиться к файлу
/etc/vsftpd.ftpusers
и запретить доступ к службе любому из перечисленных пользователей. Администратор может изменить имя этого файла и может вести отдельные списки для каждой службы или использовать один центральный список для запрета доступа к нескольким службам.Если администратор хочет запретить доступ к нескольким службам, аналогичную строку можно добавить в файлы конфигурации PAM, например
/etc/pam.d/pop
и/etc/pam.d/imap
для почтовых клиентов, или/etc/pam.d/ssh
для клиентов SSH.Для получения дополнительной информации о PAM см. The Linux-PAM System Administrator's Guide , расположенный в каталоге
/ usr / share / doc / pam-
./ html / Таблица 4.5. Отключение рута с помощью PAM
Эффекты Не влияет на Запрещает
root
доступ к сетевым службам, поддерживающим PAM. Следующим службам запрещен доступ к учетной записиroot
:логин
гдм
кдм
xdm
SSH
scp
SFTP
FTP-клиенты
Почтовые клиенты
Любые услуги, поддерживающие PAM
Программы и службы, не поддерживающие PAM.
4.2.2. Разрешение рут-доступа
Если пользователи в организации пользуются доверием и обладают компьютерной грамотностью, то предоставление им доступа к root
может не быть проблемой. Разрешение доступа root
для пользователей означает, что незначительные действия, такие как добавление устройств или настройка сетевых интерфейсов, могут выполняться отдельными пользователями, оставляя системным администраторам возможность решать вопросы сетевой безопасности и другие важные вопросы.
С другой стороны, предоставление доступа root
отдельным пользователям может привести к следующим проблемам:
Неправильная конфигурация машины - Пользователи с доступом
root
могут неправильно настроить свои машины и нуждаться в помощи для решения проблем. Хуже того, они могут открыть дыры в безопасности, даже не подозревая об этом.Запуск небезопасных служб - Пользователи с доступом
root и
могут запускать на своей машине небезопасные серверы, такие как FTP или Telnet, что может подвергнуть риску имена пользователей и пароли.Эти службы передают эту информацию по сети в виде простого текста.Запуск вложений электронной почты в качестве корневого каталога - Хотя вирусы электронной почты, влияющие на Linux, встречаются редко, они все же существуют. Вредоносная программа представляет наибольшую угрозу при запуске пользователем
root
.- Сохранение контрольного журнала неповрежденным - Поскольку учетная запись
root
часто используется несколькими пользователями, так что несколько системных администраторов могут поддерживать систему, невозможно определить, кто из этих пользователей былroot
в данный момент.При использовании отдельных входов учетная запись, с которой пользователь входит в систему, а также уникальный номер для целей отслеживания сеанса помещаются в структуру задачи, которая наследуется каждым процессом, запускаемым пользователем. При использовании одновременных входов в систему уникальный номер может использоваться для отслеживания действий с определенными входами. Когда действие генерирует событие аудита, оно записывается с учетной записью входа и сеансом, связанным с этим уникальным номером. Используйте командуaulast
для просмотра этих учетных записей и сеансов.Можно использовать опцию--proof
командыaulast
, предлагая конкретный запросausearch
для изоляции проверяемых событий, генерируемых определенным сеансом. Дополнительные сведения о системе аудита см. В главе 7, Аудит системы .
4.2.3. Ограничение корневого доступа
Вместо того, чтобы полностью отказывать в доступе пользователю root, администратор может захотеть разрешить доступ только через программы setuid, такие как su
или sudo
.Для получения дополнительной информации о su
и sudo
см. Главу Получение привилегий в Руководстве системного администратора Red Hat Enterprise Linux 7 и справочные страницы su (1)
и sudo (8)
. 4.2.4. Включение автоматического выхода из системы
Когда пользователь входит в систему как root
, сеанс автоматического входа в систему может представлять значительную угрозу безопасности. Чтобы снизить этот риск, вы можете настроить систему на автоматический выход из системы бездействующих пользователей через фиксированный период времени.
В качестве корня
добавьте следующую строку в начало файла / etc / profile
, чтобы убедиться, что обработка этого файла не может быть прервана:
ловушка "" 1 2 3 15
Как root
, вставьте следующие строки в файл / etc / profile
, чтобы автоматически выйти из системы через 120 секунд:
экспорт TMOUT = 120
только чтение TMOUT
Переменная TMOUT
завершает оболочку, если в течение указанного количества секунд не выполняется никаких действий (в приведенном выше примере установлено значение 120
).Вы можете изменить лимит в соответствии с потребностями конкретной установки.
4.2.5. Защита загрузчика
Основные причины защиты паролем загрузчика Linux следующие:
Предотвращение доступа к однопользовательскому режиму - Если злоумышленники могут загрузить систему в однопользовательском режиме, они автоматически входят в систему как root
без запроса пароля root
.
Защита доступа к однопользовательскому режиму паролем путем редактирования параметра SINGLE
в файле / etc / sysconfig / init
не рекомендуется. Злоумышленник может обойти пароль, указав пользовательскую начальную команду (используя параметр init =
) в командной строке ядра в GRUB 2. Рекомендуется защитить паролем загрузчик GRUB 2, как описано в разделе Защита Глава GRUB 2 с паролем в Руководстве системного администратора Red Hat Enterprise Linux 7. Предотвращение доступа к консоли GRUB 2 - Если машина использует GRUB 2 в качестве загрузчика, злоумышленник может использовать интерфейс редактора GRUB 2, чтобы изменить свою конфигурацию или собрать информацию с помощью команды cat
.
Предотвращение доступа к незащищенным операционным системам - Если это система с двойной загрузкой, злоумышленник может выбрать операционную систему во время загрузки, например DOS, которая игнорирует элементы управления доступом и права доступа к файлам.
Red Hat Enterprise Linux 7 включает загрузчик GRUB 2 на платформе Intel 64 и AMD64. Подробнее о GRUB 2 см. В главе Работа с загрузчиком GRUB 2 в Руководстве системного администратора Red Hat Enterprise Linux 7. 4.2.5.1. Отключение интерактивного запуска
Нажатие клавиши I в начале последовательности загрузки позволяет запустить систему в интерактивном режиме. Во время интерактивного запуска система предлагает вам запускать каждую службу по очереди.Однако это может позволить злоумышленнику, который получает физический доступ к вашей системе, отключить службы, связанные с безопасностью, и получить доступ к системе.
Чтобы запретить пользователям запускать систему в интерактивном режиме, как root
, отключите параметр PROMPT
в файле / etc / sysconfig / init
:
PROMPT = нет
4.2.6. Защита жестких и символических ссылок
Чтобы злоумышленники не могли использовать потенциальные уязвимости, вызванные незащищенными жесткими и символическими ссылками, Red Hat Enterprise Linux 7 включает функцию, которая позволяет создавать ссылки или переходить по ним только при соблюдении определенных условий.
В случае жестких ссылок должно выполняться одно из следующих условий:
В случае символических ссылок процессам разрешается переходить по ссылкам только за пределами доступных для записи каталогов с липкими битами, или если должно выполняться одно из следующих условий:
По умолчанию эта защита включена. Это контролируется следующими параметрами в файле /usr/lib/sysctl.d/50-default.conf
:
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
Чтобы изменить настройки по умолчанию и отключить защиту, создайте новый файл конфигурации с именем, например, 51-no-protect-links.conf
в каталоге /etc/sysctl.d/
со следующим содержимым:
fs.protected_hardlinks = 0
fs.protected_symlinks = 0
Обратите внимание, что для переопределения системных настроек по умолчанию новый файл конфигурации должен иметь расширение .conf
, и он должен быть прочитан после системного файла по умолчанию (файлы читаются в лексикографическом порядке, поэтому настройки содержат в файле с более высоким номером в начале имени файла имеют приоритет).
См. Страницу руководства sysctl.d (5) для получения более подробной информации о настройке параметров ядра при загрузке с использованием механизма sysctl
.
Знакомство с пользователем root
Обзор
Корень - это имя пользователя или учетная запись, которая по умолчанию имеет доступ ко всем командам и файлам в Linux или другой Unix-подобной операционной системе. Его также называют учетной записью root, пользователем root и суперпользователем.
ПРОЧИТАЙТЕ Вначале
Ниже приводится описание пользователя root, которого можно включить на вашем хостинге VPS.Мы настоятельно рекомендуем вам полностью разобраться в этой статье. Кроме того, если у вас есть root-доступ, вам важно понимать нашу роль в качестве хостинг-провайдера. Мы настоятельно рекомендуем прочитать дополнительные материалы при рассмотрении вопроса об администрировании вашего сервера.
(mt) Media Temple не несет ответственности за какие-либо уязвимости, неправильные настройки или неудачные установки / обновления на вашем сервере. Пожалуйста, ознакомьтесь с нашим Заявлением об объеме поддержки, прежде чем администрировать свой сервер как root.
Привилегии и разрешения
Права root - это полномочия, которыми обладает учетная запись root в системе. Учетная запись root является наиболее привилегированной в системе и имеет абсолютную власть над ней (т. Е. Полный доступ ко всем файлам и командам). К полномочиям root относится способность изменять систему любым желаемым образом, а также предоставлять и отзывать разрешения доступа (т. Е. Возможность читать, изменять и выполнять определенные файлы и каталоги) для других пользователей, включая любые из тех, которые по умолчанию зарезервированы. для root.
Система разрешений в Unix-подобных операционных системах настроена по умолчанию для предотвращения доступа обычных пользователей к критическим частям системы, а также к файлам и каталогам, принадлежащим другим пользователям. Это потому, что очень легко повредить Unix-подобную систему с помощью root-доступа. Однако важным принципом Unix-подобных операционных систем является обеспечение максимальной гибкости для настройки системы, и, таким образом, пользователь root имеет все права.
Переход на пользователя root
Для хостинга VPS пользователи могут легко переключиться на root-доступ с помощью sudo.Информацию об этом процессе можно найти ниже:
Используйте с осторожностью
Unix-подобные системы предполагают, что системный администратор точно знает, что он или она делает, и что только такие люди будут использовать учетную запись root. Таким образом, для пользователя root практически нет защиты в случае неосторожной ошибки, такой как повреждение или удаление критически важного системного файла (что может привести к неработоспособности всей системы). По этой причине мы настоятельно рекомендуем вам делать резервные копии любых файлов / каталогов, с которыми вы работаете.Вы также можете рассмотреть нашу надстройку для резервного копирования моментальных снимков, подробно описанную здесь: Параметры резервного копирования DV.
Опасность регулярного использования системы как root усугубляется тем фактом, что все процессы (т. Е. Экземпляры выполняемых программ), запускаемые пользователем root, имеют привилегии root. Поскольку даже наиболее широко используемые и хорошо протестированные прикладные программы содержат множество ошибок программирования (из-за огромного объема необходимого кода и его большой сложности), опытный злоумышленник часто может найти и использовать такую ошибку, чтобы получить контроль над системой, когда программа запускается с привилегиями root, а не с использованием учетной записи обычного пользователя с очень ограниченными привилегиями.
Важнейшим средством предотвращения непосредственного повреждения пользователями Unix-подобных систем или повышения уязвимости таких систем перед повреждением другими людьми является отказ от использования учетной записи root, за исключением случаев крайней необходимости, даже хорошо осведомленными и опытными системными администраторами. То есть, вместо того, чтобы регулярно входить в систему как root, администраторы должны войти в систему со своей учетной записью администратора, а затем использовать команду su. Это предоставит вам привилегии root только по мере необходимости и без необходимости нового входа в систему.
Пример: чтобы просмотреть содержимое каталога, принадлежащего пользователю root, введите:
su root ls / root
Вам будет предложено ввести пароль root. Чтобы вернуться к учетной записи администратора, введите команду exit.
Отключить вход по SSH для root
Если вы хотите защитить свою систему и взаимодействовать с ней таким образом, мы предлагаем, следуя нашей статье, отключить прямой вход в систему с правами root. Безопасность, связанная с использованием su , может быть повышена с помощью его опции -c , которая завершает его и вызывает немедленный возврат к прежней учетной записи пользователя после того, как текущая команда завершила выполнение или после того, как любая программа, которую она запустила, была закрыто.
Когда использовать root
Задачи, требующие привилегий суперпользователя, включают перемещение файлов или каталогов в системные каталоги или из них (т. Е. Каталоги, которые имеют решающее значение для функционирования операционной системы), копирование файлов в системные каталоги, предоставление или отзыв прав пользователя, некоторое восстановление системы и установка некоторых прикладных программ. По умолчанию, не обязательно быть root, чтобы иметь возможность читать большинство файлов конфигурации и файлов документации в системных каталогах, хотя необходимо быть root для их изменения.
Права root обычно требуются для установки программного обеспечения в формате пакета RPM (Red Hat Package Manager) из-за необходимости записи в системные каталоги. Однако, если прикладная программа компилируется (т. Е. Преобразуется в исполняемую форму) из исходного кода (т. Е. Ее исходной, удобочитаемой формы), ее обычно можно настроить для установки и запуска из домашнего каталога пользователя. Обычному пользователю не требуются права root для компиляции и установки программного обеспечения в его домашний каталог.По соображениям безопасности следует избегать компиляции программного обеспечения с правами root.
См. Также
Как стать пользователем root в командной строке Ubuntu с помощью su и sudo - VITUX
Что такое пользователь root?
Перед тем, как начать с того, как стать пользователем root для выполнения важных операций Ubuntu, важно иметь некоторое представление о значении пользователя root в Linux. Последние версии Ubuntu по умолчанию не содержат пользователя root со специально зашифрованным паролем; поэтому он создал функцию под названием «sudo», которую вы можете использовать для выполнения различных административных операций.Вы можете либо временно стать пользователем root, либо вам нужно указать пароль с помощью команды sudo, которая помогает сохранять ответственность за все действия пользователя как администратора. По умолчанию первый пользователь, созданный при установке Ubuntu, получает права sudo. Ubuntu предоставляет ему полные привилегии root, и он добавляется в список sudoers в файле / etc / sudoers. Важно отметить, что вам необходимо быть авторизованным sudoer для выполнения всех операций пользователя root, описанных в этой статье.
О статье
В этой статье мы объясним, как стать пользователем root в командной строке Ubuntu. Это поможет вам в выполнении всех операций по установке, удалению, настройке и настройке системы. Мы выполнили команды и процедуры, упомянутые в этой статье, в системе Ubuntu 18.04 LTS. Мы будем использовать командную строку Ubuntu, Терминал, чтобы объяснить, как это сделать, а также как изменить пароль для пользователя root. Следовательно, вам нужно открыть приложение Терминал либо через системную тире, либо с помощью сочетания клавиш Ctrl + Alt + T.
Как получить root?
Откройте свой терминал Ubuntu и введите следующую команду:
$ su -
Эта команда попросит систему войти в систему как суперпользователь.
Система спросит у вас пароль для root. Введите пароль и нажмите Enter.
В идеале, теперь вы должны видеть знак «#» перед командной строкой. Это будет означать, что вы вошли в систему как root.
Если при вводе пароля для root вы получаете следующее сообщение об ошибке аутентификации, это означает, что в настоящий момент root-аккаунт заблокирован.
Вы можете прочитать далее в статье о том, как заблокировать / разблокировать учетную запись root.
Чтобы стать пользователем root из непривилегированной (обычной учетной записи) учетной записи, когда пароль root не установлен, используйте эту команду:
sudo -s
Введите пароль вашего пользователя Ubuntu, когда потребуется. Только пользователи Ubuntu, которые являются членами группы sudo, могут стать таким пользователем root. Пользователь, созданный во время установки Ubuntu, по умолчанию является членом группы sudo.
Теперь, когда вы вошли в систему как root, вы можете выполнять все административные операции в Ubuntu.
Поясним это на примере.
Файлу adduser.conf , расположенному в / etc /, необходимы права root, чтобы вы могли вносить в него какие-либо изменения. Когда мы откроем его как обычный пользователь, вы увидите следующие строки в конце файла:
«File‘ adduser.conf; недоступен для записи »
$ nano /etc/adduser.conf
Системный файл отмечен как недоступный для записи, поскольку неавторизованный пользователь не может вносить какие-либо изменения в его конфигурации.
Вы можете редактировать его, только если вы вошли в систему как root или используете команду sudo для временного использования root-привилегий.
Поскольку теперь мы вошли в систему как root, мы сможем увидеть файл следующим образом:
Мы можем внести любые изменения в файл и сохранить изменения, нажав Ctrl + X .
Примечание: Очень важно соблюдать осторожность при внесении любых важных изменений в системные файлы, когда вы вошли в систему как root.Любое неоправданное изменение системных файлов может испортить все настройки вашей системы.
Вы можете выйти из командной строки root и снова стать обычным пользователем, используя команду exit следующим образом:
# exit
Получить временный root-доступ с помощью команды sudo
Вместо входа в систему как root в в командной строке и войдя в командную строку # (пользователь root), вы можете использовать команду sudo с другими командами, чтобы временно стать пользователем root.
Например, мы можем открыть такой же аддюсер.conf, который мы упоминали ранее, в редактируемом формате, используя следующие права root:
$ sudo nano adduser.conf
Это особенно полезно, потому что любой авторизованный пользователь (добавленный в список sudoers) может ввести свой собственный пароль и временно получить root-доступ для выполнения нескольких команд. Еще одним преимуществом использования этой команды является то, что вы можете выполнять задачи, требующие привилегий root, даже если учетная запись root находится в заблокированном состоянии.
Разблокировать / заблокировать учетную запись root
Появление следующего сообщения при входе в систему с правами root, скорее всего, связано с тем, что учетная запись root заблокирована.В большинстве систем Ubuntu эта учетная запись заблокирована по умолчанию.
Однако вы можете разблокировать его, введя следующую команду как sudo:
$ sudo passwd root
Система попросит вас дважды ввести новый пароль UNIX. После этого он обновит пароль root, и учетная запись будет разблокирована.
После того, как вы закончите выполнение операций root, вы можете снова заблокировать учетную запись root, введя следующую команду:
$ sudo passwd -dl root
Как изменить пароль root (альтернативный подход)?
Помимо метода, который мы только что описали для изменения пароля root, вы можете использовать следующий альтернативный метод:
Только пользователь root может изменить свой собственный пароль.