setgid 被应用程序忽略

setgid 被应用程序忽略

我在 Oracle Linux Server 7.8 上运行 Weblogic 安装。 weblogic 中的应用程序会将一些文件作为输出写入本地目录。该应用程序使用 Oracle Weblogic FileAdapter。

使用 setgid 设置目录:

[wesley@wesley from]$ ls -la
total 52
drwxrwsrwx 2 wesley group1 45056 Sep 14 16:15 .
drwxrwxrwx 3 wesley group1 4096 Sep 11 14:45 ..

当应用程序写入目录时,您会遇到以下情况:

[wesley@wesley from]$ ls -la
total 816
drwxrwsrwx 2 wesley group1 45056 Sep 14 16:15 .
drwxrwxrwx 3 wesley group1 4096 Sep 11 14:45 ..
-rw-rw-r-- 1 oracle oinstall       57 Sep 14 15:05 20200914150523990.txt

因此 setgid 被忽略,文件获取写入文件的进程的用户组,而不是目录的组。

只需触摸那里的文件即可按预期工作,新文件将获得正确的组:

[wesley@wesley from]$ sudo su oracle
[oracle@wesley from]$ touch abc
[oracle@wesley from]$ ll
total 0
-rw-rw-r-- 1 oracle group1 0 Sep 15 11:15 abc

应用程序是否有可能忽略 setgid 或者我配置了错误?还有什么办法可以强行组队吗?

我的下一个想法是通过检查正在写入的目录组并以编程方式将文件 chown 到正确的组来创建一个“脏”解决方法。

更新:

输出文件夹位于 NFS 安装上。大概就是这个原因。如果我将输出更改为例如 /tmp/output,该文件确实会获得正确的组:

drwxrwsrwx    2 wesley    group1   4096 Sep 15 11:40 .
drwxrwxrwx. 245 root          root        16384 Sep 15 11:45 ..
-rw-rw----    1 oracle group1 824958 Sep 15 11:40 20200914150523990.txt

如果我们在安装配置或其他地方找到解决方案,我会更新。

更新2:

看来不是 NFS 问题。第一个失败的目录位于 /vip/uri/from 中,该目录链接到 NFS 上的目录。我现在在 /vip/aaa/bbb 下创建了一个目录,该目录仅在本地而不是在 NFS 上,它也有同样的问题。在其中创建的文件不会获取目录的组,而是获取写入文件的进程的用户的组。

工作目录和非工作目录的统计信息:

  File: ‘/tmp/output’                                                       
  Size: 4096            Blocks: 8          IO Block: 4096   directory       
Device: fc00h/64512d    Inode: 67747909    Links: 2                         
Access: (2777/drwxrwsrwx)  Uid: (54322/wesley)   Gid: (54323/group1)
Access: 2020-09-15 17:39:59.014193471 +0200                                 
Modify: 2020-09-15 17:39:55.226794047 +0200                                 
Change: 2020-09-15 17:39:55.226794047 +0200                                 
 Birth: -                                                                   

  File: ‘/vip/aaa/bbb/’
  Size: 4096            Blocks: 8          IO Block: 32768  directory
Device: 2fh/47d Inode: 25954       Links: 2
Access: (2777/drwxrwsrwx)  Uid: (54322/wesley)   Gid: (54323/group1)
Access: 2020-09-15 17:31:19.613972000 +0200
Modify: 2020-09-15 17:30:31.016081000 +0200
Change: 2020-09-15 17:30:31.016081000 +0200
 Birth: -

相关内容