Re: Question regarding to gluster and vfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Thu, Aug 17, 2017 at 1:21 PM, Raghavendra Talur <rtalur@xxxxxxxxxx> wrote:
On Wed, Aug 16, 2017 at 5:52 PM, Ilan Schwarts <ilan84@xxxxxxxxx> wrote:
> Hi,
> So this is a bit odd case.
> I have created 2 servers nodes (running CentOS 7.3)
> From Client machine (CentOS 7.2) I mount to one of the nodes (nfs) using:
> [root@CentOS7286-64 mnt]#  mount -t nfs
> L137B-GlusterFS-Node1.L137B-root.com:/volume1 /mnt/glustervianfs/
>
> When i created (touch) a file over the NFS:
> From Client Machine:
> [revivo@CentOS7286-64 glustervianfs]$ touch nfs3file
> [revivo@CentOS7286-64 glustervianfs]$ id revivo
> uid=2021(revivo) gid=2020(maccabi) groups=2020(maccabi),10(wheel)
>
> On Server machine:
> I monitor the file operations at VFS kernel level.
> I receive 1 event of file create, and 2 events of set attribute changes.
> What I see is that root creates the file (uid/gid of 0)
> And then root (also) use chown and chgrp to set security (attribute)
> of the new file.
>
> When i go to the glutser volume itself and ls -la,i do see the
> *correct* (2021 - revivo /2020 - revivo) uid/gid:
> [root@L137B-GlusterFS-Node1 volume1]# ls -lia
> total 24
> 11 drwxrwxrwx.  3 revivo maccabi 4096 Aug 10 12:13 .
>  2 drwxr-xr-x.  3 root   root    4096 Aug  9 14:32 ..
> 12 drw-------. 16 root   root    4096 Aug 10 12:13 .glusterfs
> 31 -rw-r--r--.  2 revivo maccabi    0 Aug 10 12:13 nfs3file
>
> Why on the VFS layer i get uid/gid - 0/0

As you have pointed out above, the file is created with 0:0
owner:group but subsequent operations change owner and group using
chown and chgrp. This is because the glusterfsd(brick daemon) process
always runs as root. I don't know the exact reason why setfsuid and
setfsgid are not used although the code exist.

Amar/Pranith/Raghavendra/Vijay,

Do you know why HAVE_SET_FSID is undefined in line
https://github.com/gluster/glusterfs/blob/master/xlators/storage/posix/src/posix.c#L65


Its been ~10 years since its disabled in codebase, and I don't recollect why completely right now.

By checking the patch [1] which got this change, I couldn't make out much: Probably something to do with Solaris support IMO.

[1] - https://github.com/gluster/historic/commit/3176ddf99f701412bd799cc730afd598c2a13e39

May be time to run a test by removing that line as we are friendly with only Linux/BSD right now.

Regards,
Amar

 
Thanks,
Raghavendra Talur



--
Amar Tumballi (amarts)
_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://lists.gluster.org/mailman/listinfo/gluster-devel

[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux