EDIT: just tested it, it creates /tmp/graveyard-$USER with 0755.
EDIT: just tested it, it creates /tmp/graveyard-$USER with 0755.
rip2 creates the graveyard with 0700, not 0755. That change was one of the reasons for forking from the original rip.
Code: https://github.com/MilesCranmer/rip2/blob/6165ed0c692b27f196...
And for everyone else, always worth remembering that author could have instead built: .
Instead they chose to build something, so let's not shit all over their intent
Whenever exact file copies are desired, they must not pass through /tmp or through any other place where tmpfs is mounted, unless it is checked that the tmpfs version is new enough to preserve file metadata.
(In multi-user computers, it was usual to copy a file through /tmp for copies between users, because that might have been the only place where both users had access.)
Older versions of tmpfs did not support any extended attributes, then only certain system attributes were preserved, while all user attributes were deleted. Only one year or two ago tmpfs has been enhanced to preserve most extended attributes, with some size constraints. Many older systems still have tmpfs versions that lose the extended attributes.
So the trash bin leaves grime on things, great.
Absolutely none of this is a concern for this project, though. I just find this-then-that stuff funny
> Graveyard location.
> You can see the current graveyard location by running rip graveyard. If you have $XDG_DATA_HOME environment variable set, rip will use $XDG_DATA_HOME/graveyard instead of the $TMPDIR/graveyard-$USER.
> If you want to put the graveyard somewhere else (like ~/.local/share/Trash), you have two options, in order of precedence:
> Alias rip to rip --graveyard ~/.local/share/Trash
> Set the environment variable $RIP_GRAVEYARD to ~/.local/share/Trash.
> This can be a good idea because if the graveyard is mounted on an in-memory file system (as /tmp is in Arch Linux), deleting large files can quickly fill up your RAM. It's also much slower to move files across file systems, although the delay should be minimal with an SSD.
then puts the default trash location in /tmp ? knowing its a bad decision? kinda makes me leery of the rest with this kind of reasoning skills
It would be much better to put the files somewhere else and clear old files whenever rip was run.
Kinda bad example since this tool doesn't follow xdg-trash spec per README. Tools that do (such as the file managers from the big DEs) use this directory.
But then file permissions being "wrong" or relying on the parent folder is the norm...
I wonder if it does keep ACLs associated with the file.
~ $ ll -d $HOME/.local/share/Trash
drwx------. 5 me me 47 Jan 15 2020 /home/me/.local/share/Trash
Home directories and the root they're stored in aren't generally well-protected, trash directories should do so to avoid leaking.Per the XDG spec if this is open, you want sticky bits. More justice (and considerations) here: https://specifications.freedesktop.org/trash-spec/latest/
An interesting challenge or angle to this: space consumption, ownership in a real-world sense (ie: fingerpointing)