- 主题:再问-续
注册新用户的时候 ,系统还是在passwds文件中 肆无忌惮得把新注册的帐号 写到了 其它id 原有的位置,导致原来的id 被覆盖。
请问 系统利用userd 生成新注册用户 在passwds文件里的 位置 是怎么实现的?我看了那段userd()函数 代码,不太明白。有人解释一下 它的 原理是?
有否可能让新注册的用户 在PASSWDS文件里的 位置 直接指向 最后啊?只要在passwds里 不覆盖前面的id,乖乖写到后面就可以...
--
FROM 222.28.73.*
新注册账号就是查漏补缺,见缝插针...
【 在 hanxuema (汗血马) 的大作中提到: 】
: 注册新用户的时候 ,系统还是在passwds文件中 肆无忌惮得把新注册的帐号 写到了 其它id 原有的位置,导致原来的id 被覆盖。
: 请问 系统利用userd 生成新注册用户 在passwds文件里的 位置 是怎么实现的?我看了那段userd()函数 代码,不太明白。有人解释一下 它的 原理是?
: 有否可能让新注册的用户 在PASSWDS文件里的 位置 直接指向 最后啊?只要在passwds里 不覆盖前面的id,乖乖写到后面就可以...
: ...................
--
FROM 60.4.28.*
再问,查漏补缺 的依据是什么?
包含在哪段代码里?
谢谢
【 在 roctall (蛇王阿奔) 的大作中提到: 】
: 新注册账号就是查漏补缺,见缝插针...
--
FROM 58.207.132.*
因为那个位置已经空了啊
说实话看不懂你想说什么。举例,举例说明!
写被覆盖id的具体信息,写清楚你怎么操作的。
【 在 hanxuema (汗血马) 的大作中提到: 】
: 注册新用户的时候 ,系统还是在passwds文件中 肆无忌惮得把新注册的帐号 写到了 其它id 原有的位置,导致原来的id 被覆盖。
: 请问 系统利用userd 生成新注册用户 在passwds文件里的 位置 是怎么实现的?我看了那段userd()函数 代码,不太明白。有人解释一下 它的 原理是?
: 有否可能让新注册的用户 在PASSWDS文件里的 位置 直接指向 最后啊?只要在passwds里 不覆盖前面的id,乖乖写到后面就可以...
--
FROM 128.12.150.*
刚才又进行了测试,
对比新注册用户覆盖的位置,发现fb2k的.PASSWDS文件中 有好多地方 的userid=="new" ,估计是FB下自杀留下的空穴,它们占据着位置,在convpasswd转换的时候 也被转换过来了,这样的位置,虽然userid不为空,但是照样会被分配给新注册用户。
我在convpasswd.c文件中进行了 筛选,删了userid=="new" 的用户,生成的passwds放到kbs下,然后注册测试,结果是仍然还有部分userid 既非空,也非new 的 位置被分配给了 新注册用户。
所以我认为,给新注册用户 分配位置的 时候, 或许考虑到了 userid ,也考虑到了其它因素。 比如numlogins、 lastlogin 等等也考虑过了。
所以我在convpasswd.c中 强行设定如下:
1.2006年10月19号2点为止,1年内没有登陆的
2.登陆次数小于3次并且发表文章数少于3次的用户
3.用户名不合法的id, (现行系统id只能由字母和数字组成)
以上三种情况的id 进行删除,不导如 新系统下,结果就ok了...
新注册的用户 顺利的写到了文件最后一个帐号之后。yeah~
虽然还不是太明白,系统在给新注册用户 分配位置的 时候, 是怎么操作的...
【 在 atppp (Big Mouse) 的大作中提到: 】
: 因为那个位置已经空了啊
: 说实话看不懂你想说什么。举例,举例说明!
: 写被覆盖id的具体信息,写清楚你怎么操作的。
--
FROM 58.207.132.*