RHEL/CentOS 5 установки для использования SUDO в командной строке и X

Если это - потому что кто-то идет на веб-сайты, которые Вы заблокировали, они, возможно, использовали некоторый туннель, как туннель SSH.

Этот поиск Google дает Вам много способов обойти прокси.

Что касается журналов... не может помочь многому, так как у меня нет целой истории.

2
задан 29 November 2010 в 18:17
1 ответ

Терминальная установка

Как корень, мы должны отредактировать /etc/sudoers файл путем выполнения visudo (ПРИМЕЧАНИЕ: Вы можете export EDITOR=vim получить подсветку синтаксиса или использовать редактора по Вашему выбору).
Вокруг строк 83,86 необходимо видеть две строки, которые подобны (в энергии, которую можно выполнить :set number показать номера строки):

83 # %wheel  ALL=(ALL)       ALL
84
85 ## Same thing without a password
86 # %wheel  ALL=(ALL)       NOPASSWD: ALL

Различие - то, что строка № 83 потребует, чтобы пользователь ввел их пароль для аутентификации, тогда как строка № 86 позволит пользователю sudo не повторно запрашивая их их пароль. Лучшие методы безопасности указывают, что № 83 более безопасен; однако в зависимости от Вашей ситуации № 86 может быть соответствующим (например, я обычно использую № 86, в то время как установка сервера затем переключается на № 83).

Выйдите и сохраните тот файл.

Теперь мы должны сказать систему, через которую пользователям разрешают нарастить их полномочия sudo. Это сделано путем добавления их к wheel группа, именно это %wheel обозначенный в sudoers файл мы отредактировали ранее. Посмотрите man sudoers для получения дополнительной информации о том формате файла.

$ usermod -a -G wheel erebusbat

Та команда добавит пользователя erebusbat группе колеса, объединенной с нашим более ранним изменением, был бы все их для выполнения любой команды как корня:

erebusbat@centos$ sudo whoami
root
erebusbat@centos$

X/Установка GNOME

В CentOS/RHEL 5 и ниже X аутентификации обрабатывается рядом названных программ consolehelper и userhelper. В основном то, что происходит, является этим: когда пользователь выполнит программу (сказать pirut) это проверяет, чтобы видеть, существует ли названные файлы pirut в папке /etc/security/console.apps/ если мы смотрим на один из тех файлов, он похож:

USER=root
PROGRAM=/usr/sbin/pirut
SESSION=true
KEEP_ENV_VARS=http_proxy,ftp_proxy

Это говорит consolehelper/userhelper позволить пользователю аутентифицировать и запускать программу как корень. Если мы man userhelper мы видим, что можем добавить a UGROUPS= директива так, чтобы, если бы пользователь был в той группе, им позволили бы пройти проверку подлинности как самим, но запустить приложение как пользователю, указанному в USER= директива. Так pirut файл должен быть похожим:

USER=root
UGROUPS=wheel
PROGRAM=/usr/sbin/pirut
SESSION=true
KEEP_ENV_VARS=http_proxy,ftp_proxy

Как только мы вносим то изменение каждый раз, когда мы пытаемся работать pirut как обычный пользователь (Добавляют/Удаляют Программы из Меню GNOME) одна из двух вещей произойдет:

  1. Нам предложат НАШ пароль, и программа запустится как root.
  2. Нас предложат rootпароль, если текущий пользователь не находится в wheel группа.

Однако изменение всех тех файлов вручную может быть PIA, таким образом, мы работаем, страдал и не тяжелее:

$ cd /etc/security/console.apps/
$ sudo su -
$ pcregrep -ML '^UGROUPS=' * | xargs sed -i 's/^USER=root/USER=root\nUGROUPS=wheel/' 

sudo su - команда не нужна, если Вы в настоящее время root. Команда 'не удвоится, фиксируют' любой файл, таким образом, это может быть chronредактор или набор для работы запуска для проверки файлов в порядке. Обновления и установки могут перезаписать их или создать новые, которые не имеют UGROUPS= директива.

Отключение пользователя root

После того как это - вся установка и протестировало Вас, должен отключить пользователя root:

$ sudo passwd -l root

Это - нижний регистр L, как в БЛОКИРОВКЕ.

Затем необходимо установить или измениться PermitRootLogin no в Вашем /etc/ssh/sshd_config файл. Это полезно даже при блокировке корневой учетной записи в случае, если любой включает ее в будущем. sudo su - будет все еще работать, даже если Вы установите это, посмотрите ниже, таким образом, действительно нет никакой причины не установить его.

Если Вы решаете не заблокировать корневую учетную запись, это не идеально, поскольку любой может войти в text/X/GNOME консоль как root и это - когда плохие вещи происходят (консоль остается, вошел в систему, или Вы случайно удаляете набор файлов ОС [спрашивают меня, как я знаю], лучше всего блокировать учетную запись.

Выполнение, как поддерживают длительные периоды

Иногда, такие как программное обеспечение устанавливает, необходимо выполнить много команд как root и не желательный для добавления префикса каждого sudo. У Вас есть две опции в этом случае:

  1. Временно переключитесь на root учетная запись: $ sudo su - Та команда даст Вам тот же командный процессор, как будто Вы вошли в учетную запись как в корень.
  2. Разблокируйте корневую учетную запись: $ sudo passwd root Это позволит Вам установить пароль и разблокировать учетную запись; однако это не является временным, и необходимо не забыть блокировать учетную запись пользователя после того, как Вы сделаны.
6
ответ дан 3 December 2019 в 09:25
  • 1
    Теперь, когда один классный ответ. Я преследовал этот путь сам несколько месяцев назад и добрался до consolehelper инструмент. После этого все, что я видел, было тупиком. Вы представили чрезвычайно изящное решение, особенно часть UGROUPS.Спасибо! –  zerolagtime 30 November 2010 в 05:37

Теги

Похожие вопросы