簡體   English   中英

如何刪除另一個用戶使用 C 創建的文件?

[英]how can I delete a file created by another user using C?

我有兩個 C 代碼,第一個代碼稱為“Producer”,我在用戶“A”中運行它,代碼創建一個文件。 名為“Consumer”的第二個代碼在用戶“B”中運行,該代碼讀取“Producer”創建的文件,讀取結束后需要刪除該文件。 用戶“A”和“B”都在“ABshare”組中。 該文件由具有權限 0660 的“生產者”創建。

當我在用戶“A”中運行 de“Producer”代碼時,文件被完美地創建,當我在用戶“B”中運行“Consumer”時我可以讀取此文件,但問題是我無法刪除該文件。 要刪除文件,我嘗試使用函數“remove ()” http://man7.org/linux/man-pages/man3/remove.3.html

當我在用戶“A”或用戶“B”中運行“Producer”和“Consumer”時,“Producer”生成文件,“Consumer”可以讀取和刪除該文件。

為什么我在不同用戶中運行“生產者”和“消費者”時無法刪除文件? 在使用“消費者”代碼刪除他之前,我嘗試將文件自己的“A”修改為“B”,為此我使用以下代碼:更改 c 中的所有者和組,但我只能更改文件組而不是自己的。

閱讀有關 chown 功能的手冊頁: http : //man7.org/linux/man-pages/man3/chown.3p.html我發現以下信息:“更改用戶 ID 僅限於具有適當權限的進程。”

當“消費者”在“B”中運行時,如何為“消費者”代碼提供“適當的權限”以更改用戶 A 中的“生產者”創建的文件的自身? 或者,當“生產者”和“消費者”在不同用戶中運行時,如何刪除“生產者”創建的文件?

拜托,有人可以幫助我嗎?

謝謝!!!

就像wildplasser 所說的那樣,我所需要的只是為文件所在的目錄提供正確的權限。 就我而言,目錄的新權限是 0777。

暫無
暫無

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

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