| getpw(3) | Library Functions Manual | getpw(3) |
getpw - восстанавливает строку пароля
Стандартная библиотека языка C (libc, -lc)
#define _GNU_SOURCE /* смотрите feature_test_macros(7) */ #include <sys/types.h> #include <pwd.h>
[[deprecated]] 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 не изменяется.
Описание терминов данного раздела смотрите в 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)
Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
| 2 мая 2024 г. | Справочные страницы Linux 6.9.1 |