На нашем сервере 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.