从php文件里获取密码,C++_C语言编程中从密码文件获取数据的函数总结,C语言getpw()函数:取得指定用 - phpStudy...

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

C语言getpw()函数:取得指定用户的密码文件数据头文件:

#include #include

定义函数:

int getpw(uid_t uid, char *buf);

函数说明:getpw()会从/etc/passwd中查找符合参数uid所指定的用户账号数据, 找不到相关数据就返回-1。

所返回的buf 字符串格式如下:

账号:密码:用户识别码(uid):组识别码(gid):全名:根目录:shell

返回值:返回 0 表示成功, 有错误发生时返回-1.

附加说明

1. getpw()会有潜在的安全性问题, 请尽量使用别的函数取代。

2. 使用shadow 的系统已把用户密码抽出/etc/passwd, 因此使用getpw()取得的密码将为"x"。

范例

#include

#include

main()

{

char buffer[80];

getpw(0, buffer);

printf("%s\n", buffer);

}

执行:

root:x:0:0:root:/root:/bin/bash

C语言getpwnam()函数:从密码文件中取得指定账号的数据头文件:

#include #include

定义函数:

struct passwd * getpwnam(const char * name);

函数说明:getpwnam()用来逐一搜索参数name 指定的账号名称, 找到时便将该用户的数据以passwd 结构返回。passwd 结构请参考getpwent()。

返回值:返回 passwd 结构数据, 如果返回NULL 则表示已无数据, 或有错误发生.

范例

/*取得root 账号的识别码和根目录 */

#include

#include

main()

{

struct passwd *user;

user = getpwnam("root");

printf("name:%s\n", user->pw_name);

printf("uid:%d\n", user->pw_uid);

printf("home:%s\n", user->pw_dir);

}

执行:

name:root

uid:0

home:/root

C语言getpwuid()函数:从密码文件中取得指定uid的数据头文件:

#include #include

定义函数:

struct passwd * getpwuid(uid_t uid);

函数说明:getpwuid()用来逐一搜索参数uid 指定的用户识别码, 找到时便将该用户的数据以结构返回结构请参考将该用户的数据以passwd 结构返回. passwd 结构请参考getpwent()。

返回值:返回 passwd 结构数据, 如果返回NULL 则表示已无数据, 或者有错误发生.

范例

#include

#include

main()

{

struct passwd *user;

user= getpwuid(6);

printf("name:%s\n", user->pw_name);

printf("uid:%d\n", user->pw_uid);

printf("home:%s\n", user->pw_dir);

}

执行:

name:shutdown

uid:6

home:/sbin

相关阅读:

深入解析Java的Hibernate框架中的持久对象

jquery实现图片滚动效果的简单实例

php制作动态随机验证码

javascript html5 canvas实现可拖动省份的中国地图

Android Shape控件美化实现代码

javascript HTML+CSS实现经典橙色导航菜单

Android中GPS定位的用法实例

css禁止html标签被选中的方法

在JS中操作时间之getUTCMilliseconds()方法的使用

Javascript Web Slider 焦点图示例源码

java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion问题解决方法

C语言中getopt()函数和select()函数的使用方法

Android实现个性化的进度条

node.js中的http.createClient方法使用说明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值