access(判断是否具有存取文件的权限)
相关函数
 stat,open,chmod,chown,setuid,setgid
表头文件
 #include<unistd.h>
定义函数
 int access(const char * pathname,int mode);
函数说明
 access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组合, R_OK,W_OK,X_OK 和F_OK。R_OK,W_OK与X_OK用来检查文件是否具有读取、写入和执行的权限。F_OK则是用来判断该文件是否存在。由于access()只作权限的核查,并不理会文件形态或文件内容,因此,如果一目录表示为“可写入”,表示可以在该目录中建立新文件等操作,而非意味此目录可以被当做文件处理。例如,你会发现DOS的文件都具有“可执行”权限,但用execve()执行时则会失败。
返回值
 若所有欲查核的权限都通过了检查则返回0值,表示成功,只要有一权限被禁止则返回-1。
错误代码
 EACCESS 参数pathname 所指定的文件不符合所要求测试的权限。
EROFS 欲测试写入权限的文件存在于只读文件系统内。
EFAULT 参数pathname指针超出可存取内存空间。
EINVAL 参数mode 不正确。
ENAMETOOLONG 参数pathname太长。
ENOTDIR 参数pathname为一目录。
ENOMEM 核心内存不足
ELOOP 参数pathname有过多符号连接问题。
EIO I/O 存取错误。
附加说明
 使用access()作用户认证方面的判断要特别小心,例如在access()后再做open()的空文件可能会造成系统安全上的问题。
范例
 /* 判断是否允许读取/etc/passwd */
#include<unistd.h>
int main()
{
if (access(“/etc/passwd”,R_OK) = =0)
printf(“/etc/passwd can be read/n”);
}
执行
 /etc/passwd can be read
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/vc/vc_js/20090327/163611.html

转载于:https://www.cnblogs.com/armlinux/archive/2011/02/23/2396843.html

linux access函数判断文件存取权限相关推荐

  1. Linux access()函数 使用 http://blog.163.com/lqy_super/blog/static/199751021201302351831330/

    Linux access()函数 使用 2013-01-23 17:18:31|  分类: Linux相关|举报|字号 订阅 下载LOFTER客户端 Linux access函数功能描述: 检查调用进 ...

  2. linux下的access()函数判断文件是否存在、打印时间

    一.access函数 功能描述: 检查调用进程是否可以对指定的文件执行某种操作. 用法: #include <unistd.h> #include <fcntl.h> int ...

  3. linux access函数检测文件属性

    在linux环境下使用access函数可以获取文件的属性信息(是否存在,是否可读,是否可写,是否可执行). 1. 相关头文件 #include <unistd.h> 2.access 函数 ...

  4. Linux access函数讲解

    函数: #include<unistd.h> int access(const char* pathname, int mode); 参数介绍: pathname 是文件的路径名+文件名 ...

  5. linux access函数_构建一个即时消息应用(九):Conversation 页面 | Linux 中国

    导读:在这篇文章中,我们将对对话页面进行编码. 本文字数:5504,阅读时长大约:6分钟https://linux.cn/article-12723-1.html作者:Nicolás Parada译者 ...

  6. linux access()函数

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/tigerjb/article/deta ...

  7. linux access

    由于Linux Access函数只作权限的核查,并不理会文件形态或文件内容,因此,如果一目录表示为"可写入",表示可以在该目录中建立新文件等操作,而非意味此目录可以被当做文件处理. ...

  8. 【Linux C】access 函数讲解

    Linux access函数讲解_0729Liang-CSDN博客_access函数 函数: #include<unistd.h> int access(const char* pathn ...

  9. access函数确认文件或文件夹的访问权限

    头文件:io.h 功 能: 确定文件或文件夹的访问权限.即,检查某个文件的存取方式,比如说是只读方式.只写方式等.如果指定的存取方式有效,则函数返回0,否则函数返回-1. 用 法: int acces ...

最新文章

  1. uni-app h5页面左上角出现“取消“字眼解决办法
  2. 阿里云 物联网产品架构
  3. 机器人总动员拟人后_WALL·E 机器人总动员——又是一部让名字耽误的高分电影...
  4. 分块试水--CODEVS4927 线段树练习5
  5. input标签中使输入文本向右偏移像素解决方案(亲测有效)
  6. python json转换与处理
  7. ideal pom文件安装到maven库中_不装 maven 直接使用 IntelliJ 的插件来把本地 jar 包加入到 maven 仓库...
  8. java加密不可逆,32位不可逆加密算法Java实现
  9. js基础-12-判断数组和判断对象的方法
  10. 实用常识 | 写论文时如何引用插入脚注 / 如何自定义脚注符号 / 如何将多个脚注合并在一起
  11. 计算机领域经典书籍推荐
  12. Springboot 发邮件端口问题
  13. 网易互娱 实习生招聘 内推
  14. C++实现STL文件向glTF文件的转换
  15. 小数化分数的口诀表_循环小数化分数口诀
  16. 一小时前华为鸿蒙操作系统放出了源代码
  17. 多维数组(2019.10.25)
  18. 博弈论在自动驾驶方向的应用(Ⅲ)
  19. JAVA开发环境配置指南
  20. 联想服务器接显示器一直黑屏,终于发现联想液晶显示器闪烁一下后黑屏是什么原因...

热门文章

  1. 2022-2028年中国输配电设备全产业链投资分析及前景预测报告
  2. 如何kill同一个应用的所有进程
  3. dataframe sample 采样,抽样
  4. paddle一体安装
  5. Attention is all your need 谷歌的超强特征提取网络——Transformer
  6. 万事开头难!最新MyBatis程序配置教程(IDEA版)
  7. VsCode允许JSON文件注释
  8. Are you missing a call to unregisterReceiver()?
  9. The form contains the following errors
  10. Android studio 文件包名连在一起的处理方法