关于mudlib安全性的考虑
2007/5/6 22:36:33

*******
等级安全
******* 

1.使用author_file来表示object的等级,也就是object等级只与其目录有关系(?) 
2.不对this_player()做等级验证(user->save()的例子) 
3.对previous_object_list(previous_object(-1))做等级检查,取除this_player() 
外最低等级为previous_object的等级,再和this_object做等级检验。
 
********
安全检查
******** 
涉及安全方面的包括read,write,exec,destruct,clone 
(update = destruce + create) 
某些object不允许被低等级者(比如/u目录)destruct和clone(见函数等级检查) 
权限控制分为读权,写权,(函数)执行权,destruct权和create权。
 
**********
读权的控制
********** 
读权是基本权限。但读权的控制有可能导致player因其等级低而无法读取 
他的data(因此在安全检查时要忽略this_player())。另外要防止的情形是 
低级wiz通过写自己目录下的程序来读写高级别文件(因此安全检查是对所有 
previous_object的list而不仅仅是previous_object)。
 
基本上大部分程序是可读的,但/data/user,/data/login目录例外,player 
的数据和passwd应该是低中级wiz不可见的。
 
**********
写权的控制
********** 
写权是最重要的安全权限,在现行mudlib里对它的控制不够严密。 
对写权的控制体现为: 
低级wiz只能通过roommaker写自己的workrom等 
中级wiz可使用edit,但只能编辑自己目录下的区域(也就是可以通过限制 
他目录下的文件的权限来实现权限控制,即写权控制执行权) 
高级wiz可编辑/d,/std,/obj目录 
天神级可编辑/adm和/data目录 
(实际级别可以再细分)
 
对写权的控制还有一种特例: 
类似edemote,可允许低级wiz通过命令修改一些文件(如emoted.o), 
这些文件是供高级别程序读取的(如emoted.c)。这种修改不涉及函数体 
的修改,而且容易跟踪,还是比较安全的。 
 
************************
执行权--函数中的等级检查
************************ 
某些涉及修改玩家属性的函数(如set,add,delete,skill_improve等) 
将在执行前检查previous_object_list和this_object() 
等级排列为: 
wiz(把wiz等级排在比player还低是为了允许qc程序改变wiz属性而不能改变player) 
player(即object级)地图 ,obj , npc....等 
std(标准级)feature,skills等 
master(系统级)daemons,user data及对user data进行操作的文件 
adm(最高安全级)甚至连天神都不能修改的文件:主要是一些日志文件 
各等级之间的读,写,执行关系待最后确定。
 
************************
update权(destruct+create)
************************ 
destruct的权限可在函数执行中控制 
至于object的生成,可在master的valid_object里控制 
可避免较低级别wiz通过程序生成某些受控制的object(特别是宝物) 
 
******************
一些涉及安全的efun
****************** 
如exec,ed等都必须禁止valid_override
 
*****************
命令级的安全控制
***************** 
可考虑加入第二密码命令passlock 
除login password之外还有一个第二密码passwd2 
某些命令,如suicide,kill,abandon等,以及所有wiz命令必须通过passunlock 
解锁才能执行。假如不希望别人使用你的机器时用你的mud窗口,可运行passlock 
加锁。 
第二密码可以用比较灵活的方式:例如是一个8位数字,passunlock时随机询问 
其中三个数位数字的和,差,积等......若回答错误则会踢出系统。 
当login时自动执行passlock(也就是每次login必须解锁才能执行特定命令) 
 
尊重作者 转载请注明出处52mud.com

返回列表
返回首页
©2025 MUD游戏网_文字mud 电脑版
Powered by iwms