DSLR – Damn Small Linux Remake
dslr.dimakrasner.com
dslr.dimakrasner.com
> DSLR's approach to security is different . It is possible to run as root without causing a global disaster.
Is there any more information available on how this is achieved?
</sarcasm>
http://ftp.gwdg.de/linux/mulinux/ http://en.wikipedia.org/wiki/MuLinux
It was one of my first distro and it was awesome. A base system than ran in one floppy and then you could optionally add and combine more floppys depending of what you wanted (X system, IDE, games, latex, etc...) It was kind of the ancestor to Live CD
Not a *nix-like but has a ton of functionality in the space of a single floppy.
> Is there any more information available on how this is achieved? +1 to this remark, currently unanswered. Is the "NEVER RUN AS ROOT!" mantra from modern Linux practices, or has it been that way since the mid-90s? After nearly four years of using Fedoras, I'm getting better about remembering what operations require root privileges, but I'll still grumble every time I have to enter the root password to do something as trivial as mounting a flash drive on someone else's computer. (I can't remember, offhand, where that setting is/what it's called that lets normal users mount drives)
I think that goes back all the way to Unix and its multiuser environment, where one admin's mistakes could affect everyone on the system - so people were naturally scared of root.
On the other hand, on the earliest personal computer OSs, which were basically single-user (many don't even have the concept of a "user account"), that only user has full control like root but that wasn't really perceived with as much apprehension since the only thing a mistake affects is the sole user.
With DSLR and all the other tiny Linux distros, I sense that the intention is these are to be used by a single user.
That is why I avoid running as root.
The other late evening, I typed "sudo pip uninstall pip" instead of "sudo pip uninstall pil" Not that bad, but i was on an outdated distro (13.04) and I couldn't apt-get pip back. :< It was time to move to 13.10 anyway.
I don't care if I "rm -Rf /bin" because I can reinstall all of it in less than an hour. It's an inconvenience, but hardly the end of the world.
On the other hand, "rm $HOME/*" would be a huge pain in the ass, potentially losing personal data that I can't just "apt-get install _____" back.
It does make sense for shared computers, but not many people running OSX and desktop Linux are running on shared computers.
Basically you design the system so that root has no special powers. Imagine if all of your storage was write-once, like a CD-R. What damage could root do? Almost none. Maybe there is a union file system for /usr and /home. Disregard all changes to /usr, when you reboot a fresh /usr is extracted from disk. Stuff like /home is incrementally saved. You can re-wind to any point in history. That is how Puppy (in CD-R mode) works.
About the only real threat that root poses is accidentally dd-ing over the OS boot partition. With some kernel patching you could simply hide the /dev node after the boot is done with it. Though that makes updating harder. Any threat can be neutralized, but the whole OS gets slightly more byzantine as a downside.
The root/user distinction places all your faith in octal permission bits. In some ways a properly designed run-as-root system is less risky, because the safeties are baked into the OS at a much deeper level. It is the difference between a dangerous machine having physical safety interlocks and paper-thin "for your safety" policies.
At some point we have to make the call on diminishing returns. It will always be possible for root to bork a system (without a rewrite of many, many utilities that rely on root permissiveness), it's just a matter of how hard we can make it to do that accidentally. To be clear, I think this work is very useful and appreciated though. As someone that spends almost all of every working day in terminals on remote systems, often as root, I applaud any effort to reduce catastrophic mistakes. Every time I have to rm -rf as root there's that little after-I-hit-enter-panic, where I have to assure myself I double checked and didn't accidentally just delete /bin. The root is protected from the errant rm mistake, but there's oh so many more ways to reduce a perfectly fine system to an unbooting heap of hardware.
> The root/user distinction places all your faith in octal permission bits. In some ways a properly designed run-as-root system is less risky, because the safeties are baked into the OS at a much deeper level. It is the difference between a dangerous machine having physical safety interlocks and paper-thin "for your safety" policies.
Give me both. Please.
Obligatory mention, the QNX demo disk (1.44M floppy image with full gui):
http://toastytech.com/guis/qnxdemo.html
While the floppy is justifiably dead, it is a little strange to see basic installs taking up so much space these days. Thankfully the core-os type projects (os for densly populated vm servers) are helping a bit -- even if deduplication/running root from /nfs etc -- is probably a more expedient (and permanent) way to reduce footprint per vm (1 Gig divided by 1024 vms is just 1Mb per vm after all...).
The forgotten feeling when computers responded immediately.
I guess I'll be using it for some web.
This makes me feed sorry for the people dealing with the XUI/JS/CSS cesspit of Firefox plugins.
Supporting other embedded languages might be nice, but of course, unless all the major browsers also support the same, sites would have to provide an alternative in javascript for everybody else.
Not supporting javascript at all when it's integrated so deeply into the web, when you will doubtless be able to simply turn it off if you want, seems unreasonable.
For better or worse, the web is becoming a platform for distributing javascript binaries which execute in the browser. Unlike most other platforms, however, at least you can turn it off or view the source or block parts of it if you like.
However, you can't design a browser around an expectation of what the web should be like.
And anyway, it could be worse. If there were no javascript we would all be complaining about the dominance of VBScript in the browser.
shudder
JS itself isn't bad, it's the misuse which is bad. Subtle JS use should add _extra_ functionality, not _be_ the functionality.
It's funny, I was just having a conversation about JS in freenode #python the other day and we were complaining/discussing the same thing.
The worst is when my browser freezes because of some JS that's too over the top.
Modern browsers are fucking huge. Obviously they do very much more than browsers used to, but most of the time I really am just reading text and I don't want a bad designer's idea of novel UI to get in the way.
Sadly it seems like hundreds of years of design iteration for the printed word are being weakened.
Dillo looks to be a more interesting way to test websites' graceful fallbacks than hacking up Chrome or Firefox's settings.
http://alpinelinux.org/ is another minimal appliance distro.
For example, instead of Makefiles per package, there's a package-specific shell script which incorporates some magic from scripts/build_package and is then sourced by the same to add some functions, with references to patches in a separate directory, and build dependencies tracked by a Makefile.deps file that's included by the root Makefile before the build_package script is run, which incidentally has tons of package-specific logic built in. You'd be re-reading 10 files over and over any time you build or troubleshoot a package.
All of this inside of a chroot using a bootstrapped cross compiler, which lord knows most people have never dealt with before. And the dependencies for building the cross-compiler aren't built from source, meaning this isn't a fully bootstrapped build environment, to say nothing of tracking versions. The resulting packages will vary from system to system, and it will be more difficult to port to non-x86.
[1] http://www.linuxfromscratch.org/ [2] http://trac.cross-lfs.org/ [3] http://buildroot.uclibc.org/ [4] http://www.slax.org/
Here's a guide for 'old' Linux distros http://www.linuxfromscratch.org/lfs/view/stable/ and here's a guide using systemd http://www.linuxfromscratch.org/lfs/view/stable-systemd/
I just found the image of that flash drive, if anyone is interested. Keep in mind it is unchanged from its original form in 2006 :)
Image: https://www.dropbox.com/s/8lomxad7cqjn10w/nanolinux.img?dl=0
Virtualbox Image (identical, converted with qemu-img): https://www.dropbox.com/s/uo1huoawjkkqmj7/nanolinux.vdi?dl=0
Screenshot: https://www.dropbox.com/s/v7ijnd6b6688brz/Screenshot%202014-...
More often than not, the vast majority of these awesome little projects flounder under the lack of documentation.
Making it available (and well done) allows for anyone to just jump in and help.
Kudos!
I wonder if we'll see a ZF02 remake for DSL? :]
This was me: http://damnsmalllinux.org/static/act-Print/f-1/t-19848.html
The md5sums for 3 of them don't seem to match what's on the DSLR page though. The one with a .md5sum file does match. Use others with caution for now.
I believe that that stuff is mostly in the kernel. Man acpid:
> acpid is designed to notify user-space programs of ACPI events.
*Grammar Nazi alert - breathes
same applies for : http://tools.cisco.com/security/center/content/CiscoSecurity...
same applies for : https://blog.mozilla.org/security/2010/03/18/update-on-secun...
same applies for : http://www.debian.org/security/2000/20001013
same applies for : https://kb.isc.org/article/AA-01015/0
sticking to early versions (lazingly will save you)
In Linux/FOSS distros using outdated software is really not good idea unless you know what you are doing or have support from the distro which have people that should be able to fix the security vulnerabilities. e.g. RedHat, Suse, Canonical, Debian.
Using software which is dead upstream often makes distro maintainers want to remove the software from the repository because they are not able/want to maintain. BTW... I'm curious about which version of GTK+1.x is he using. GNOME does not support GTK+-1.x for years how wonder who fixes the security vulnerabilities also.
1 - http://www.cvedetails.com/version/78795/Dillo-Dillo-0.8.6.ht...
2 - https://lists.debian.org/debian-security/2005/11/msg00120.ht...