RADIUS - разъедините: Хеширование пароля перед проверкой

Самый основной бит - то, что Вам нужен rpmbuild инструмент, и необходимо записать файл спецификации. У меня есть следующий сценарий, который берет файл спецификации и дерево, поскольку это выглядело бы установленным на целевой машине:

#!/bin/bash

set -e

SPECFILE=$1
shift
SOURCEDIR=$1

BASEDIR=/usr/src/rpm/BUILD
[ -e ${BASEDIR} ] || BASEDIR=/usr/src/redhat/BUILD

BASENAME=$(grep -E '^Name:' $SPECFILE | awk '{ print $2 }')
VERSION=$(grep -E '^Version:' $SPECFILE | awk '{ print $2 }')
RELEASE=$(grep -E '^Release:' $SPECFILE | awk '{ print $2 }')
BUILDROOT=${BASEDIR}/${BASENAME}-${VERSION}-${RELEASE}

rm -rf ${BUILDROOT}
cp -r ${SOURCEDIR} ${BUILDROOT}

export SOURCEDIR BUILDROOT

rpmbuild --buildroot=${BUILDROOT} -bb $SPECFILE

Для получения дополнительной информации на файлах спецификации, посмотрите спецификацию спецификации об/мин.

0
задан 10 May 2014 в 15:27
2 ответа

В качестве альтернативы, если вы хотите использовать внешний PHP-скрипт, вы можете поместить в авторизацию следующее:

authorize {
    update {
        Tmp-String-0 := `/usr/bin/php5 -f /path/to/cpauth.php '%{User-Name}' '%{User-Password}'`
    }

    if (Tmp-String-0 == 'Accept') {
        update control {
            Auth-type := Accept
        }
    }
    else {
        reject
    }
}

Затем введите «Принять» или «Отклонить».

0
ответ дан 4 December 2019 в 17:39

Настройте экземпляр модуля rlm_sql.

Добавьте запрос к авторизовать {} для получения хешированного пароля.

update control {
    <password-attribute> := "%{sql:SELECT password FROM foo_table WHERE user=%{User-Name}}"
}

Атрибут пароля может быть одним из Открытый текст-пароль MD5-пароль SMD5-пароль Crypt-пароль SHA2-пароль SHA-пароль SSHA-пароль LM-пароль NT-пароль.

Затем вызовите модуль pap . Модуль pap должен установить Auth-Type равным pap и будет хэшировать значение User-Password для соответствия схеме, используемой для значения атрибута пароля, и сравнивать их.

1
ответ дан 4 December 2019 в 17:39

Теги

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