dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>操作系统>unix>文章内容
UNIX系统编程常用库函数说明(上)
来源:黑客基地 作者:佚名
(3)文件属性
  *access():检测指定文件的存取能力是否符合指定的存取类型。
  需要两个参数:文件名和要检测的存取类型(整数)。

  存取类型定义如下:
  0: 检查文件是否存在
  1: 检查是否可执行(搜索)
  2: 检查是否可写
  3: 检查是否可写和执行
  4: 检查是否可读
  5: 检查是否可读和执行
  6: 检查是否可读可写可执行
  这些数字的意义和chmod命令中规定许可方式的数字意义相同。

  此子程序使用实际的UID和GID检测文件的存取能力(一般有效的UID和GID用于检查文件存取能力)。
  返回值: 0:许可 -1:不许可。

  *chmod():将指定文件或目录的存取许可方式改成新的许可方式。
  需要两个参数:文件名和新的存取许可方式。
  *chown():同时改变指定文件的所有者和小组的UID和GID。(与chown命令不同)。
  由于此子程序同时改变文件的所有者和小组,故必须取消所操作文件的SUID
  和SGID许可,以防止用户建立SUID和SGID程序,然后运行chown()去获得别人的权限。
  *stat():返回文件的状态(属性)。

  需要两个参数:文件路径名和一个结构指针,指向状态信息的存放的位置。

  结构定义如下:
  st_mode: 文件类型和存取许可方式
  st_ino: I节点号
  st_dev: 文件所在设备的ID
  st_rdev: 特别文件的ID
  st_nlink: 文件链接数
  st_uid: 文件所有者的UID
  st_gid: 文件小组的GID
  st_size: 按字节计数的文件大小
  st_atime: 最后存取时间(读)
  st_mtime: 最后修改时间(写)和最后状态的改变
  st_ctime: 最后的状态修改时间
  返回值: 0:成功 1:失败

  *umask():将调用进程及其子进程的文件建立屏蔽值设置为指定的存取许可。
  需要一个参数: 新的文件建立屏值。

  (4)UID和GID的处理

  *getuid():返回进程的实际UID。
  *getgid():返回进程的实际GID。
  以上两个子程序可用于确定是谁在运行进程。
  *geteuid():返回进程的有效UID。
  *getegid():返回进程的有效GID。
  以上两个子程序可在一个程序不得不确定它是否在运行某用户而不是运行
  它的用户的SUID程序时很有用,可调用它们来检查确认本程序的确是以该用户的SUID许可在运行。
  *setuid():用于改变有效的UID。
  对于一般用户,此子程序仅对要在有效和实际的UID之间变换的SUID程序才有用(从原有效UID变换为实际UID),以保护进程不受到安全危害。实际上该进程不再是SUID方式运行。
  *setgid():用于改变有效的GID。

共3页: 上一页 [1] 2 [3] 下一页
上一篇:Unix发展趋势分析:向开放架构迁移   下一篇:UNIX系统编程常用库函数说明(下)
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·GDB教程
·Linux与Unix二大操作系统编程的
·UNIX的Shell命令使用详解
·Unix发展趋势分析:向开放架构迁
·UNIX系统编程常用库函数说明(下
·Cygwin使用指南
·UNIX的分支 服务器上的FreeBSD操
  相关文章
·Unix发展趋势分析:向开放架构迁
·UNIX系统编程常用库函数说明(下
·UNIX的Shell命令使用详解
·Linux与Unix二大操作系统编程的
·GDB教程
·Cygwin使用指南
·UNIX的分支 服务器上的FreeBSD操
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763