簡體   English   中英

如何在Ubuntu中自動設置future / new文件的權限?

[英]How to automatically set permissions of future/new files in Ubuntu?

目前,我做sudo chown -R ubuntu:ubuntu /home/ubuntu/<folder>

但是,當我運行一個Python腳本創建一個名為testoutput的文件夾testoutput其寫入文件時,該文件夾是使用root權限創建的,因此在將文件寫入文件夾時會獲得permission denied錯誤。

如何確保在進行chown時,即使是該范圍內的新文件也能獲得相同的權限? 有沒有辦法確保在Ubuntu中?

新文件夾i的權限:

drwxr-xr-x 2 root   root

而現有文件夾的權限是:

drwxrwxr-x 2 ubuntu ubuntu

在幾乎所有操作系統中,新文件的所有者由創建文件的用戶上下文確定。 也就是說,你最有可能以root身份運行repsective python腳本。 如果你之后以遞歸方式chown基本目錄testoutput - 當然是root - 你應該沒問題。 如果您不希望root成為初始所有者,請考慮不首先以root身份運行相應的腳本,而是將其作為所需的所有者。 或者看看ACL

這由umask設置控制,默認設置在此處

root@brad:~# grep ^UMASK /etc/login.defs
UMASK           022
root@brad:~#

(雖然用於遠程登錄等的pam和其他服務有pp覆蓋)。

有了這個,我們有:

root@brad:~# umask                 # four digits because of suid bit
0022
root@brad:~# mkdir tempDir1
root@brad:~# ls -ld tempDir1
drwxr-xr-x 2 root root 4096 Aug 17 07:22 tempDir1
root@brad:~# umask 002
root@brad:~# umask
0002
root@brad:~# mkdir tempDir2
root@brad:~# ls -ld tempDir?
drwxr-xr-x 2 root root 4096 Aug 17 07:22 tempDir1
drwxrwxr-x 2 root root 4096 Aug 17 07:22 tempDir2
root@brad:~#

並且您看到如何將中間數字從022更改為002使得組權限可寫。

暫無
暫無

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

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