-2

У меня есть эта команда:

ssh user1@192.168.242.16 'sudo -u oracle fgrep ...'

Может кто-нибудь объяснить мне, как работает эта команда? Я просто знаю, что кто-то подключается к удаленному компьютеру как user1 и хочет выполнить какую-то команду как oracle. Он может это сделать? У пользователя user1 есть некоторые привилегии, и почему при запуске этой команды мне нужно установить пароль пользователя user1, а не oracle?

Спасибо

3 ответа3

2

С помощью sudo вы можете запускать все как угодно.

Эта команда будет работать, если user1 добавлен в sudoers с помощью NOPASSWD, что означает, что user1 может выполнять команды с помощью sudo и не требуется вводить свой пароль при этом

0

Это просто "цепочка" команды:

  1. аутентифицироваться на удаленной системе как user1
  2. вызвать в удаленной системе команду с эффективным пользователем Oracle

Важно понять, почему это используется:

  1. Из соображений безопасности некоторые учетные записи не доступны через ssh. Это можно сделать с помощью конфигурации (см. Ниже).
  2. У учетной записи удаленного пользователя просто нет пароля или нет доступной записи в .ssh/autorized_keys .

Примечание - запретить доступ по SSH для определенных учетных записей

В большинстве конфигураций по умолчанию корневая учетная запись заблокирована для ssh. Обычно это делается в /etc/ssh/sshd_config с опцией:

PermitRootLogin no

Кроме того, вы можете указать там параметры DenyUsers , AllowUsers , DenyGroups и, наконец, AllowGroups .
Для получения подробной информации смотрите man sshd_config .

0

хорошо, эта команда состоит из двух частей:

ssh user1@192.168.242.16

подключается к удаленному устройству и входит в систему как пользователь 'user1'

вторая команда начинается с 'sudo', утилиты, которая позволяет пользователю временно использовать полномочия root. Возможность запуска sudo является правом, предоставленным пользователю, поэтому пользователь без возможности sudo вообще не сможет запускать sudo.

Sudo предлагает пользователю ввести собственный пароль. это гарантирует, что пользователь действительно хочет запустить задание от имени пользователя root и что он является авторизованным пользователем для этой учетной записи. таким образом, только пользователь с правами sudo может пустить корни, и он вынужден доказать, что он является тем, кем считает система.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .