linux access函数判断文件存取权限
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函数判断文件存取权限相关推荐
- Linux access()函数 使用 http://blog.163.com/lqy_super/blog/static/199751021201302351831330/
Linux access()函数 使用 2013-01-23 17:18:31| 分类: Linux相关|举报|字号 订阅 下载LOFTER客户端 Linux access函数功能描述: 检查调用进 ...
- linux下的access()函数判断文件是否存在、打印时间
一.access函数 功能描述: 检查调用进程是否可以对指定的文件执行某种操作. 用法: #include <unistd.h> #include <fcntl.h> int ...
- linux access函数检测文件属性
在linux环境下使用access函数可以获取文件的属性信息(是否存在,是否可读,是否可写,是否可执行). 1. 相关头文件 #include <unistd.h> 2.access 函数 ...
- Linux access函数讲解
函数: #include<unistd.h> int access(const char* pathname, int mode); 参数介绍: pathname 是文件的路径名+文件名 ...
- linux access函数_构建一个即时消息应用(九):Conversation 页面 | Linux 中国
导读:在这篇文章中,我们将对对话页面进行编码. 本文字数:5504,阅读时长大约:6分钟https://linux.cn/article-12723-1.html作者:Nicolás Parada译者 ...
- linux access()函数
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/tigerjb/article/deta ...
- linux access
由于Linux Access函数只作权限的核查,并不理会文件形态或文件内容,因此,如果一目录表示为"可写入",表示可以在该目录中建立新文件等操作,而非意味此目录可以被当做文件处理. ...
- 【Linux C】access 函数讲解
Linux access函数讲解_0729Liang-CSDN博客_access函数 函数: #include<unistd.h> int access(const char* pathn ...
- access函数确认文件或文件夹的访问权限
头文件:io.h 功 能: 确定文件或文件夹的访问权限.即,检查某个文件的存取方式,比如说是只读方式.只写方式等.如果指定的存取方式有效,则函数返回0,否则函数返回-1. 用 法: int acces ...
最新文章
- uni-app h5页面左上角出现“取消“字眼解决办法
- 阿里云 物联网产品架构
- 机器人总动员拟人后_WALL·E 机器人总动员——又是一部让名字耽误的高分电影...
- 分块试水--CODEVS4927 线段树练习5
- input标签中使输入文本向右偏移像素解决方案(亲测有效)
- python json转换与处理
- ideal pom文件安装到maven库中_不装 maven 直接使用 IntelliJ 的插件来把本地 jar 包加入到 maven 仓库...
- java加密不可逆,32位不可逆加密算法Java实现
- js基础-12-判断数组和判断对象的方法
- 实用常识 | 写论文时如何引用插入脚注 / 如何自定义脚注符号 / 如何将多个脚注合并在一起
- 计算机领域经典书籍推荐
- Springboot 发邮件端口问题
- 网易互娱 实习生招聘 内推
- C++实现STL文件向glTF文件的转换
- 小数化分数的口诀表_循环小数化分数口诀
- 一小时前华为鸿蒙操作系统放出了源代码
- 多维数组(2019.10.25)
- 博弈论在自动驾驶方向的应用(Ⅲ)
- JAVA开发环境配置指南
- 联想服务器接显示器一直黑屏,终于发现联想液晶显示器闪烁一下后黑屏是什么原因...
热门文章
- 2022-2028年中国输配电设备全产业链投资分析及前景预测报告
- 如何kill同一个应用的所有进程
- dataframe sample 采样,抽样
- paddle一体安装
- Attention is all your need 谷歌的超强特征提取网络——Transformer
- 万事开头难!最新MyBatis程序配置教程(IDEA版)
- VsCode允许JSON文件注释
- Are you missing a call to unregisterReceiver()?
- The form contains the following errors
- Android studio 文件包名连在一起的处理方法