信息安全
文章平均质量分 64
Richard_J
Java攻城狮
展开
-
linux/unix下setuid/seteuid/setreuid/setresuid
其中setresuid()具有最清晰的语法:setresuid()被执行的条件有:①当前进程的euid是root②三个参数,每一个等于原来某个id中的一个如果满足以上条件的任意一个,setresuid()都可以正常调用,并执行,将进程的ID设置成对应的ID。例子:如果ruid=100,euid=0,suid=300则setresuid转载 2013-10-01 19:57:29 · 663 阅读 · 0 评论 -
RUID,EUID,SUID
实际用户ID,有效用户ID和设置用户ID 看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一知半解。今天好好区分了一下这几个概念并总结如下。说白了这几个UID引出都是为了系统的权限管理。 下面分别用RUID, EUID,SUID来表示实际用户ID,有效用户ID,设置用户ID。另外用户ID是个整型数,为了说转载 2013-10-01 15:53:37 · 1020 阅读 · 0 评论 -
关于Linux下s、t、i、a权限
原文地址:关于Linux下s、t、i、a权限 作者:wdrain文件权限除了r、w、x外还有s、t、i、a权限:s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不转载 2013-09-14 21:32:13 · 578 阅读 · 0 评论 -
程序员的自我修养——第十章——内存
注:这一章的内容比较经典,之前看“深入理解计算机系统”的时候,也有看到栈帧(Stack Frame),但是不是很清楚,通过这一章的讲解,更清楚了。如果能再结合讲讲GDB调试的话就更完美了。 栈:栈用于维护函数调用的上下文,离开了站函数调用就没法实现。堆:堆是用来容纳应用程序动态分配的内存区域,当程序使用malloc或new分配内存时,得到的内存来自堆里。 L转载 2013-10-07 13:05:33 · 660 阅读 · 0 评论 -
《链接、装载与库》里的一个错误:关于调用栈
周六老同学聚会,出门前随手从桌上抓起了《程序员的自我修养——链接、装载与库》在路上翻。自从武汉博文出版社的周筠老师送给我这本书后,我基本上还没怎么看过。对这本书第一感觉是“标题党”,主标题起大了,虽然经过解释之后并非无法理解,但还是不太喜欢。但书还是好书,已经看完大半,而且基本上会在近期找个方式推荐一把。不过现在我想细说的并不是推荐相关话题(如适合谁看,该怎么看,结合什么一起看等等),而是想指出书转载 2013-10-07 12:58:51 · 548 阅读 · 0 评论 -
linux下出现段错误怎么排错
之前调试程序出现“segmentation fault”,即为常见的段错误。查了些资料,做个总结吧。产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其是常见的访问0地址。在编程中以下几类做法容易导致段错误,基本是错误的使用指针引起的:1)访问系统数据区,尤其是往系统保护的内存地址写数据;最常见就是给一个指针为0的地址转载 2013-10-13 10:09:46 · 553 阅读 · 0 评论 -
Program received signal SIGSEGV, Segmentation fault.
GDB调试的时候出现了: Program received signal SIGSEGV, Segmentation fault.(程序收到信号SIGSEGV,分段故障) SIGSEGV:在POSIX兼容的平台上,SIGSEGV是当一个进程执行了一个无效的内存引用,或发生段错误时发送给它的信号。SIGSEGV的符号常量在头文件signal.h中定义。因为在不同平台上,信号数字可能转载 2013-10-13 10:10:38 · 1566 阅读 · 0 评论