- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
GETPW(3) | Руководство программиста Linux | GETPW(3) |
ИМЯ¶
getpw - восстанавливает строку пароля
СИНТАКСИС¶
#define _GNU_SOURCE /* смотрите feature_test_macros(7) */ #include <sys/types.h> #include <pwd.h>
int getpw(uid_t uid, char *buf);
ОПИСАНИЕ¶
Функция getpw() заново создаёт в буфере строку пароля для пользователя с ID uid в буфере buf. Возвращаемый буфер содержит строку в формате
name:passwd:uid:gid:gecos:dir:shell
Структура passwd определена в <pwd.h> таким образом:
struct passwd {
char *pw_name; /* имя пользователя */
char *pw_passwd; /* пароль пользователя */
uid_t pw_uid; /* идентификатор пользователя */
gid_t pw_gid; /* идентификатор группы */
char *pw_gecos; /* информация о пользователе */
char *pw_dir; /* домашний каталог */
char *pw_shell; /* программная оболочка */ };
Подробней о полях этой структуры смотрите в passwd(5).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При успешном выполнении getpw() возвращается 0; при ошибке возвращается -1, а в errno содержится код ошибки.
Если uid не найден в базе данных паролей, то getpw() возвращает -1, присваивает errno значение 0 и buf не изменяется.
ОШИБКИ¶
ФАЙЛЫ¶
- /etc/passwd
- файл, содержащий базу паролей
АТРИБУТЫ¶
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
getpw() | Безвредность в нитях | MT-Safe locale |
СООТВЕТСТВИЕ СТАНДАРТАМ¶
SVr2.
ДЕФЕКТЫ¶
Функция getpw() является в каком-то смысле опасной, так как может переполнить предоставляемый ей буфер buf. Она заменена на getpwuid(3).
СМ. ТАКЖЕ¶
endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5)
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
15 сентября 2017 г. | GNU |