sudo, вероятно, является одной из наиболее часто используемых команд Linux. Это позволяет вам получить административные или повышенные привилегии на компьютере с Linux.
Обычно вам требуются повышенные привилегии для выполнения таких действий, как установка программного обеспечения, управление службами и удаление важных системных файлов. Но знаете ли вы, что в Linux есть альтернативы команде sudo?
Зачем выполнять команды Linux от имени другого пользователя?
sudo — очень важная команда, поскольку она позволяет выполнять команды с правами суперпользователя. По умолчанию пользователи без полномочий root обычно имеют ограниченный доступ к ресурсам и файлам в Linux.
Ограничение доступа для пользователей в Linux очень важно по следующим причинам:
- Контроль: Он позволяет администраторам или владельцам системы предоставлять определенный доступ к определенным файлам и программам. Это хорошо для стабильности системы, конфиденциальности и общей производительности.
- Безопасность: Ограничение доступа к определенным частям системы предотвращает случайное удаление или изменение системы. И это также уменьшает поверхность атаки системы.
sudo отлично работает и делает гораздо больше, чем то, для чего его использует большинство людей. К сожалению, это делает его очень раздутым.
К счастью, как и в большинстве случаев в Linux, есть отличные альтернативы команде sudo, и вот некоторые из них.
1. pkexec
Команда pkexec (PolicyKit Executive) — это интерфейсная реализация инфраструктуры PolicyKit, предоставляющая набор правил для предоставления привилегий пользователям и процессам.
pkexec позволяет выполнять команду с привилегиями другого пользователя или роли на основе правил, определенных в указанной политике.
Инструмент pkexec уже установлен в Ubuntu и других основных дистрибутивах Linux. Если он не установлен, вот как его установить.
В системах на основе Debian запустите:
Судо подходит обновлять && судо способно установить комплект политик-1
В RHEL и подобных дистрибутивах запустите:
судо днф установить комплект политик
В дистрибутивах Linux на базе Arch используйте следующую команду:
sudo sudo pacman -S набор политик
Как использовать pkexec
Чтобы использовать pkexec, вы должны сначала указать ключевое слово pkexec, а затем команду, которую вы хотите выполнить, а затем любые аргументы или параметры, которые требуются команде.
Например, для установки забавная программа для линукса: cowsay в вашей системе с привилегиями суперпользователя, вы должны использовать следующее:
pkexec подходящий установить ковсей
Вы также можете указать пользователя или роль, чтобы получить привилегии, используя --пользователь опция, за которой следует имя пользователя или роли. Например, чтобы выполнить предыдущую команду с правами администратора, вы должны использовать следующую команду:
pkexec --user admin apt установить cowsay
Кроме того, вам нужно будет ввести пароль пользователя или роли, которые вы указали в команде. Если у вас нет необходимых разрешений, вы получите сообщение об ошибке.
2. делай как
Команда doas берет свое начало в операционной системе OpenBSD. Он позволяет выполнять команду с привилегиями указанного пользователя или роли.
Она очень похожа на команду sudo, но является современной, очень легкой и простой в настройке, поскольку использует краткие и удобочитаемые операторы.
Если это не так, вот как вы можете установить doas в Linux.
Настройка doas в линуксе
в отличие от судо и pkexec команд, вы должны настроить только что установленный экземпляр doas, прежде чем начать его использовать. Файл конфигурации находится по адресу /etc/doas.conf. Если файл конфигурации не существует, создать его с помощью сенсорной команды или любую другую программу на ваш выбор.
Чтобы предоставить пользователю «mwizak» привилегии суперпользователя в вашей системе, вы можете добавить следующую строку в файл /etc/doas.conf файл:
разрешение сохраняется :mwizak как корень
Не забудьте заменить пользователя «mwizak» в вышеупомянутой команде правильным именем пользователя.
После сохранения изменений конфигурации попробуйте установить cowsay с помощью следующей команды:
подходит установить ковсей
Чтобы использовать другого пользователя, вы можете использовать -у флаг, за которым следует имя пользователя. Это похоже на --пользователь флаг, используемый с командой pkexec.
Например, чтобы запустить предыдущую команду от имени системного администратора, вы должны запустить:
doas -u админ подходящий установить ковсей
3. су
Команда su — это сокращение от «переключить пользователя». Это позволяет вам выполнять команды от имени пользователей, отличных от текущего пользователя, вошедшего в систему. Обычно он используется для запуска команд, требующих привилегий root, но вы можете просто запустить любую другую команду, используя su.
Запуск команды su без каких-либо аргументов предполагает пользователя root, поэтому для продолжения необходимо знать пароль пользователя root. Если бы вы переключились на пользователя с именем john, вы бы просто выполнили команду:
Су Джон
Введите пароль для пользователя john. Чтобы вернуться к исходному пользователю, просто запустите Выход команда.
Имейте в виду, что запуск команд от имени пользователя root обычно не рекомендуется, так как вам не будет предложено ввести пароль на каждую команду, которую вы запускаете, что может привести к катастрофическим последствиям, таким как случайное удаление файлы.
4. дздо
dzdo — это инструмент командной строки, используемый для выполнения команд с привилегиями другого пользователя, например суперпользователя или пользователя root. Это похоже на команду sudo, которая обычно используется для той же цели. Команда dzdo в основном доступна в Oracle Linux.
Вы можете использовать -у флаг, чтобы указать пользователя, чьи привилегии вы хотите использовать. Например, следующая команда выполнит apt-получить обновление команда с правами суперпользователя (root):
дздо -у корень мет-получать обновлять
Система попросит вас ввести соответствующий пароль, чтобы подтвердить, что у вас есть необходимые привилегии для выполнения команды.
Используйте правильные пользовательские элементы управления для повышения безопасности в Linux
sudo — это часто используемая команда в системах Linux, которая позволяет пользователю выполнять команду с привилегиями пользователя root. В зависимости от ваших потребностей вы можете использовать любые альтернативы sudo в своем рабочем процессе.
В Linux также важно назначать правильные уровни доступа к файлам и папкам для повышения безопасности.