[英]How to manage file or folder permissions between two user accounts on Linux
有兩個用戶:用戶jenkins
和用戶nginx
(實際上都是服務帳戶)。
首先,用戶jenkins
在/usr/share/nginx/html
文件夾中創建目錄frontend
。 然后它會下載一些html
文件並將它們保存在此文件夾中。
然后用戶nginx
嘗試打開 html 文件之一並收到Permission denied
錯誤。
為了解決這個問題,我首先檢查了用戶所屬的組: groups jenkins
並返回: jenkins: jenkins
然后我檢查了用戶nginx
分配到哪個組。 它是nginx: nginx
我檢查了創建為/usr/share/nginx/html/frontend
的frontend
文件夾jenkins
的權限,它被自動分配給用戶jenkins
和組jenkins
。 通過使用chown
命令更改此文件夾的權限,我發現為了讓nginx
用戶能夠讀取這些文件,文件夾需要設置為nginx:nginx
所有權。
我還嘗試創建一個新的組workers
,然后將jenkins
和nginx
用戶分配給它
sudo groupadd workers
sudo usermod -aG workers jenkins
sudo usermod -aG workers nginx
但不幸的是,這並沒有解決問題。 jenkins
用戶不斷創建與之前jenkins:jenkins
具有相同所有權的文件夾。
有沒有辦法讓兩個用戶都擁有對其中一個用戶創建的文件夾的完全訪問權限? 我應該怎么辦?
以下是一些附加信息。 frontend
文件夾由jenkins
用戶在/usr/share/nginx/html/
中創建。 以下是一些細節:
sudo namei -om /usr/share/nginx/html/
f: /usr/share/nginx/html/
dr-xr-xr-x root root /
drwxr-xr-x root root usr
drwxr-xr-x root root share
drwxr-xr-x nginx jenkins nginx
drwxrwxrwx nginx nginx html
然后,在創建frontend
文件夾后,我運行
sudo namei -om /usr/share/nginx/html/
檢查它的所有權,它是:
f: /usr/share/nginx/html/frontend
dr-xr-xr-x root root /
drwxr-xr-x root root usr
drwxr-xr-x root root share
drwxr-xr-x nginx jenkins nginx
drwxrwxrwx nginx nginx html
drwxr-xr-x jenkins jenkins frontend
以下是使一個用戶創建的單個文件夾可供另一個用戶訪問所需的步驟的細分。
sudo groupadd newgroup
sudo usermod -aG jenkins
sudo usermod -aG nginx
jenkins
user creates a folder with the default jenkins:jenkins
ownership, make jenkins
user change the folder's ownership setting it with jenkins:newgroup
(note that jenkins
won't be able to set the folder's group ownership to newgroup
unless it is a新組newgroup
):chown -R jenkins:newgroup /path/to/folder/created/by/jenkins/
jenkin
用戶為所有者user
( jenkins
) 和所有者group
( newgroup
) 分配read-write
權限:chmod -R 775 /path/to/folder/created/by/jenkins/
您可以在創建目錄后嘗試使用“chgrp”命令嗎?
chgrp 組名 目錄名
之后,執行 chmod 以允許完全訪問該組。
chmod 775 目錄名
這將允許兩者訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.