Translation(s): العربية — English — Español — Français — Italiano — Русский
?Обсуждения
Sudo — программа, дающая возможность системным администраторам позволять пользователям выполнять команды как root (или другой пользователь). Основная философия — позволить людям выполнить свою задачу, используя как можно меньше привилегий. Также sudo — эффективный способ для записи деятельности root: кто использует sudo,какую команду и когда.
Содержание
Sudo не включён по умолчанию в Debian
Грубо говоря, sudo установлен и включён (если во время установки были выбраны компоненты рабочего стола). Но в Debian права не предоставляются по умолчанию (в отличие от некоторых других дистрибутивов).
Выполнить команду от имени root: (по умолчанию в Debian)
Пароль учётной записи root выбирается при установке системы.
Gnome запрашивает пароль (для учетной записи администратора) при запуске программ, которые настраивают систему.
Для выполнения команды от root, откройте Root Terminal (Приложения > Стандартные > Root Terminal), или запустите su в любом терминале.
(Примечание для DebianSqueeze: введён аналогичный инструмент PolicyKit, ориентированные на потребности настольных компьютеров и ноутбуков).
Почему sudo
Использование sudo лучше (безопаснее) открытия сессии root, по следующим причинам:
-
Нет необходимости в пароле root (sudo запрашивает пароль текущего пользователя).
По умолчанию команды выполняются от имени обычного пользователя (не привилегированного), что позволяет избежать ошибок. От имени root выполняются только команды с префиксом sudo.
По этим причинам, переключение на root с помощью "sudo -i" (или sudo su) считается устаревшим, поскольку отменяет вышеперечисленные особенности.
Обзор настроек
Небольшой пример для того чтобы разрешить определённым пользователям запускать некоторые программы (для получения дополнительной информации, см. документацию).
Проблемы и решения
Извините, пользователь jdoe не может выполнять .
Типичный сеанс выглядит следующим образом:
Это сообщение обычно означает, что пользователю не разрешено выполнять этого действие.
sudoers только для чтения
Файл /etc/sudoers только для чтения, даже для root!
Нужно использовать команду visudo для редактирования /etc/sudoers.
CVE-2005-4158
With the fix for CVE-2005-4158: Insecure handling of PERLLIB PERL5LIB PERL5OPT environment vars, the default behaviour of handling environment variables was switched to protect against malicious local users with sudo privileges getting sudo to do more than the malcontent was given privileges to do.
-
sudo (1.6.8p7-1.3) stable-security; urgency=high
-
Non-maintainer upload by the Security Team
Reverse the environment semantic by forcing users to maintain a whitelist [env.c, Bug 342948, CVE-2005-4158]
As a result, unless you modify your sudoers file to contain Defaults env_reset, you may experience problems using sudo like the following:
- E138: Can’t write viminfo file $HOME/.viminfo!
- dircolors: no SHELL environment variable, and no shell type option given
- squ >
If you had more complex setups where you meant to pass through environment variables, your work around may be more complex or no longer possible.
Опция PASSWD не работает
sudo has a flag called exempt_group which contains a list of groups for which always NOPASSWD is true and setting PASSWD has no effect. On Debian Systems this list consists of the group sudo.
Неправильное поведение HOME (и настроек профиля)
If you are having problems when you sudo to your shell and your HOME (and profile settings) doesn’t work as expected because your new HOME is root’s homedir you must know that sudo since upstream version 1.7.4 (Debian Squeeze/S >
Для получения дополнительной информации см. список изменений для версии 1.7.4
Главное меню » Операционная система Linux » Как Добавить пользователя Sudoers в Debian
Из этой статьи вы узнаете, как предоставить пользователю права sudo двумя способами. Во-первых, добавить пользователя в файл sudoers. Этот файл содержит набор правил, определяющих, какие пользователи или группы получают привилегии sudo, а также уровень этих привилегий. Второй вариант – добавить пользователя в группу sudo, указанную в файле sudoers. По умолчанию в Debian и его производных членам группы “sudo”предоставляется доступ к sudo.
Добавление пользователя в группу sudo
Самый быстрый и простой способ предоставить пользователю привилегии sudo – это добавить пользователя в группу “sudo”. Члены этой группы могут выполнить любую команду как root через sudo и предложено аутентифицировать себя с помощью своего пароля при использовании sudo.
Мы предполагаем, что пользователь, которого вы хотите назначить в группу, уже существует.
Выполните приведенную ниже команду от имени пользователя root или другого пользователя sudo, чтобы добавить его в группу sudo
Убедитесь, что вы изменили “username” на имя пользователя, которому вы хотите предоставить доступ.
Предоставление доступа sudo с помощью этого метода достаточно для большинства случаев использования.
Чтобы убедиться, что пользователь был добавлен в группу, введите:
Вам будет предложено ввести пароль. Если у пользователя есть доступ sudo, команда выведет “root”. В противном случае вы получите сообщение об ошибке “user is not in the sudoers file”.
Добавление пользователя в файл sudoers
Права доступа sudo пользователей и групп определяются в файле /etc/sudoers. Этот файл позволяет предоставить настраиваемый доступ к командам и задать пользовательские политики безопасности.
Вы можете настроить доступ пользователя, отредактировав файл sudoers или создав новый файл конфигурации в каталоге /etc/sudoers.d. Файлы внутри этого каталога включены в файл sudoers.
Всегда используйте эту команду visudo для редактирования файла /etc/sudoers. Эта команда проверяет файл на наличие синтаксических ошибок при его сохранении. Если есть какие-либо ошибки, файл не сохраняется. Если вы редактируете файл с помощью обычного текстового редактора, синтаксическая ошибка может привести к потере доступа sudo.
visudo использует редактор, заданный переменной среды EDITOR, которая по умолчанию имеет значение vim. Если вы хотите отредактировать файл с помощью nano, измените переменную, запустив:
Допустим, вы хотите разрешить пользователю запускать команды sudo без запроса пароля. Для этого откройте файл /etc/sudoers:
Прокрутите вниз до конца файла и добавьте следующую строку:
/etc/sudoers
Сохраните файл и закройте редактор. Не забудьте изменить “username” на имя пользователя, к которому вы хотите предоставить доступ.
Другой типичный пример-разрешить пользователю выполнять только определенные команды через sudo. Например, разрешить mkdir использование только команд rmdirand:
/etc/sudoers
Вместо редактирования файла sudoers, вы можете добиться того же самого, создав новый файл с правилами авторизации в каталоге /etc/sudoers.d. Добавьте то же правило, что и в файл sudoers:
Этот подход делает управление привилегиями sudo более поддерживаемым. Имя файла не важно, но это обычная практика, чтобы назвать файл в соответствии с именем пользователя.
Вывод
Чтобы предоставить пользователю sudo доступ в Debian, просто добавьте его в группу ”sudo”.
Если у вас есть какие-либо вопросы, не стесняйтесь оставлять комментарии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Debian 10 вышел в релиз. Это прекрасная новость не только для постоянных пользователей Debian, но и для всего сообщества Linux. Однако, если вы установили дистрибутив, то скорее всего заметили, что обычный пользователь не может использовать sudo.
Конечно, если вы используете Ubuntu или Linux Mint такой проблемы не возникнет. В этой статье мы разберемся как выполняется установка sudo в Debian 10.
Что такое sudo?
Независимо от дистрибутива Linux, на ПК есть разные пользователи. Каждый из них имеет определенные роли и разрешения. Допустим, нужно установить какой-то пакет в Debian. Выполнить эту операцию сможет только пользователь с правами root. Другие пользователи не имеют доступа к этому действию.
Утилита sudo – входит в набор программ GNU. Это небольшое приложение, выполняющее команды с привилегиями другого пользователя. Как правило, «другой» — это пользователь – root.
По умолчанию эта утилита в Debian не доступна. Но если вы используете Debian на персональном компьютере, можно без проблем её установить. Однако, если вы работаете с Debian на сервере, лучше этого делать не следует. С помощью sudo вы сможете выполнять команды, к которым обычный пользователь не имеет доступа. К тому же, все выполняемые операции не регистрируются в системном журнале.
Установка sudo в Debian 10
Сначала устанавливаем sudo, а для этого нужно иметь доступ к пользователю root. Это очень важно. Откройте терминал, или подключитесь к серверу удаленно через SSH и переключитесь на пользователя root:
Затем введите пароль пользователя root. Теперь можно устанавливать sudo из репозиториев Debian:
apt install sudo
Утилита установится быстро. После этого измените файл /etc/sudoers, в котором находится вся конфигурация sudo. Можно использовать редактор nano или vim:
В файле просто разобраться. В разделе спецификаций привилегий пользователя вы найдете строку, подобную этой:
root ALL=(ALL:ALL) ALL
Под ней нужно добавить своего пользователя, а остальное оставить прежним. Например, так:
имя_вашего_пользователя ALL=(ALL:ALL) ALL
Напоследок зажмите сочетание клавиш Ctrl+O (сохранить изменения), и Ctrl+X (выйти).
Теперь вы можете использовать sudo.