Политика паролей Ubuntu

Необходимо всегда использовать -lm при использовании функций от math.h если Вы хотите сохранить свой код/make-файлы портативным.

Некоторыми вещами в том заголовке являются макросы (которым, очевидно, не нужны дополнительные библиотеки), но которые являются, не указан (за исключением нескольких). Некоторые другие функции могли бы быть реализованы как сборка-ins Вашим компилятором (даже замененный определенными для процессора кодами операций непосредственно), встроенный, и т.д...., таким образом, корректное соединение Вашего кода могло также зависеть от настроек оптимизатора и точного компилятора/версии, Вы используете.

Например:

#include <stdio.h>
#include <math.h>

int main()
{
    double d = 0.2;
    fprintf(stdout, "%f\n", sqrt(d));
    return 0;
}

С GCC 4.5.1 на Linux:

$ gcc -o t t.c
/tmp/cczCfJsj.o: In function `main':
t.c:(.text+0x30): undefined reference to `sqrt'
collect2: ld returned 1 exit status

$ gcc -O3 -o t t.c
# ok, compiled and linked fine

Таким образом для сохранения себя головная боль просто добавьте -lm.

3
29.08.2014, 15:22
2 ответа

Необходимо изменить первую строку password [success=1 default=ignore] pam_unix.so obscure sha512

Но не используйте md5, так как новый использует sha512. Если Вы хотите установить использование минимальной длины пароля (8) строка ниже

password        [success=2 default=ignore]      pam_unix.so obscure sha512 min=8
4
27.01.2020, 21:13

pam_unix модуль PAM, который обрабатывает аутентификацию с именем пользователя и паролем, таким образом, это - то, где Вы настроили бы политику паролей.

В конфигурации PAM первый столбец указывает на группу управления. Здесь, это password, который настраивает обновления данных аутентификации пользователей. Второй столбец указывает поток управления между различными модулями, не касайтесь его, если Вы не знаете то, что Вы делаете. Третий столбец является именем модуля, и последующие столбцы являются параметрами к этому модулю.

Загляните pam_unix документация, или лучше в pam_unix страница справочника в Вашей системе, для наблюдения, какие опции поддерживаются. Добавьте опции, которые Вы хотите, например.

password    [success=1 default=ignore]  pam_unix.so obscure sha512 rounds=10000 minlen=8

Вы могли бы хотеть добавить другие модули для выполнения проверок сложности на пароле, такой как pam_cracklib. Набор pam_cracklib как required и помещенный это прежде pam_unix (который проверяет изменение пароля):

password    required                    pam_cracklib.so retry=3 difok=1 minlen=10
password    [success=1 default=ignore]  pam_unix.so obscure sha512 rounds=10000 minlen=8
3
27.01.2020, 21:13

Теги

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