Re:Did Pixar accidentally delete Toy Story 2 during producti...
by coldpie on Tuesday January 17, 2017 @11:10AM
(#13418670)
One feature I've always wanted is to make a directory non-deletable without otherwise changing the directory's functionality. So if I do "rm -rf ~/work" I don't lose anything, but I can still do "touch ~/work/whatever". As far as I know, this is impossible.
[ Parent
| on HN ]
Re:Did Pixar accidentally delete Toy Story 2 during producti...
by slau on Tuesday January 17, 2017 @12:46PM
(#13419474)
You don't actually need write access to a file/directory to delete it. You only need write access to the parent (removing or adding a file modifies the container, not the contained).
Remove write access to the parent directory, while keeping traversal and read rights, and you'll be sorted.
Re:Did Pixar accidentally delete Toy Story 2 during producti...
by coldpie on Tuesday January 17, 2017 @01:43PM
(#13419943)
But then I can't add files to my home directory...
Re:Did Pixar accidentally delete Toy Story 2 during producti...
by vidarh on Tuesday January 17, 2017 @02:17PM
(#13420245)
So don't put the stuff you want to protect this way in your home directory, but somewhere else, and symlink the relevant directories to your home directory.
Re:Did Pixar accidentally delete Toy Story 2 during producti...
by coldpie on Tuesday January 17, 2017 @03:32PM
(#13420896)
Quite clumsy, but I guess it works. I'll keep it in mind, thanks for the idea.
Re:Did Pixar accidentally delete Toy Story 2 during producti...
by slau on Tuesday January 17, 2017 @02:05PM
(#13420138)
You said it was impossible. I simply indicated it wasn't.
Re:Did Pixar accidentally delete Toy Story 2 during producti...
by coldpie on Tuesday January 17, 2017 @03:06PM
(#13420679)
The question was perhaps imprecisely phrased, but I think you can figure out what I'm trying to accomplish.
Re:Did Pixar accidentally delete Toy Story 2 during producti...
by knodi123 on Tuesday January 17, 2017 @02:32PM
(#13420372)
# mkdir /tmp/foo
# touch /tmp/foo/.immutable
# chattr +i /tmp/foo/.immutable
# rm -rf /tmp/foo
It's not EXACTLY what you asked for, but the .immutable file cannot be deleted until you call chattr -i on it, which protects the directory....