- ru sudo
- Sudo не включён по умолчанию в Debian
- Почему sudo
- Обзор настроек
- Проблемы и решения
- Извините, пользователь jdoe не может выполнять .
- sudoers только для чтения
- CVE-2005-4158
- Опция PASSWD не работает
- Неправильное поведение HOME (и настроек профиля)
- Как дать Root права пользователю в Linux
- Способ 1: Добавление в корневую группу с помощью usermod
- Способ 2: Добавление в корневую группу с помощью команды Useradd
- Способ 3: Редактирование файла /etc/passwd
- Способ 4: Дать права пользователя Sudo
- Debian вход под root
- Пароль
- Использование привилегий root
- Как в Ubuntu войти как root-пользователь
- Даём root-права пользователю
- Как включить рута в Ubuntu
- Как зайти под root в Ubuntu Desktop GUI
- Права суперпользователя в Linux
- Вход под суперпользователем
- Переключение на суперпользователя в терминале
- Получение прав root без переключения
- Графически приложения от имени суперпользователя
- Выводы
- ru
- sudo
?Обсуждения
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
- squidview: can’t get your home directory, exiting
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/Sid after Sep/2010) resets all environmental variables in it’s new default configuration, to restore the old behavior of reading the users HOME dir you may preserve the HOME environment variable by adding this to your /etc/sudoers configuration file:
Для получения дополнительной информации см. список изменений для версии 1.7.4
Источник
Как дать Root права пользователю в Linux
Суперпользователь «root” — это король пользователей Linux / Unix. Наличие корневого доступа предоставляет полный и неограниченный доступ к дистрибутиву Linux.
В этой инструкции я покажу вам, как дать root права пользователю в системе Linux. Как правило, доступ на корневом уровне (root) используется в системном администрировании. Поэтому всегда больно давать root-доступ другим пользователям. Вы должны быть очень осторожны и должны забрать доступ, как только необходимость в этом отпадет.
Как дать Root права пользователю в Linux
Согласно разрешениям файловой системы Linux, root или суперпользователь имеет полные права на чтение (r), запись (w) и выполнение (x) любого файла. По умолчанию идентификатор пользователя root равен «0».
Я собираюсь создать двух пользователей, а именно user1 и user2. Затем я предоставлю root-правак пользователю «user1«.
Способ 1: Добавление в корневую группу с помощью usermod
Давайте посмотрим, как мы можем дать обычному пользователю root- права, добавив его в корневую группу.
# adduser user1
# adduser user2
# groupadd test
Это группы, которые есть в моей дистрибутиве Linux.
# groups
root bin daemon sys adm disk wheel
Я собираюсь добавить user1 в корневую группу следующим образом:
Приведенная ниже команда даст пользователю привилегию root
Способ 2: Добавление в корневую группу с помощью команды Useradd
Я добавил нового пользователя «user3» в корневую группу с помощью команды:
# useradd -m -G root user3
# groups user3
user3 : user3 root
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 права пользователю в linux.
Теперь пользователь temproot должен иметь привилегии root:
ВНИМАНИЕ: это не рекомендуемый метод предоставления корневого доступа (root-прав)
Способ 4: Дать права пользователя Sudo
Конфигурационный файл sudo — это файл /etc/sudoers, и вы можете отредактировать его с помощью команды visudo:
Использование visudo защищает от конфликтов и гарантирует использование правильного синтаксиса.
Чтобы предоставить полный доступ конкретным пользователям
Добавьте в файл запись, приведенную ниже:
Следовать этому методу не очень хорошая идея, потому что это позволяет и User1, и User2 использовать команду su для предоставления постоянных привилегий root. Таким образом пропуская функции ведения журнала команд sudo.
Предоставление доступа к определенным файлам одному конкретному пользователю
Эта запись позволяет User 1 и всем другим членам группы получить доступ ко всем программным файлам в каталогах /sbin и /usr/sbin, а также привилегию выполнения команды /usr/oracle/backup.pl…
User1, %operator ALL= /sbin/, / usr/sbin, /usr/oracle/backup.pl
Если у вас есть какие-либо вопросы или предложения по этой теме, оставьте комментарий.
Источник
Debian вход под root
Translation(s): العربية – English – Español – Français – Italiano – Русский – Svenska – 简体中文
?Discussion
Root — специальный аккаунт в Debian, владелец которого имеет право на выполнение всех без исключения операций. Root также известен как суперпользователь и администратор. Домашняя папка /root.
Пароль
Во время установки, вас спросят, хотите ли вы использовать аккаунт root или нет.
Если вы хотите (по умолчанию), вам будет предложено выбрать сложный пароль для root. Используйте надёжный!
Если нет, аккаунт root будет выключен и пароль первого созданного пользователя будет использоваться для административных задач.
Использование привилегий root
- В Gnome : /Приложения/Стандартные/Root Terminal
В терминале : вы можете использовать su (или gksu) чтобы изменить свой идентификатор на root.
Тем не менее, рекомендуется настроить и использовать sudo (или gksudo) для выполнения нужной команды.
При смене обычного пользователя на root, ваша строка изменится с [email protected]:
$ на [email protected]:/home/user# .
Чтобы узнать от какого пользователя вы работаете, выполните whoami.
Всё о Интернете, сетях, компьютерах, Windows, iOS и Android
Как в Ubuntu войти как root-пользователь
По умолчанию в операционной системе Ubuntu учетная запись root не включена во время установки, соответственно далее пользователю не предлагается создать пароль root. Вместо этого создаётся обычная учетную запись пользователя, но с привилегиями sudo. То есть, для выполнения каких-либо команд с правами рута, необходимо запускать их вместе с командой sudo. Это не всегда удобно! Сейчас я расскажу как зайти под Root в Ubuntu или дать пользователю права рута. Существует несколько вариантов и мы рассмотрим каждый из них!
Примечание: Перед тем, как включить пользователя root в Убунту, Вы должны понимать всю опасность этого для неопытного пользователя. Выполняя команды от его имени, Вы можете легко и просто, буквально за несколько команд, привести операционную систему в нерабочее состояние.
Даём root-права пользователю
Первый и самый простой вариант позволяет не вводить постоянно команду sudo при каждом вводе команды, которую надо выполнить в привилегированном режиме. Для перехода в полный режим рута введите такую команду:
После этого Вы перейдёте в привилегированный режим суперпользователя Убунту.
Есть и второй вариант:
В этом случае домашний каталог не сменится на /root, а останется пользовательский. Как правило, этот вариант удобнее.
Как включить рута в Ubuntu
Вы всегда можете включить корневую учетную запись root в Ubuntu, задав ей пароль с помощью команды passwd. Но чтобы запустить команду passwd для учетной записи root, вам нужны права sudo.
Мы можем включить корневую учетную запись Ubuntu, задав ей пароль с помощью команды passwd. Но чтобы запустить команду passwd для учетной записи root, вам нужны права sudo.
Откройте терминал Ubuntu и выполните команду, чтобы убедиться, что вы являетесь членом группы администраторов:
Если у вас есть соответствующие права, то вы можете установить пароль root с помощью следующей команды:
Сначала система запросит ввод Вашего собственного пароля, чтобы подтвердить, что у вас есть права sudo.
После этого, команда passwd предложит вам ввести новый пароль для учетной записи root. Это делается дважды. Теперь вы можете войти в систему как пользователь root с помощью команды:
Далее последует запрос запроса пароля — введите пароль для root.
Как зайти под root в Ubuntu Desktop GUI
Если вы хотите зайти в систему как пользователь root не в консоли, а на графическом рабочем столе Ubuntu, тогда вам нужно выполнить несколько дополнительных шагов после включения пользователя root:
Откройте фаил /etc/gdm3/custom.conf . Здесь Вам надо будет добавить AllowRoot = true в блоке [security]. Вот так:
Затем откройте файл /etc/pam.d/gdm-password и найдите такую строку:
Закомментируйте её, поставив знак # перед ней:
Далее перезагрузите компьютер. Когда он перезапустится и появится экрану входа в систему — кликните на ссылку «Нет в списке?». Остаётся лишь ввести root в поле username и указать пароль для суперпользователя. Вот и всё!
Как вы знаете, 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 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:
Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:
Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, 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 их не запускает, а запускать графическую оболочку от имени root небезопасно. Это мы и рассмотрим далее.
Графически приложения от имени суперпользователя
Для запуска графических приложений от имени суперпользователя существуют специальные утилиты. Они сохраняют все необходимые переменные окружения и полномочия. В KDE это команда kdesu, а в Gnome команда gksu.
Просто наберите gksu или kdesu, а затем нужную команду:
Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:
Программа запросит пароль, уже в графическом окне, а потом откроется файловый менеджер.
Выводы
Вот и все. Теперь вы знаете как получить права суперпользователя в Linux, знаете как использовать команду sudo и в чем разница sudo или su. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!
Источник