簡體   English   中英

Windows上的ANSI C文件權限?

[英]ANSI C File Permissions on Windows?

我正在使用CGYWIN gcc(4.8.2),並且正在做一個非常基本的文件打開和寫入操作,但是生成的文件具有使Windows無法訪問的權限。 我不明白為什么,該如何解決?

// a bunch of curl stuff (CURLOPT_WRITEFUNCTION is write_data)
file = fopen(filename, "wb");
static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
    size_t written = fwrite(ptr, size, nmemb, (FILE *)stream);
    return written;
}

根據CGYWIN終端生成的文件是-rw-r--r--但最終寫入的文件需要可執行權限,而且我不明白為什么Windows上的默認文件沒有可執行權限?

Windows的權限與Linux的權限有很大不同,它使用ACL模型,該模型允許訪問控制比Linux復雜得多,並且幾乎不能將其轉換為此simpleton rwxrwxrwx標志集。 但是具有諷刺意味的是,Windows的ACL並未在“讀取權限”和“執行權限”之間進行區分,這是同一回事。 也許Cygwin有它自己的表示方式,但是我不認為這是問題所在。 如果要寫入文件,則只需要寫入權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM