Я бы хотел сделать следующее:
Если я вхожу в систему как пользователь ABC через экран входа в систему, ничего не делать. Однако, если я использую ssh как ABC, я хочу запустить сценарий root без запроса пароля root и без необходимости хранить пароль root где-нибудь на диске.
Мотивация к этому изложена в статье в Linux: ограничение исходящих сообщений для отдельных приложений . В основном, вдохновленный статьей https://unix.stackexchange.com/questions/21650/how-to-restrict-internet-access-for-a-particular-user-on-the-lan-using-iptables , я хочу сделать следующее:
1) Войдите в систему как пользователь EFG и используйте firefox для доступа в Интернет.
2) ssh в ABC.
3) После ssh'ing в ABC я хочу запустить сценарий, который имитирует «sudo iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP», где 1234 - это UID пользователя. ABC
4) Затем начните использовать под терминалом ssh'ed для ABC все приложения, к которым я не хочу иметь доступ в Интернет, пока я все еще вошел в систему как пользователь EFG, что позволяет мне выходить в Интернет как EFG.
Примечание. Я попытался возиться с файлом / etc / network / interfaces, однако у меня были проблемы с тем, что компьютер не мог нормально запуститься, если компьютер не был подключен к сети.
Спасибо
Самый простой способ - использовать принудительная команда против ключа SSH.
Создайте SSH-ключ для пользователя с ssh-keygen
и добавьте открытый ключ в ~/.ssh/authorized_keys
для пользователя ABC, добавив к нему префикс command="/some/script"
Скрипт может содержать sudo
команды, которые вы хотите запустить, а затем exec
оболочку при необходимости.