Разгон AMD Sapphire RX 580 GPU на Ubuntu 16.04

Вы можете использовать sudo для этого. sudo имеет опцию -l для проверки привилегий sudo, которые пользователь имеет, и -S для чтения в пароле из stdin. Однако независимо от того, какой уровень привилегий у пользователя есть, если он успешно прошел проверку подлинности, sudo возвращается с статусом завершения 0. Таким образом, вы можете принять любой другой статус выхода в качестве индикатора того, что аутентификация не сработала (если предположить, что sudo

Что-то вроде:

#! /bin/bash
IFS= read -rs PASSWD
sudo -k
if sudo -lS &> /dev/null << EOF
$PASSWD
EOF
then
    echo 'Correct password.'
else 
    echo 'Wrong password.'
fi

Этот сценарий немного зависит от того, конфигурации sudoers. Я предполагал установку по умолчанию. Вещи, которые могут привести к сбою:

targetpw или runaspw установлено listpw is never и т. Д.

Другие проблемы включают (спасибо Eliah):

targetpw или runaspw установлено sudo должно выполняться как пользователь, для которого вы аутентифицируетесь. Если у вас нет привилегий sudo, чтобы вы могли запускать sudo -u foo sudo -lS, это означает, что вам нужно будет запустить сценарий в качестве целевого пользователя.

Теперь, причина, по которой я здесь использовал, - это препятствовать подслушиванию. Переменная, используемая как часть командной строки, легче обнаружить с помощью top или ps или других инструментов для проверки процессов.

1
задан 10 February 2018 в 13:09

0 ответов

Другие вопросы по тегам:

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