shadow(3)

НАЗВА
shadow, getspnam - підпрограми для файла зашифрованих паролів

СИНТАКСИС

#include <shadow.h>

struct spwd *getspent();

struct spwd *getspnam(char *name);

void setspent();

void endspent();

struct spwd *fgetspent(FILE *fp);

struct spwd *sgetspent(char *cp);

int putspent(struct spwd *p, ФАЙЛ *fp);

int lckpwdf();

int ulckpwdf();

ОПИС

shadow керує вмістом файла прихованих паролів, /etc/shadow. Структура файла #include:

    struct spwd { char *sp_namp; /* ім'я користувача для входу */ char *sp_pwdp; /* зашифрований пароль */ long int sp_lstchg; /* остання зміна пароля */ long int sp_min; /* дні, протягом яких можлива зміна пароля. */ long int sp_max; /* дні до вимоги зміни пароля */ long int sp_warn; /* дні для попередження щодо завершення строку дії */ long int sp_inact; /* дні до неактивності облікового запису */ long int sp_expire; /* дата, коли завершиться строк дії облікового запису */ unsigned long int sp_flag; /* зарезервовано для використання у майбутньому */ }

Призначення кожного з полів:

    • sp_namp - вказівник на ім'я користувача із кінцевим нуль-символом

    • sp_pwdp - вказівник на пароль із кінцевим нуль-символом

    • sp_lstchg - час у днях з 1 січня 1970 року, коли пароль було востаннє змінено

    • sp_min - кількість днів з останньої зміни, коли пароль не може бути змінено

    • sp_max - кількість днів з останньої зміни, після яких пароль має бути змінено

    • sp_warn - дні від моменту, коли строк дії пароля буде вичерпано, коли користувач отримуватиме попередження щодо майбутнього завершення строку дії пароля

    • sp_inact - кількість днів між завершенням строку дії і вимиканням облікового запису

    • sp_expire - кількість днів з 1 січня 1970 року, яка визначає момент вимикання облікового запису

    • sp_flag - зарезервовано для використання у майбутньому

ОПИС

getspent, getspname, fgetspent і sgetspent усі повертають вказівник на struct spwd. getspent повертає наступний запис з файла, а fgetspent повертає наступний запис з заданого потоку даних, яким має бути файл у належному форматі. sgetspent повертає вказівник на struct spwd, використовуючи вхідні дані з наданого рядок. getspnam шукає з поточної позиції у файлів запис, що відповідає рядку name.

setspent і endspent можна скористатися для того, щоб відкрити або закрити, відповідно, доступ до файла прихованих паролів.

Підпрограмами lckpwdf і ulckpwdf слід користуватися для забезпечення виключного доступу до файла /etc/shadow. lckpwdf намагається отримати блокування за допомогою pw_lock протягом періоду до 15 секунд. Підпрограма продовжує спроби отримати друге блокування spw_lock за решту початкових 15 секунд. Якщо протягом загального періоду у 15 секунд спроби завершаться невдачею, lckpwdf повертає -1. Якщо вдасться отримати обидва блокування, буде повернуто 0.

ДІАГНОСТИКА

Підпрограми повертають NULL, якщо не залишилося доступних записів або якщо станеться помилка під час обробки даних. Підпрограми, які повертають значення типу int, повертають 0, якщо підпрограму виконано успішно, і -1, якщо виконання підпрограми завершилося помилкою.

ЗАСТЕРЕЖЕННЯ

Цими підпрограмами може користуватися лише надкористувач, оскільки доступ до файла прихованих паролів обмежено.

ФАЙЛИ

/etc/shadow
    Відомості щодо захищених облікових записів користувачів.

ДИВ. ТАКОЖ

getpwent(3), shadow(5).