Just wanted to remind everyone that deleted files can be recovered until their space is reclaimed for something else. So if you notice something like this happening, shut down computer asap, so they can't be overwritten. Plug drive into another computer but do not mount it. Instead run some file recovery program on it. For an SSD it becomes murkier though, what with their trimming and automatic garbage collection.
Moved ~/.local/share/steam. Ran steam. It deleted everything owned by user
201–210 of 280 posts
Re: Moved ~/.local/share/steam. Ran steam. It deleted everything owned by user
#202This seems like yet another good example of why robust application-level access control would be a helpful thing to build into modern operating systems, in addition to the typical user-based controls. This may have been both a rookie mistake and a regrettable failure of code review processes, but in any case it simply shouldn’t be possible for an application running on a modern system to wipe out all user data withou…
Like AppArmor, or SELinux, or any of the other applications which have their hooks in the LSM? They do a fantastic job of this, if you can figure out how to use them. The truth is that they are too hard for even your average Sysadmin to configure & manage, let alone your average desktop user. setenforce=1 (yeah, right).
Re: Moved ~/.local/share/steam. Ran steam. It deleted everything owned by user
#203Earlier quoted context omitted.
Gotta question why they used -f.
That's normal, but why the trailing slash?! That's just pointless, and almost looks like an explicit deathtrap. Without the slash, an empty variable would result in a command line of "rf -rf" which would simply fail due to the missing argument. There is absolutely no need for having a trailing slash, it's not as if "rf -rf foo" and "rm -rf foo/" can ever mean two different things, there can be only one "foo" in the f…
This behavior is especially common with regards to URLs; there are many flamewars about whether URLs “need” a trailing slash or not.
Re: Moved ~/.local/share/steam. Ran steam. It deleted everything owned by user
#204Re: Moved ~/.local/share/steam. Ran steam. It deleted everything owned by user
#205Just wanted to remind everyone that deleted files can be recovered until their space is reclaimed for something else. So if you notice something like this happening, shut down computer asap, so they can't be overwritten. Plug drive into another computer but do not mount it. Instead run some file recovery program on it. For an SSD it becomes murkier though, what with their trimming and automatic garbage collection.
Yeah if you have time to manually guess the filenames on half a million files. Great.
Re: Moved ~/.local/share/steam. Ran steam. It deleted everything owned by user
#206This seems like yet another good example of why robust application-level access control would be a helpful thing to build into modern operating systems, in addition to the typical user-based controls. This may have been both a rookie mistake and a regrettable failure of code review processes, but in any case it simply shouldn’t be possible for an application running on a modern system to wipe out all user data withou…
However, applying program-level access control is very un-UNIX. How do you compose multiple programs with different security regimes? This bug happened because the "steam" program called the "rm" program via the "shell" program. Inheriting capabilities mostly solves this, but we're familiar with how hard selinux is to use as a result and it still doesn't save the user from command line typos.
I think it's time to make a stronger case for time-reversible filesystems. Accidental deletion matters less if you can just get in your time machine.
Re: Moved ~/.local/share/steam. Ran steam. It deleted everything owned by user
#207Earlier quoted context omitted.
Is it really a net improvement? There are a number of developers out there that have pulled out of the app store (off the top of my head, Atlassian for SourceTree, and Panic for Transmit) because the sandbox restrictions would force them to remove functionality from their applications. As far as Apple's implementation goes, sandboxes are for kids, not adults that need to get work done.
SourceTree and Transmit need to stomp all over directories to get things done. Yes, it's useful. But it's not common for applications to need that kind of access. The sandbox seems to work fine for the other 99% of applications. I think Apple even uses the sandbox heavily for their own apps, check ~/Library/Containers next time you use an OS X system. The only complaint here is about the app store, sandboxing is wond…
Re: Moved ~/.local/share/steam. Ran steam. It deleted everything owned by user
#208Earlier quoted context omitted.
Not if the previous line was: STEAMROOT=$SOME_OTHER_UNSET_VARIABLE/ "rm -r " is a code smell, as much as "cc -o myprog .c" is. You should always know what files make up your system, and track them in a MANIFEST file. There's rarely a good reason to use wildcards when a program is dealing with its own files. xargs rm -df -- fixes this.
Steam doesn't deal with its own files. It deals mainly with random games that are creating tons of random files.
Re: Moved ~/.local/share/steam. Ran steam. It deleted everything owned by user
#209Many of the comments mentioned this should have been caught in the code review. I suspect they don't perform code reviews. Makes me wonder, is there a tool, system, service for auditing how many 'pair of eyes' have reviewed a given line of code. This would be hard to determine, but could be useful. I am envisioning a heatmap bar or overlay that indicates the number of reviews a line of code has received.
It is trivial to find systems where you can assign specific people to review code, of course. Plenty exist. But to guarantee that they truly read a line of code, rather than skimmed/scrolled through it? Even if they paused their scrolling on that line, it doesn't mean that they really read it, or did so with proper understanding of what it was doing. Short of placing an actual comment or question for that line (demon…
Re: Moved ~/.local/share/steam. Ran steam. It deleted everything owned by user
#210Earlier quoted context omitted.
There are several problems with your ideas. The most important one is that programmers only call themselves engineers until it comes time to take legal responsibility for their work; then suddenly they're artists creating works for hire. Programmers have worked very hard through the years to create the current liability-free environment; people die because of health care programming bugs, pilots crash because of avio…
Can anyone design a safe and reliable bridge with a span of indeterminate length across unpredictable geography?