Назад | Перейти на главную страницу

Как заставить сценарий bash работать с несколькими учетными записями?

На нашем сервере Linux есть несколько учетных записей администратора, разные учетные записи для разных целей.

Иногда для завершения работы требуется совместная работа с несколькими аккаунтами. Вручную я могу войти в систему и набрать команды. Но как я могу сделать это одним скриптом (BASH)?

Кстати: sudo не работал на моем сервере

Ваш вопрос немного непонятен. Но я полагаю, вы спрашиваете, как можно запускать команды, которые должны выполняться с другими учетными записями.

Просто сделайте что-нибудь подобное.

#!/bin/bash

# execute blah as username, assuming the main script is running as root
su username -c blah

# execute blah as username, assumes you have delegated calling users permissions to run command as username
sudo -u username blah

# execute blah as username, using key-based authentication.
ssh username@localhost blah

Вы должны использовать команду su -c для запуска команд от имени другого пользователя. Он запросит пароль в интерактивном режиме. Если вам нужно запустить его в пакетном режиме, вы можете использовать expect.