Как убрать права суперпользователя linux

4 способа отключить доступ к аккаунту Root в Linux

Оригинал: 4 Ways to Disable Root Account in Linux
Автор: Aaron Kili
Дата публикации: 19 октября 2018 года
Перевод: А. Кривошей
Дата перевода: июль 2019 г.

Учетная запись root является главной учетной записью в Linux и других Unix-подобных операционных системах. Эта учетная запись имеет доступ ко всем командам и файлам в системе с полными разрешениями на чтение, запись и выполнение. Она используется для выполнения любых системных задач: создания/обновления/получения доступа/удаления учетных записей других пользователей, установки/удаления/обновления программных пакетов и многого другого.

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

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

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

Внимание: Прежде чем заблокировать доступ к учетной записи root, убедитесь, что вы создали административную учетную запись, способную использовать команду sudo для получения привилегий пользователя root, с помощью команды useradd, и задайте для этой учетной записи надежный пароль. Флаг -m означает создание домашнего каталога пользователя, а -c позволяет указать комментарий:

Затем добавьте этого пользователя в соответствующую группу системных администраторов с помощью команды usermod, где ключ -a означает добавление учетной записи пользователя, а -G указывает группу, в которую нужно добавить пользователя (wheel или sudo в зависимости от вашего дистрибутива Linux):

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

1. Изменение командной оболочки пользователя root

Самый простой способ отключить вход в систему для пользователя root — это изменить его оболочку с /bin/bash (или любой другой оболочки, разрешающей вход пользователя) на /sbin/nologin в файле /etc/passwd, который вы можете открыть для редактирования, используя любой из ваших любимых текстовых редакторов, как показано ниже.

Сохраните файл и закройте его.

С этого момента, когда пользователь root входит в систему, он /она получит сообщение «This account is currently not available». Это сообщение по умолчанию, но вы можете изменить его и задать собственное сообщение в файле /etc/nologin.txt.

Этот метод эффективен только для программ, которым требуется оболочка для входа пользователя, в противном случае клиенты sudo, ftp и email могут получить доступ к учетной записи root.

2. Отключение авторизации root с устройства консоли (TTY)

Во втором методе используется модуль PAM с именем pam_securetty, который разрешает root-доступ, только если пользователь входит в «защищенный» TTY, как определено в листинге в /etc/securetty.

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

Чтобы создать пустой файл, выполните:

Этот метод имеет некоторые ограничения, он затрагивает только такие программы, как вход в систему, менеджеры дисплеев (например, gdm, kdm и xdm) и другие сетевые службы, которые запускают TTY. Такие программы, как su, sudo, ssh и другие связанные утилиты openssh будут иметь доступ к учетной записи root.

3. Отключение доступа к Root по SSH

Самый распространенный способ доступа к удаленным серверам или VPS — через SSH, и для блокировки входа пользователя root под ним необходимо отредактировать файл /etc /ssh /sshd_config.

Затем раскомментируйте (если это закомментировано) директиву PermitRootLogin и установите для нее значение no, как показано на скриншоте.

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

Как вы, возможно, уже знаете, этот метод влияет только на набор инструментов openssh, такие программы, как ssh, scp, sftp, будут заблокированы от доступа к учетной записи root.

4. Ограничение доступа root к службам с помощью PAM

Pluggable Authentication Modules (сокращенно PAM) — это централизованный, подключаемый, модульный и гибкий метод аутентификации в системах Linux. PAM через модуль /lib/security/pam_listfile.so обеспечивает большую гибкость в ограничении привилегий определенных учетных записей.

Читайте также:  Корпус atx aerocool vs 1 windows

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

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

Затем добавьте приведенную ниже конфигурацию в один из этих файлов (или в оба).

Когда вы закончите, сохраните и закройте каждый файл. Затем создайте простой файл /etc/ssh/deniedusers, который должен содержать по одному элементу в строке и не должен читаться всеми.

Добавьте в него имя root, затем сохраните и закройте его.

