荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzt (我命由我不由天), 信区: Hacker
标  题: UNIX系统程序安全性(1)
发信站: BBS 荔园晨风站 (Fri May 28 23:45:03 1999), 转信


发信人: Fire (无极), 信区: hacker
标  题: UNIX系统程序安全性(1)
发信站: 网日情怀 (Tue Sep 23 16:05:10 1997) , 站内信件

    UNIX系统为程序员提供了许多子程序,这些子程序可存取各种安全属性.有
些是信息子程序,返回文件属性,实际的和有效的UID,GID等信息.有些子程序可
改变文件属性.UID,GID等有些处理口令文件和小组文件,还有些完成加密和解密.
    本文主要讨论有关系统子程序,标准C库子程序的安全,如何写安全的C程序
并从root的角度介绍程序设计(仅能被root调用的子程序).

1.系统子程序

  (1)I/O子程序
    *creat():建立一个新文件或重写一个暂存文件.
             需要两个参数:文件名和存取许可值(8进制方式).如:
     creat("/usr/pat/read_write",0666)  /* 建立存取许可方式为0666的文件 */
     调用此子程序的进程必须要有建立的文件的所在目录的写和执行许可,置
     给creat()的许可方式变量将被umask()设置的文件建立屏蔽值所修改,新
     文件的所有者和小组由有效的UID和GID决定.
     返回值为新建文件的文件描述符.
    *fstat():见后面的stat().
    *open():在C程序内部打开文件.
            需要两个参数:文件路径名和打开方式(I,O,I&O).
     如果调用此子程序的进程没有对于要打开的文件的正确存取许可(包括文
     件路径上所有目录分量的搜索许可),将会引起执行失败.
     如果此子程序被调用去打开不存在的文件,除非设置了O_CREAT标志,调用
     将不成功.此时,新文件的存取许可作为第三个参数(可被用户的umask修
   改).
     当文件被进程打开后再改变该文件或该文件所在目录的存取许可,不影响
     对该文件的I/O操作.
    *read():从已由open()打开并用作输入的文件中读信息.
     它并不关心该文件的存取许可.一旦文件作为输入打开,即可从该文件中读
     取信息.
    *write():输出信息到已由open()打开并用作输出的文件中.同read()一样
     它也不关心该文件的存取许可.

--
-----------------------------------
        大道1m无极7;40m0m?
                 苦海无涯
----------------------------------

m;33m※ 来源: 网日情怀 bbs.mm.gnet.cn [FROM: mm1.mm.gnet.cn]m
--
m;32m※ 转寄:.网日情怀 bbs.maoming.gd.cn.[FROM: bbs.hz.gnet.gd.c]m


--



日出东方,唯我不败;
    天上地下,唯我独尊。

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.143]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店