Вопрос или проблема
Я пытаюсь запустить google-authenticator как другого пользователя, а не того, под которым я вошел (так как я не знаю их пароля).
sudo -u user2 google-authenticator --time-based --disallow-reuse --force --qr-mode=ansi –emergency-codes=10 --quiet
Но все, что он делает, это отображает параметры, как если бы я выбрал параметр –help.
Возвращает:
-h, --help Печатает это сообщение
-c, --counter-based Настройка на основе счетчика (HOTP)
-C, --no-confirm Не подтверждать код. Для неинтерактивных настроек
и т.д.
Ответ или решение
Проблема, с которой вы столкнулись, связана с тем, что при выполнении команды Google Authenticator от имени другого пользователя, система не позволяет корректно запустить утилиту с указанными параметрами, а вместо этого выдает справочное сообщение, как если бы вы использовали параметр --help
. Давайте подробно разберем возможные причины и варианты решения этой ситуации.
Проблема
При выполнении команды:
sudo -u user2 google-authenticator --time-based --disallow-reuse --force --qr-mode=ansi –emergency-codes=10 --quiet
вы наблюдаете, что система просто выводит список параметров, не производя запрашиваемую настройку. Это может происходить по нескольким причинам:
-
Проблемы с путём: Убедитесь, что утилита
google-authenticator
доступна в пути текущего пользователя. Можете проверить это с помощью командыwhich google-authenticator
. -
Права доступа: Убедитесь, что пользователь
user2
имеет разрешения на выполнение данной команды. Если у пользователя отсутствуют необходимые разрешения, то это может привести к подобному поведению. -
Корректность параметров: Проверьте, что все параметры, которые вы передаете, корректны. Возможны опечатки или неверные значения. Обратите внимание, что в вашем запросе использован символ «–» (длинное тире) вместо обычного «-» (дефиса), что может нарушить чтение параметров в Bash.
-
Файлы конфигурации: Для корректной работы Google Authenticator, у пользователя
user2
должны быть правильно настроены или созданы файлы конфигурации. Убедитесь в отсутствии конфликтов или ненастроенности.
Решения
-
Проверьте путь к
google-authenticator
:
Выполните команду:which google-authenticator
Если путь не отображается, добавьте его в систему.
-
Используйте правильно параметры:
Попробуйте удалить ненужные параметры и оставить лишь основные. Убедитесь, что вместо длинного тире используете обычные:sudo -u user2 google-authenticator --time-based --disallow-reuse --force --qr-mode=ansi --emergency-codes=10 --quiet
-
Измените права доступа:
Убедитесь, что все необходимые права доступа установлены на файл конфигурации Google Authenticator:sudo chmod 600 /home/user2/.google_authenticator
-
Работа в интерактивном режиме:
Если проблема не исчезает, попробуйте запустить команду в интерактивном режиме (без флага--quiet
и других), чтобы увидеть, что именно вызывает ошибку:sudo -u user2 google-authenticator
-
Проверка переменных окружения:
Убедитесь, что переменные окружения для пользователя настроены правильно. Это можно проверить с помощью команды:sudo -u user2 env
Заключение
Подводя итог, выполнение google-authenticator
от имени другого пользователя требует правильной настройки окружения и прав доступа. Убедитесь в корректности используемых команд и параметров. Если у вас продолжают возникать проблемы, возможно, стоит рассмотреть возможность настройки аутентификации для пользователя, которому нужен доступ.