- 主题:ytht的sshbbsd让guest也能ssh登陆
ytht原来的smth_sshbbsd判断是否guest登陆的逻辑有错误,改了一下
smth_sshbbsd/auth-passwd.c
auth_password()函数
if (password[0] == '\0'||!strcasecmp(server_user,"guest")||!strcasecmp(server_user,"new"))
return 0;
改成
if (!strcasecmp(server_user, "guest"))
return 1;
if (password[0] == '\0')
return 0;
原先的逻辑明显有错误,按照他那个写法至少也要写成
if (password[0] == '\0' && (!strcasecmp(server_user, "guest") || (!strcasecmp(server_user, "new"))
return 1;
才能让guest登陆,不知道原先ytht写的这段是什么用意。。。
但是看了一下,实现telnet下的new登陆是不大可能简简单单就实现了的,所以索性不判断new了,判断guest的时候也不用对密码做要求,所以也不要判断password[0]了,但判断是否是guest之后要检查password[0]。
因为进auth_password函数之前执行过 dosearchuser(user) 了,所以也就不用再对new做检查了。
另外在 bbs.zzu.edu.cn 还做了点别的修改,比较实用的就是在判断 user[0] 那块多加了个判断user[0] 是不是数字的,因为id里不能出现数字,所以索性在这里就让他断掉,不要进去后面跑 dosearchuser(user) 浪费资源
再有就是 do_authentication_fail_loop() 那个函数。。。比较bt,不能让他那么死循环下去吧。。。改了一下,还是给个循环次数的好。。。
--
FROM 166.111.161.221
可能是觉得 guest 没有什么需要保密的东西吧。
【 在 chutium.bbs@bbs.tju.edu.cn.no.spam (秋天|阿新) 的大作中提到: 】
: ytht原来的smth_sshbbsd判断是否guest登陆的逻辑有错误,改了一下
: smth_sshbbsd/auth-passwd.c
: auth_password()函数
: if (password[0] == '\0'||!strcasecmp(server_user,"guest")||!strcasecmp(server_user,"new"))
: return 0;
: 改成
: ...................
--
FROM 218.194.254.*
本来就没有想让guest登录ssh
【 在 chutium.bbs@bbs.tju.edu.cn.no.spam (秋天|阿新) 的大作中提到: 】
: ytht原来的smth_sshbbsd判断是否guest登陆的逻辑有错误,改了一下
: smth_sshbbsd/auth-passwd.c
: auth_password()函数
: if (password[0] == '\0'||!strcasecmp(server_user,"guest")||!strcasecmp(server_user,"new"))
: return 0;
: 改成
: if (!strcasecmp(server_user, "guest"))
: return 1;
: ...................
--
FROM 202.113.16.117
恩,不过如果不想让guest登陆的话,也可以不做这个判断
password[0] == '\0'||!strcasecmp(server_user,"guest")||!strcasecmp(server_user,"new")
只一个password[0] == '\0'就行
想起让guest登陆ssh是因为看见贵站前面那位Fishingsnow发的帖子
发信人: Fishingsnow (Fishingsnow), 信区: BBSDev
标 题: Re: YTHT 输入新地址后自动注销
发信站: 天大求实BBS (Tue Dec 14 10:07:22 2004), 转信(bbs.tju.edu.cn)
202.205.10.222 ssh
【 在 cycker.bbs@bbs.szu.edu.cn (寻找理想) 的大作中提到: 】
: ytht现在重开了吗?
本来想ssh上去随便看看“重开的ytht”。。。可guest不能登陆,就没办法了~
【 在 wy.bbs@wusetu.cn (wy@tju) 的大作中提到: 】
: 本来就没有想让guest登录ssh
: 【 在 chutium.bbs@bbs.tju.edu.cn.no.spam (秋天|阿新) 的大作中提到: 】
: : ytht原来的smth_sshbbsd判断是否guest登陆的逻辑有错误,改了一下
: : smth_sshbbsd/auth-passwd.c
: : auth_password()函数
: : if (password[0] == '\0'||!strcasecmp(server_user,"guest")||!strcasecmp(server_user,"new"))
: : return 0;
: : 改成
: : if (!strcasecmp(server_user, "guest"))
: : return 1;
: ...................
--
FROM 202.120.3.1