[英]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.