`
mactonish
  • 浏览: 17151 次
  • 性别: Icon_minigender_2
最近访客 更多访客>>
社区版块
存档分类
最新评论

getpwnam

    博客分类:
  • c
阅读更多
#include <stdio.h>
#include <pwd.h>
int main()
{
        struct passwd * pw;
        char *username = "apple";
        pw = getpwnam(username);
        if (!pw) {
                printf("%s is not exist\n", username);
                return -1;
        }
        printf("pw->pw_name = %s\n", pw->pw_name);
        printf("pw->pw_passwd = %s\n", pw->pw_passwd);
        printf("pw->pw_uid = %d\n", pw->pw_uid);
        printf("pw->pw_gid = %d\n", pw->pw_gid);
        printf("pw->pw_gecos = %s\n", pw->pw_gecos);
        printf("pw->pw_dir = %s\n", pw->pw_dir);
        printf("pw->pw_shell = %s\n", pw->pw_shell);
}

分享到:
评论

相关推荐

    C语言编程中从密码文件获取数据的函数总结

    本文将深入探讨三个重要的函数:getpw(), getpwnam(), 和 getpwuid(),它们用于从系统密码文件(通常位于/etc/passwd)中检索用户数据。 首先,我们来看`getpw()`函数。这个函数接受一个用户识别码(uid)作为参数...

    tcp ip网络编程unix

    if ( (ptr = getpwnam("stevens")) == NULL) err_sys("getpwnam error"); printf("pw_passwd = %s\n", ptr-&gt;pw_passwd == NULL || ptr-&gt;pw_passwd[0] == 0 ? "(null)" : ptr-&gt;pw_passwd); exit(0); }

    UNIX.doc 一些命令

    1. **`getpwuid()` 和 `getpwnam()`**: 这两个函数用于获取系统中与用户ID或用户名关联的信息。`getpwuid()` 函数通过用户ID(uid_t 类型)查找并返回一个指向`passwd`结构体的指针,该结构体包含了用户的相关信息...

    2018-系統程式期中考(上機考部分)1

    这需要使用`chown()`和`getpwnam()`来改变文件所有权。 提交内容: 1. 完整的源代码。 2. `makefile`:这个文件应该能够编译程序,生成`labBook`执行文件,并创建`labBook`目录,设置其权限。 3. `readme`:根据...

    用PHP构建一个简易监视引擎

    $pw = posix_getpwnam('nobody'); posix_setuid($pw['uid']); posix_setgid($pw['gid']); ``` 3. **保证排它性:**确保同一时间只有一个脚本实例在运行是非常重要的,特别是在后台运行时。可以使用`flock()`函数对...

    Python 查看文件的读写权限方法

    gid = pwd.getpwnam('nginx').pw_gid; for d in paths: dstat = os.stat(d); if dstat.st_uid != uid: try: os.chown(d, uid, gid); except: logger(1, "chown(%s, nginx, nginx) failed\n" % (d)); ``` ...

    Perl小程序清除死进程的IPC资源

    1. 使用`getpwnam`函数获取指定用户名的用户信息。 2. 调用系统调用`ipcs`获取当前系统中所有的IPC资源信息。 3. 检查每个IPC资源的所有者是否与目标用户匹配。 4. 如果匹配,使用`ipcrm`命令(IPC资源管理器)删除...

    user-info-api.tar.gz_linux 登录_linux登录

    在C语言中,通常使用`getpwnam()`和`getpwuid()`函数从`/etc/passwd`获取用户信息,而`getgrnam()`和`getgrgid()`则用于查询组信息。在Python等高级语言中,有如`pwd`和`grp`模块提供类似的接口。 **安全注意事项**...

    LinuxC函数.pdf

    getpw()、getpwent()、getpwnam()、getpwuid()等用于获取用户信息;getgr()、getgrent()、getgrgid()、getgrnam()等用于获取组信息。 数据结构及算法部分则涉及到C语言中一些复杂的数据结构操作,以及算法的实现,...

    python实现得到当前登录用户信息的方法

    gid = pwd.getpwnam(user)[3] # 获取用户的GID groups = grp.getgrgid(gid)[0] # 根据GID获取组名 except KeyError as e: print('Failed to find primary group for user %s' % user) return group ``` 这里...

    UNIX环境高级编程-009_进程关系

    login程序的主要任务是验证用户密码,这涉及到getpwnam函数获取用户信息,getpass函数读取密码(不回显),以及crypt函数对密码进行加密比对。如果验证失败,login会调用exit函数返回错误代码,告知父进程(通常是...

    UNIX环境高级编程pdf_06

    POSIX.1定义了两个函数来获取口令文件的信息:`getpwuid()` 和 `getpwnam()`,它们根据用户ID或用户名返回相应的`passwd`结构体。 综上所述,第六章主要讲解了如何高效地处理和访问系统数据文件,特别是口令文件,...

    glibc-2.29-5_C-C++_glibc2.29_glibc2.29源码_

    6. **pwd**:这个目录与用户和组信息处理相关,比如`getpwuid`和`getpwnam`等函数,用于获取用户或组的信息。 7. **scripts**:包含了构建glibc时使用的脚本,这些脚本用于配置、编译和测试库。 8. **resolv**:这...

    UNIX环境高级编程06

    2. `getpwnam(const char *name)`:根据用户名返回对应的`passwd`结构体指针。 这两个函数提供了便捷的方式,让程序员可以轻松获取和操作用户的账户信息,无论口令文件的实际格式如何。 本章还涉及了其他系统数据...

    Linux 系统函数调用大全

    用户组篇介绍了如何使用`getpwnam()`、`getpwuid()`获取用户信息,`getgrnam()`和`getgrgid()`获取组信息,以及`setuid()`和`setgid()`切换用户或组身份。 文件操作篇不仅包括基本的文件操作,还可能涵盖高级特性,...

    UNIX环境高级编程-006_系统数据文件和信息

    struct passwd *getpwnam(const char *name); // 通过用户名查找 ``` 这些函数为开发者提供了方便,无需直接处理文本文件,提高了代码的可移植性。 总的来说,本章详细介绍了UNIX系统中的口令文件及其使用,不仅...

    Linux C 常用库函数手册

    - getpwnam():通过用户名获取password结构。 - getpwent():获取下一个password条目。 - getpw():已经不推荐使用,等同于getpwent()。 - getgroups():获取指定进程的组ID集合。 - getgrnam():通过组名获取group...

    Linux C api参考手册

    * getpwnam(): 获取密码信息 * getpwuid(): 获取密码信息 * initgroups(): 初始化组信息 * setegid(): 设置当前进程的有效组 ID * seteuid(): 设置当前进程的有效用户 ID * setgid(): 设置当前进程的组 ID * set...

Global site tag (gtag.js) - Google Analytics