CS110 Lecture1 Introduce to Unix FileSystem

  1. 查看Unix系统umask值:
    umask:权限掩码,在文件创建时候,指定了创建者,组,公共所不能具有的权限,且创建文件时,均无执行权限,创建文件夹时,有执行权限。
    eg:当前系统的umask为0002(第一个0表示八进制),则表示,创建的文件的权限为rw-rw-r--
    -rw-rw-r-- 1 guoqiang guoqiang 239 9月 29 23:51 show_umask.cpp
    修改当前umask为022,则创建的文件权限为rw-r--r--

  2. 使用系统调用查看umask的值
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>

int main() {
    mode_t old_mask = umask(0); // 调用umask()系统调用方法,返回的是old umask的值
    umask(old_mask);
    printf("umask is set to %03o\n", old_mask);
    return 0;
}
  1. 重写umask以自行设置文件的权限(而非使用umask自动设置)

猜你喜欢

转载自www.cnblogs.com/isguoqiang/p/11617076.html