Unix环境编程:第四章 - 文件与目录权限
版权申诉
27 浏览量
更新于2024-07-03
收藏 715KB PPTX 举报
"Unix环境编程第四章主要涵盖了文件和目录的相关知识,包括文件stat结构、文件类型、新文件和目录的所有权、文件访问权限、屏蔽位umask以及粘着位等核心概念。"
在Unix系统中,文件stat结构是用于获取文件属性的重要工具。它包含诸如文件类型、权限、时间戳等信息。`stat`和`lstat`函数用于获取这些信息,成功调用后返回0,失败则返回-1。文件类型包括普通文件、目录、符号链接等。
新文件和目录的所有权默认由创建它们的进程的有效用户ID和有效组ID决定。新文件的用户ID通常是进程的有效用户ID,而组ID可能是进程的有效组ID或者,如果目录设置了“设置组ID位”,则为目录的组ID。`chown`函数允许更改文件所有权,但通常只有超级用户有此权限。非超级用户可以更改自己所有文件的组ID,但只能更改为自己所属的组。
文件访问权限是通过`chmod`函数来改变的,这需要进程有效用户ID等于文件所有者ID或拥有超级用户权限。权限位包括读、写和执行,只有当相应的访问权限位为1时,进程才能进行相应的操作。例如,进程需具备读权限才能打开文件读取。
`umask`函数定义了一个文件模式创建屏蔽位,它影响新建文件或目录的权限。当创建新文件时,umask中的1位会使文件mode中的对应位关闭,从而限制了默认的文件访问权限。
粘着位(sticky bit)最初是为了优化程序执行效率设计的,现在在目录中更常用。当一个目录的粘着位被设置,只有文件所有者、目录所有者或超级用户可以删除该目录中的文件,即使其他用户有写入目录的权限,也不能随意删除不属于自己的文件。这在多用户环境中的共享目录,如tmp目录中特别有用,防止了用户误删他人的文件。
以上内容详尽地阐述了Unix环境中与文件和目录相关的编程知识点,包括文件属性的获取、所有权设定、权限控制以及特殊权限位的使用,这些都是Unix/Linux系统编程中的基础且重要的部分。
2011-10-19 上传
2007-11-22 上传
120 浏览量
2022-11-15 上传
2021-12-30 上传
2022-06-02 上传
2021-10-06 上传
2021-10-05 上传

qq_53178901
- 粉丝: 1
最新资源
- 《ASP.NET 4.5 高级编程第8版》深度解读与教程
- 探究MSCOMM控件在单文档中的兼容性问题
- 数值计算方法在复合材料影响分析中的应用
- Elm插件支持Snowpack项目:热模块重载功能
- C++实现跨平台静态网页服务器
- C#开发的ProgaWeatherHW气象信息处理软件
- Memory Analyzer工具:深入分析内存溢出问题
- C#实现文件批量递归修改后缀名工具
- Matlab模拟退火实现经济调度问题解决方案
- Qetch工具:无比例画布绘制时间序列数据查询
- 数据分析技术与应用:Dataanalys-master深入解析
- HyperV高级管理与优化使用手册
- MTK6513/6575智能机主板下载平台
- GooUploader:基于SpringMVC和Servlet的批量上传解决方案
- 掌握log4j.jar包的使用与授权指南
- 基础电脑维修知识全解析