3

Я пытаюсь собрать воедино собственное приложение для Android, которое открывает SSH-соединение с моим компьютером и отправляет команды.

Я стремлюсь свести интерактивность этого процесса к минимуму, чтобы он выглядел как пульт дистанционного управления.

Я добавил "переключатель" sudo, который при активации будет запрашивать пароль sudo, который затем запустит команду x для запуска как sudo -S -p '' x а затем пароль будет отправлен на STDIN.

Проблема в том, что при неудачной попытке входа в систему команда будет ждать еще 2 попытки ввода пароля, добавляя интерактивность, которая мне не нужна!

Я знаю, что могу редактировать passwd_tries в файле sudoers , но я скорее знаю, был ли способ установить это как аргумент с помощью sudo, или это также может быть установлена переменная окружения?

Кто-нибудь знает? Или это не разрешено по соображениям безопасности?

2 ответа2

0

После просмотра файла man sudo и sudoers я не вижу способа добиться желаемого поведения.

Возможные причины:
Количество попыток ввода пароля не может быть увеличено с точки зрения безопасности. Хотя можно уменьшить количество попыток ввода пароля, я думаю, что в этом не было необходимости.

Возможное решение: использование -S, так как в случае неправильного пароля он сразу завершится неудачно:

echo <passwd> | sudo -S ls
0

Попробуйте настроить отдельную учетную запись пользователя и настроить файл sudoers для предоставления доступа без пароля вообще.

myuser    ALL = NOPASSWD: ALL

В качестве альтернативы, установите для пользователя значение uid 0 которое фактически является второй учетной записью root.

Это удалит любой секретный пароль из вашего приложения для Android. Действительно, избегайте хранения общих секретов, таких как пароли пользователей, в виде простого текста.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .