Bug 1634057
Summary: | [FutureFeature] Nautilus should be able to display expanded permissions/ownership details if unix extensions are available | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Joe Wright <jwright> | ||||
Component: | samba | Assignee: | Andreas Schneider <asn> | ||||
Status: | CLOSED WONTFIX | QA Contact: | sssd-qe <sssd-qe> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 8.4 | CC: | aboscatt, alanm, amike, asn, bgollahe, bhodges, dpal, gdeschner, jarrpa, jstephen, kwalker, oholy, thalman, tpelka | ||||
Target Milestone: | rc | Keywords: | FutureFeature, Triaged | ||||
Target Release: | 8.4 | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | blocked | ||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2022-09-16 08:18:50 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 1788833 | ||||||
Attachments: |
|
Description
Joe Wright
2018-09-28 15:23:22 UTC
This seems to be gvfs, or libsmbclient issue. Those values are probably based on G_FILE_ATTRIBUTE_UNIX_MODE in Nautilus, but this attribute is not set by the backend. Support for this attribute was removed from the backend, because this was not reliable for some reason: https://gitlab.gnome.org/GNOME/gvfs/blob/master/daemon/gvfsbackendsmb.c#L1486 https://gitlab.gnome.org/GNOME/gvfs/commit/1ba87b47bf824b1afaed84931c3e8252e248e45c This needs further investigation... Andreas, don't you have any comments here? Created attachment 1514409 [details] screenshot of permissions reported by libsmbclient vs real values I've made a simple test to see whether statbuf->st_mode/st_uid/st_gid provided by smbc_stat() could be used to display the requested permissions (I've just basically partially reverted the https://gitlab.gnome.org/GNOME/gvfs/commit/1ba87b47bf824b1afaed84931c3e8252e248e45c). But obviously it is not possible, libsmbclients reports 644 mode for all files and uid/gid is probably based on the gid()/uid() from the client, see screenshot. So I am going to change the component to samba, because libsmbclient doesn't provide the real values... libsmbclient can only show uid/gid and permissions correctly if it connect to a Samba server offering unix extensions and those need to be turned on server-side. Are 'unix extensions' configured on the server? Ping! Ok, I've explicitly added "unix extensions = yes" and "protocol = NT1" and tried again to be sure. The stat call in smbclient interface shows correct permissions, however, the situation on gvfs-side is still the same. st->st_mode returned by smbc_stat() is wrong. Is there any way to check from gvfs over libsmbclient whether the unix extensions are in use? I'm sorry, but this can't be fixed in RHEL7. The fix is much more complex than first thought. We will only be able to fix that in a future RHEL8 release. This can only be achieved with SMB3 unix extensions. This can't be implemented with SMB1, we need SMB3 posix extensions. |