[Bug 202192] [PATCH] x11-fm/thunar 1.6.11 change file permissions on sshfs mounted files/dirs
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Nov 28 21:11:27 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202192
Guido Falsi <madpilot at FreeBSD.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |Works As Intended
Status|In Progress |Closed
--- Comment #9 from Guido Falsi <madpilot at FreeBSD.org> ---
(In reply to Guido Falsi from comment #8)
> (In reply to rozhuk.im from comment #4)
>
> > My check is simple: if file writeable than we can write metadata.
> > This is good for most cases.
> > I dont know how to allow user write data and restrict write metadata in unix
> > with chmod().
>
> Looking at the upstream code and checking how UFS works I can now say this
> is definitely a wrong assumption.
>
> you can chmod any file you own, even if it is not writable, otherwise there
> would be no way to modify permissions on a file with 0444 permissions.
> obviously root can change permissions on any file.
>
> The upstream code, while a little convoluted, checks just for this, which is
> correct for local file systems.
>
> >
> > In my case sshfs mounted to me (simple user), by authorized on remote side
> > as root.
>
> Considering the previous correction this use case is quite peculiar and
> difficult to accommodate.
>
> Thunar clearly checks file permissions based on the local user. But the
> remote user is different, so it gets wrong conclusions. But I cannot see a
> way to fix this except give thunar detailed knowledge of the specific remote
> file system and the actual remote user.
>
> Anyway your patch as is cannot be accepted since it is actually wrong for
> the UFS semantics. It will work most of the time but fail in important
> situations (files with 0444 permissions).
>
> Looks like for some specific sshfs semantics thunar_file_is_writable(file)
> returns true and lets you go ahead. But it looks like a coincidence. I need
> to find some information on why that checks gives a different result.
>
> The only acceptable option would be to add an ||
> thunar_file_is_writable(file) right before the "&& !thunar_file_is_trashed
> (file));" in the last return in the upstream code. But I still have to
> evaluate the consequences.
This is wrong too.
thunar_file_is_writable(file) could return true for files you don't own (think
write bit on a group you are part of), so on which you can't change attributes.
Checking for write permissions to change attributes is unrelated.
I don't know a proper way to cater for a remote file system were you access as
a different user...especially if that user is root and you are not root
locally.
If you find a solution please file a new bug report.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-xfce
mailing list