免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1584 | 回复: 8

命令不接收重定向是怎么实现的 [复制链接]

论坛徽章:
0
发表于 2005-07-14 19:48 |显示全部楼层
passwd命令不接收重定向是怎么实现的?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2005-07-14 19:48 |显示全部楼层

命令不接收重定向是怎么实现的

没明白你的意思 你的意思是不是不回显??
如果是 man getpass

论坛徽章:
0
发表于 2005-07-14 20:31 |显示全部楼层

命令不接收重定向是怎么实现的

不是,我的意思是 passwd <file  命令passwd不会从file中接收输入.

论坛徽章:
0
发表于 2005-07-14 22:25 |显示全部楼层

命令不接收重定向是怎么实现的

这段代码在 linux 上可以实现这个功能,但不清楚 passwd 是怎么做的。

  1. #include <stdio.h>;

  2. main ()
  3. {
  4.         FILE *fp;
  5.         char buf[1024];

  6.         fp = fopen ("/dev/tty", "r+");

  7.         fprintf (fp, "xxx:");
  8.         fgets (buf, sizeof(buf), fp);

  9.         puts (buf);

  10.         return 0;
  11. }
复制代码

论坛徽章:
0
发表于 2005-07-15 08:44 |显示全部楼层

命令不接收重定向是怎么实现的

这种方法我明白,想知道passwd也是这么做的吗,没看过linux源码,问一下要看passwd的源码应该怎么找呢?
还有如果是这种方法,怎么可以让它可以接收重定向,有办法吗

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2005-07-15 08:58 |显示全部楼层

命令不接收重定向是怎么实现的

which passwd
然后找到它对应的路径.

rpm -qf 路径
找到包.
然后去www.rpmfind.net找.

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2005-07-15 08:58 |显示全部楼层

命令不接收重定向是怎么实现的

[root@Route ~]# which passwd
/usr/bin/passwd
[root@Route ~]# rpm -qf /usr/bin/passwd
passwd-0.68-10

去找passwd 这个包就行了.

论坛徽章:
0
发表于 2005-07-15 09:21 |显示全部楼层

命令不接收重定向是怎么实现的

生成用户后直接改/etc/hadow文件是不是就可以更改密码了,一般来说是crypt加密的,需要加两个salt
理论上听人说过,passwd原码可能就是如此实现,但是没实际作过,你试试

论坛徽章:
0
发表于 2005-07-15 11:46 |显示全部楼层

命令不接收重定向是怎么实现的

看了passwd的src包,调用pam_chauthtok()函数做的,而这个又在pam包里面,pam包一下看不明白.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP