access and faccessat 按照实际用户Id和实际组ID进行文件权限测试
2015-09-14 14:51
507 查看
一、源代码:
<bldc:/home/tingbinz/apue.3e/SBSCODE/4>R*_*G:vim 4_8.c
1 #include "apue.h"
2 #include <fcntl.h>
3
4 int main(int argc, char *argv[])
5 {
6 if ( argc != 2 )
7 err_quit("Usage: access <pathname>");
8 if ( access(argv[1], R_OK) < 0 )
9 err_ret("access error");
10 else
11 printf("real user id has read permission of %s\n",argv[1]);
12 if ( open(argv[1],O_RDONLY) < 0 )
13 err_ret("open error");
14 else
15 printf("open file %s successfully\n", argv[1]);
16
17 exit(0);
18
19 }
20
~
二、运行结果:
<bldc:/home/tingbinz/apue.3e/SBSCODE/4>R*_*G:access error.c
real user id has read permission of error.c
open file error.c successfully
<bldc:/home/tingbinz/apue.3e/SBSCODE/4>R*_*G:access /etc/passwd
real user id has read permission of /etc/passwd
open file /etc/passwd successfully
<bldc:/home/tingbinz/apue.3e/SBSCODE/4>R*_*G:access /etc/shadow
access error: Permission denied
open error: Permission denied
<bldc:/home/tingbinz/apue.3e/SBSCODE/4>R*_*G:
<bldc:/home/tingbinz/apue.3e/SBSCODE/4>R*_*G:vim 4_8.c
1 #include "apue.h"
2 #include <fcntl.h>
3
4 int main(int argc, char *argv[])
5 {
6 if ( argc != 2 )
7 err_quit("Usage: access <pathname>");
8 if ( access(argv[1], R_OK) < 0 )
9 err_ret("access error");
10 else
11 printf("real user id has read permission of %s\n",argv[1]);
12 if ( open(argv[1],O_RDONLY) < 0 )
13 err_ret("open error");
14 else
15 printf("open file %s successfully\n", argv[1]);
16
17 exit(0);
18
19 }
20
~
二、运行结果:
<bldc:/home/tingbinz/apue.3e/SBSCODE/4>R*_*G:access error.c
real user id has read permission of error.c
open file error.c successfully
<bldc:/home/tingbinz/apue.3e/SBSCODE/4>R*_*G:access /etc/passwd
real user id has read permission of /etc/passwd
open file /etc/passwd successfully
<bldc:/home/tingbinz/apue.3e/SBSCODE/4>R*_*G:access /etc/shadow
access error: Permission denied
open error: Permission denied
<bldc:/home/tingbinz/apue.3e/SBSCODE/4>R*_*G:
相关文章推荐
- Access 2000 数据库 80 万记录通用快速分页类
- 十万条Access数据表分页的两个解决方法
- VB6实现连接Access数据库的ADODB代码实现方法
- Access中字段上自动打开的输入法的解决方法
- Access to SQLserver 数据库生迁脚本编写器(DB_CreateSqlEV1.06下载)
- asp Access数据备份,还原,压缩类代码
- VB使用ADO操作Access数据库
- Access转成SQL数据库的方法
- 文本、Excel、Access数据导入SQL Server2000的方法
- Access 数据类型与 MS SQL 数据类型的相应
- ASP代码实现自动清除替换ACCESS(MDB)数据库的日文字符的
- 通过asp程序来创建access数据库
- Access转SqlServer的注意事项
- Access和SQL Server里面的SQL语句的不同之处
- ACCESS数据库修改自动编号的ID值为零的方法分享
- access 数据库自启动困难解决方法
- access的备注字段限制64K
- Access出现"所有记录中均未找到搜索关键字"的错误解决
- 中文Access2000速成教程--1.8 定义表之间的关系
- access不能打开注册表关键字错误处理方法(80004005错误)