Выполните команду как другого пользователя путем обеспечения ИХ пароля

Я должен выполнить команду как другой пользователь путем обеспечения ИХ пароля. Это должно смочь быть сделанным без терминала иначе просто через сценарий удара. Я также должен смочь сделать это, не устанавливая пользовательский пакет (sshpass, и т.д.) или настроив любые доступные для корня файлы (sudoers, и т.д.).

Вещи я попробовал:

  1. sudo -u 'myuser' -- sh -c 'mycommand'
  2. su - 'myuser' -c 'mycommand'
  3. ssh 'myuser'@localhost 'mycommand'

Все они работают в выполнении цели выполнения команды как другой пользователь. Однако аутентификация является проблемой...

  1. sudo - Позволяет Вам предоставлять пароль через стандартный вход с помощью -S флаг. Однако это запрашивает Ваш пароль - не пароль пользователя, Вы пытаетесь выполнить команду как.
  2. su - Позволяет Вам предоставлять их пароль вместо Вашего, но он может только быть предоставлен через терминал!
  3. ssh - Позволяет Вам предоставлять их пароль, но он также может только быть предоставлен через терминал. Это также имеет намного больше служебный, чем предыдущие два.

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

3
задан 2 December 2016 в 02:45

0 ответов

Другие вопросы по тегам:

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