Запуск google-authenticator под другим пользователем не приводит ни к чему, кроме как выдачи списка опций.

Вопрос или проблема

Я пытаюсь запустить 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

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

  1. Проблемы с путём: Убедитесь, что утилита google-authenticator доступна в пути текущего пользователя. Можете проверить это с помощью команды which google-authenticator.

  2. Права доступа: Убедитесь, что пользователь user2 имеет разрешения на выполнение данной команды. Если у пользователя отсутствуют необходимые разрешения, то это может привести к подобному поведению.

  3. Корректность параметров: Проверьте, что все параметры, которые вы передаете, корректны. Возможны опечатки или неверные значения. Обратите внимание, что в вашем запросе использован символ «–» (длинное тире) вместо обычного «-» (дефиса), что может нарушить чтение параметров в Bash.

  4. Файлы конфигурации: Для корректной работы Google Authenticator, у пользователя user2 должны быть правильно настроены или созданы файлы конфигурации. Убедитесь в отсутствии конфликтов или ненастроенности.

Решения

  1. Проверьте путь к google-authenticator:
    Выполните команду:

    which google-authenticator

    Если путь не отображается, добавьте его в систему.

  2. Используйте правильно параметры:
    Попробуйте удалить ненужные параметры и оставить лишь основные. Убедитесь, что вместо длинного тире используете обычные:

    sudo -u user2 google-authenticator --time-based --disallow-reuse --force --qr-mode=ansi --emergency-codes=10 --quiet
  3. Измените права доступа:
    Убедитесь, что все необходимые права доступа установлены на файл конфигурации Google Authenticator:

    sudo chmod 600 /home/user2/.google_authenticator
  4. Работа в интерактивном режиме:
    Если проблема не исчезает, попробуйте запустить команду в интерактивном режиме (без флага --quiet и других), чтобы увидеть, что именно вызывает ошибку:

    sudo -u user2 google-authenticator
  5. Проверка переменных окружения:
    Убедитесь, что переменные окружения для пользователя настроены правильно. Это можно проверить с помощью команды:

    sudo -u user2 env

Заключение

Подводя итог, выполнение google-authenticator от имени другого пользователя требует правильной настройки окружения и прав доступа. Убедитесь в корректности используемых команд и параметров. Если у вас продолжают возникать проблемы, возможно, стоит рассмотреть возможность настройки аутентификации для пользователя, которому нужен доступ.

Оцените материал
Добавить комментарий

Капча загружается...