Как sudo предназначается, чтобы использоваться?

Можно использовать httpry или Justniffer, чтобы сделать это.

httpry доступно, например, через хранилище пакетов Fedora.

Вызов в качестве примера:

# httpry -i em1

(где em1 обозначает название сетевого интерфейса),

Пример произвел:

2013-09-30 21:35:20    192.168.0.1     198.252.206.16    >    POST    unix.stackexchange.com    /posts/6281/editor-heartbeat/edit    HTTP/1.1
2013-09-30 21:35:20    198.252.206.16  192.168.0.1       < HTTP/1.1   200    OK
2013-09-30 21:35:49    192.168.0.1     198.252.206.16    >    POST    unix.stackexchange.com    /posts/validate-body                 HTTP/1.1
2013-09-30 21:35:49    198.252.206.16  192.168.0.1       < HTTP/1.1   200    OK
2013-09-30 21:33:33    192.168.0.1      92.197.129.26    >    GET     cdn4.spiegel.de    /images/image-551203-breitwandaufmacher-fgoe.jpg    HTTP/1.1

(вывод немного сокращен),

24
04.12.2013, 21:24
3 ответа

Для основной операции — рабочих команд как корень — самое видимое различие между sudo и su - то, что sudo требует пароля вызывающего абонента (т.е. Ваш пароль), тогда как su требует пароля целевого пользователя (т.е. пароль root). Последствия безопасности были обсуждены экстенсивно в предыдущем вопросе: Который является самым безопасным способом получить права пользователя root: sudo, su или вход в систему?.

Sudo имеет дополнительные функции вне su's. В частности, после того как у Вас есть пароль пользователя, можно выполнить любую команду как тот пользователь. С другой стороны, sudo может быть настроен так, чтобы пользователь, вызывающий его, мог только выполнить определенные команды как некоторый другой пользователь. Это возможно, потому что sudo не требует никакой аутентификации (кроме, возможно, подтверждения, что Вы - Вы путем ввода пароля — но это тонко отличается от аутентификации пользователя для задачи).

Вы изменяете sudo конфигурацию путем выполнения visudo управляйте как корень (никогда не редактируют конфигурацию непосредственно). Удостоверьтесь переменная среды EDITOR или VISUAL установлен на Вашего любимого редактора, или можно получить незнакомого редактора. sudoers страница справочника является немного краткой, но имеет примеры. Позволить пользователю bob работать /bin/foo (с любым количеством аргументов) и /bin/bar --safe (но не с любым другим аргументом) как root, используйте следующие строки:

bob ALL = (root) /bin/foo
bob ALL = (root) /bin/bar --safe
16
27.01.2020, 19:41
  • 1
    sudo потрясающее изобретение –  tshepang 14.04.2011, 01:47
  • 2
    Требует ли sudo пароля root, или пароль root зависит от конфигурации. Это может быть настроено так или иначе. –  Jonathan M Davis 14.04.2011, 03:41
  • 3
    @Tshepang Аминь, брат. Если я должен был бы выпустить пароль root и объяснить поддержку techs о том, как к SU и не делают/anything/кроме apache2ctl graceful Я думаю, что предпочел бы разрезать запястья в длину и заканчивать его. голубятня –  Shadur 14.04.2011, 07:33

Самое большое различие - это с sudo Вам не нужен пароль root для выполнения команды как корня, как Вы были бы для su. Вам действительно нужен пароль root для добавления кого-то к sudoers файл, но после этого что человек может выполнить все или некоторых (если Вы ограничили его) как корень, не требуя дальнейшего пароля.

Другое различие, как Вы отметили, sudo позволяет намного более прекрасное управление точно, какие команды могут быть выполнены.

Для получения дополнительной информации формата sudoers файл выполняется man sudoers. Вы найдете, что примеры там разрешения только определенных команд выполняются как корень. Базовая структура каждой строки:

user_list host_list = cmd_list

cmd_list может включать детали, из которого пользователя реальному пользователю разрешают переключиться на. Например, Вы могли бы позволить веб-мастеру переключаться на wwwroot, чтобы перезапустить апача, но не базироваться. Это может также включать другие опции такой как, требуется ли пользовательский пароль прежде, чем переключиться (это - значение по умолчанию).

Строка в качестве примера могла бы быть:

joe  ALL=(ALL) ALL

что означает: позвольте joe выполнить любую команду на любом хосте как любой пользователь. Более трудная строка могла бы быть:

joe  ALL=(operator) /usr/local/ops/

что означает: позвольте joe выполнить любую команду в/usr/local/ops каталоге как пользователь "оператор".

Существует много примеров в конце sudoers страницы справочника.

Необходимо отредактировать /etc/sudoers с командой visudo. Это проверяет, что файл законен и помогает предотвратить Вас от случайно повреждения его.

6
27.01.2020, 19:41
  • 1
    Требуется ли пароль, когда использование sudo зависит полностью от как sudoers файл настраивается. Это может быть настроено, чтобы потребовать, чтобы пароль или набор до не потребовали пароля. –  Jonathan M Davis 14.04.2011, 03:40

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

2
27.01.2020, 19:41
  • 1
    Это в целях безопасности, потому что поддержки sudo, регистрирующиеся к системному журналу, который в любой основной установке, касавшейся безопасности, будет настроен для входа к отдельной удаленной машине так, чтобы, если система поставлена под угрозу, журналы не могли быть произведены. –  Arrowmaster 14.04.2011, 13:09

Теги

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