Возможность останавливать/перезагружать сервер от имени пользователя

Поскольку вы установили пароль для root, используйте suи busybox, установленные по умолчанию в Ubuntu. Все необходимые библиотеки suнаходятся в /lib. Busybox — это набор статически связанных утилит, поэтому отсутствие библиотек не должно быть проблемой. Делай:

su -c '/bin/busybox mv /usr_bak /usr'

(Хотя у самого Busybox также есть апплет su, двоичный файл /bin/busyboxне имеет setuid и поэтому не работает, если только он не запущен от имени пользователя root.)

Если у вас нет пароля root, вы, вероятно, могли бы использовать решение Жиля здесь, используя LD_LIBRARY_PATH, или(Жиль говорит, что это не будет работать с двоичными файлами setuid, такими как sudo )перезагрузите и отредактируйте меню GRUB для загрузки с init=/bin/busyboxв качестве параметра ядра и переместите папку обратно.

0
25.01.2020, 16:46
2 ответа

Если вы используете интерфейс командной строки AWS , как пользователь вы можете выполнить (на самом экземпляре):

aws ec2 reboot-instances --instance-ids $(curl -s http://instance-data/latest/meta-data/instance-id)

См. это обсуждение получения идентификатора EC2 из самого экземпляра.

Если вы хотите проверить, есть ли у вас необходимые разрешения перед запуском, попробуйте включить флаг --dry-run:

--dry-run | --no-dry-run (boolean)

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Контекст см. в этом обсуждении о разнице между halt, shutdown, rebootи т. д.

2
29.01.2020, 12:44

Думаю, вы ищете:

ubuntu ALL=/sbin/halt, /sbin/reboot

Это идентично:

ubuntu ALL=(ALL:ALL) /sbin/halt, /sbin/reboot

Как правило, вы всегда должны использовать visudoдля редактирования вашей конфигурации sudoers, поскольку она выполняет проверку синтаксиса файла перед его размещением в конечном месте.

См. справочную страницу sudoers(5)для получения полной документации, включая длинный список задокументированных примеров.


Если ваш вопрос "как мне выйти из этой ситуации",если вы не можете войти в систему напрямую как root, то, вероятно, лучшим вариантом будет удалить экземпляр EC2 и создать новый.

3
28.01.2020, 02:38

Теги

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