文件的权限
测试文件的权限:
int access(const char *pathname, int mode); 功能:测试当前用户对该文件的权限 pathname:要测试的文件路径 mode: R_OK 读权限 W_OK 写权限 X_OK 执行权限 F_OK 测试文件是否存在 返回值:存在权限返回0 否则返回-1
修改文件权限:
int chmod(const char *pathname, mode_t mode); int fchmod(int fd, mode_t mode); 功能:修改文件的权限为mode,mode可以使用提供的宏,或者直接使用一个八进制数表示三组权限 注意:权限都可以修改
文件的权限屏蔽码:
-
当使用open\creat 创建文件时,无论给什么权限创建都会成功,但是系统中记录有一个权限屏蔽码会对用户创建的文件的权限进行过滤屏蔽,最终创建出来的文件权限要除去文件屏蔽码
// 可以通过命令 umask 查看当前用户的权限屏蔽码 // 可以通过命令 umask 0xxx 修改当前终端这一次的权限屏蔽码为0xxx mode_t umask(mode_t mask); 功能:给当前进程设置权限屏蔽码 mask:新的屏蔽码 返回值:旧的屏蔽码 注意:只对当前进程有效 注意:屏蔽码只影响open、creat ,对于chmod、fchmod 不受影响标签:文件,OK,操作系统,int,屏蔽,mode,权限 From: https://blog.csdn.net/zzt_is_me/article/details/140999002