簡體   English   中英

如何在 Linux 上管理兩個用戶帳戶之間的文件或文件夾權限

[英]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/frontendfrontend文件夾jenkins的權限,它被自動分配給用戶jenkins和組jenkins 通過使用chown命令更改此文件夾的權限,我發現為了讓nginx用戶能夠讀取這些文件,文件夾需要設置為nginx:nginx所有權。

我還嘗試創建一個新的組workers ,然后將jenkinsnginx用戶分配給它

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

答:稍后編輯:

以下是使一個用戶創建的單個文件夾可供另一個用戶訪問所需的步驟的細分。

  1. 創建一個新用戶組並將兩個用戶分配給它:
sudo groupadd newgroup
sudo usermod -aG jenkins
sudo usermod -aG nginx
  1. Now, after 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/
  1. 通過運行以下命令讓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.

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