linux下access函数的用法介绍
Linux内核总是根据进程的有效用户ID和有效组ID来决定一个进程是否有权访问某个文件。因此,在编写调整用户ID的程序时,在读写一个文件之前必须明确检查其用户是否原本就有对此文件的访问权限。为了实现这种确认,需要使用access函数。
一般形式为;
#include<unistd.h>
int access(const char *pathname,int mode);
其中,pathname是希望检验的文件名(包含路径),mode是欲检查的访问权限,如下所示
R_OK 检验调用进程是否有读访问权限
W_OK 检验调用进程是否有写访问权限
X_OK 检验调用进程是否有执行访问权限
F_OK 检验规定的文件是否存在
access检查用户对一个文件的权限情况,根据mode的值检查调用进程对文件pathname是否具有读、写、或执行的权限。若进程实际用户具有mode所指出的权限,access返回0.否则返回-1.
例如:
access("test",06);
access("test",F_OK);
分别用来检查实际用户对test文件是否具有读写权限和test文件是否存在。
相关推荐
-
linux下system函数的简单分析
简单分析了linux下system函数的相关内容,具体内容如下 int __libc_system (const char *line) { if (line == NULL) /* Check that we have a command processor available. It might not be available after a chroot(), for example. */ return do_system ("exit 0") == 0; return do
-
linux shell自定义函数(定义、返回值、变量作用域)介绍
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2.参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. retu
-
linux下C语言中的mkdir函数与rmdir函数
mkdir函数用于创建目录.格式如下:#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>int mkdir(const char *pathname,mode_t mode); 其中参数pathname是新创建目录的目录名,mode指定该目录的访问权限,这些位将受到文件创建方式屏蔽(umask)的修正. 该函数创建一个名为pathname的空目录,此目录自动含有"."和".
-
解析linux 文件和目录操作的相关函数
struct stat{mode_t st_mode; 文件类型,文件权限ino_t st_ino; i节点号dev_t st_dev; dev_t st_rdev; 设备文件序号nlink_t st_nlink; 链接uid_t st_uid;gid_t st_gid; 用户IDoff_t st_size; 文件大小,此字段只对普通文件.目录文件和符号连接有意义.time_t
-
PHP执行linux系统命令的常用函数使用说明
system函数 说明:执行外部程序并显示输出资料. 语法:string system(string command, int [return_var]); 返回值: 字符串 详细介绍: 本函数就像是 C 语中的函数 system(),用来执行指令,并输出结果.若是 return_var 参数存在,则执行 command 之后的状态会填入 return_var 中.同样值得注意的是若需要处理用户输入的资料,而又要防止用户耍花招破解系统,则可以使用 EscapeShellCmd().若 PHP 以
-
linux中常用脚本和函数分享
#查找当前目录中是否存在指定目录,若不存在,则创建之 复制代码 代码如下: function mkdir_1{ if test ! -d $1 then mkdir $1 fi} #指定文件中的"prefix = .*"串替换为"prefix=/home/gnome-unicore-install2/usr/" #可以用来作为sed用法的参考 复制代码 代码如下: function modify_prefix { chmod +w $1
-
Linux里awk中split函数的用法小结
The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep. set time = 12:34:56set hr = `echo $time | awk '{split($0,a,":" ); print a[1]}'` # = 12set sec = `echo $time | awk '{split($0,a,":" ); print
-
解析Linux下的时间函数:设置以及获取时间的方法
一.时间函数 复制代码 代码如下: time_t time(time_t *t);char *asctime(const struct tm *tm);char *asctime_r(const struct tm *tm, char *buf);char *ctime(const time_t *timep);char *ctime_r(const time_t *timep, char *buf);struct tm *gmtime(const time_t *timep); //获取的为英
-
linux系统上支持php的 iconv()函数的方法
1.下载libiconv函数库http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz: 2.解压缩tar -zxvf libiconv-1.9.2.tar.gz; 3.安装libiconv 复制代码 代码如下: #configure --prefix=/usr/local/iconv #make #make install 4.重新编译php 增加编译参数--with-iconv=/usr/local/iconv windows下 最近
-
Linux Shell脚本系列教程(四):使用函数添加环境变量
一.简介 环境变量通常用于存储路径列表,这些路径用于搜索可执行文件.库文件等.例如:$PATH.$LD_LIBRARY_PATH,它们通常看起来像这样: 复制代码 代码如下: PATH=/usr/bin;bin LD_LIBRARY_PATH=/usr/lib;lib 这意味着只要shell需要运行二进制可执行文件时,它会首先查找/usr/bin,然后查找/bin.在ubuntu14.04中,PATH和LD_LIBRARY_PATH存储的路径如下所示: 复制代码 代码如下: PATH=/usr/
随机推荐
- extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
- Windows下React Native的Android环境部署及布局示例
- JSQL 一个 web DB 的封装
- JS JSOP跨域请求实例详解
- PHP教程 预定义变量
- C#数据结构与算法揭秘五 栈和队列
- Android滑动到顶部和底部时出现的阴影如何去掉
- Android多个TAB选项卡切换效果
- php利用iframe实现无刷新文件上传功能的代码
- 在Python的Django框架中编写错误提示页面
- JavaScript实现带有子菜单和控件的slider轮播图效果
- 看图理解 普通交互方式和Ajax交互方式区别
- 页面自动刷新,不用按回车键来提交数据!
- 将mater库中的系统存储过程批量生成*.sql文件 通用且非常实用
- 10分钟带你理解Java中的弱引用
- java简单列出文件夹下所有文件的方法
- Java使用excel工具类导出对象功能示例
- 高效实现整型数字转字符串int2str的方法
- PHP中其实也可以用方法链
- C#窗体布局方式详解