Также установите необходимые разрешения на это.

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

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

Источник

Как включить или отключить пользователя root в Linux

Всем нам, кто управлял и использовал компьютеры с Windows или Mac, нужно было включить или отключить администратора или пользователя root. Сегодня мы должны знать, как это сделать в некоторых дистрибутивах Linux, называть их Fedora, Debian, Ubuntu и т. Д., Мы знаем важность и область действия корневого пользователя в системе, поскольку этот пользователь может полностью управлять операционной системой без каких-либо ограничение.

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

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

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

Сегодня мы увидим, как мы можем исключить этого пользователя root из наших сред Linux, чтобы избежать такого рода неудобств. Хотя мы покажем вам, как это сделать для любого дистрибутива, вот пример того, как это сделать в Ubuntu:

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

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

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

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

После этого мы должны добавить пользователя в группу системных администраторов, используя команду usermod, с ключом -to, который добавляет учетную запись пользователя, и -G, который указывает группу для добавления пользователя: Solvetic объяснит различные способы отключения этого пользователя в Linux. (также один, чтобы активировать его).

1. Включите пользователя root в Linux

Шаг 2
В появившемся окне мы должны установить пароль для пользователя root.

2. Отключить пользователя root и удалить пароль в Linux

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

$config[ads_text5] not found

Шаг 3
Эта команда позволит нам полностью отключить доступ для пользователя root, для проверки мы попытаемся войти в систему как пользователь root, введя наш пароль, и увидим следующее:

Читайте также:  Irbis nb211 установка windows 10

Шаг 4
Еще одна опция безопасности, которую мы можем использовать с пользователем roo t, — изменить его текущий пароль с помощью команды: С этой командой это будет сделано.

3. Отключить пользователя root из командной консоли

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

$config[ads_text6] not found

Там мы должны изменить корневую строку: x: 0: 0: root: / root: / bin / bash на root: x: 0: 0: root: / root: / sbin / nologin:

Мы сохраняем изменения, используя клавиши Ctrl + O, и закрываем редактор, используя Ctrl + X.
С этого момента, когда пользователь root входит в систему, будет отображаться сообщение «Эта учетная запись недоступна», это сообщение по умолчанию, но если мы хотим изменить его и настроить пользовательское сообщение, мы можем сделать это в файле / etc / nologin. TXT.

4. Отключите пользователя root через Консольное устройство (TTY)

Чтобы создать пустой файл, мы выполняем следующее: Это будет создано.

Этот метод применяется только к администраторам экрана, таким как gdm, kdm и xdm) и другим сетевым службам, которые инициируют TTY. Но для других программ, таких как su, sudo, ssh, будет доступна корневая учетная запись.

5 Отключить запуск root через SSH

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

$config[ads_text5] not found

6 Отключить рут через PAM

В этом модуле будет возможно составить список пользователей, которым не будет разрешено входить через некоторые службы назначения, такие как login, ssh и любую PAM-совместимую программу.
Для этого мы должны получить доступ и отредактировать файл для службы назначения в каталоге /etc/pam.d/ с одним из следующих параметров: О Там мы добавим следующее:

$config[ads_text5] not found

Мы сохраняем изменения и покидаем редактор.
Теперь мы собираемся создать плоский файл / etc / ssh / deniedusers, который должен содержать один элемент в строке и быть недоступным для других пользователей: Мы приступаем к выдаче разрешений: С помощью любого из этих методов мы отключили пользователя root в Linux.

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

$config[ads_text6] not found

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

Источник

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

Как вы знаете, 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, но такой вариант крайне не рекомендованный, и очень опасный, вы можете случайно повредить всю систему. Поэтому этот способ был отключен во многих менеджерах входа.

Читайте также:  Скопировать загрузочный диск mac os

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

Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права 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 без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:

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

whoami
pwd
echo $VAR
echo $PATH
exit

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

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

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

whoami
pwd
echo $VAR
echo $PATH
exit

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

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

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

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

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

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

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

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

Выводы

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

Источник

Оцените статью