11

According to Wikipedia, 'S' is supposed to be a standard runlevel: "Single-User Mode". But if I'm not mistaken, the Single-User mode on Debian is Runlevel 1. One Debian article I found claims, that 'S' is a runlevel "that the system uses on it's way to another runlevel". Interesting...

Actually, I had always pretty much ignored this runlevel so far, but today I played around with Firestarter (yes, really, an end-user firewall) just because I was curious, which firewall rules it would generate. But then I noticed, that it creates a startup hook in /etc/rcS.d, and I wondered, if my firewall script should maybe have that, too?

Update

Now I'm even more interested in knowing what it actually is on Debian/Ubuntu, because the Shorewall package (which is a strongly "Debianized" package) also creates its (only!) startup hook in rcS.d!

AJM
  • 205
Chris Lercher
  • 4,412
  • 9
  • 38
  • 41

5 Answers5

6

All the above seem to skirt round a direct answer to the question asked.

From all I can find, the rcS.d scripts are implemented as is the S stood for "startup" not "single".

They are all run during boot. If you then want to use run level 1, the scripts in rc1.d are run ( which may well be pretty empty, given all the work we just did in rcS )

More to the point, the rcS scripts are run on the way to rc3 - so effectively the system places itself in single-user mode, then has a re-think and decides what it REALLY ought to be doing. Very confusing and mostly ill-documented.

As proof, if you examine /etc/inittab, you find:

 # Boot-time system configuration/initialization script.<br>
 # This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS

followed later by many lines resembling:

l3:3:wait:/etc/init.d/rc 3
Thomas
  • 4,415
4

I look at the runlevels in this way:

 S - true single user mode usually drops you into a minimal root shell
 1 - Administrative mode, you get a standard login request before access
 2 - Multi-user without TCP/IP networking -- could use serial ports for other logins
 3 - Multi-user with TCP/IP networking and text 
 4 - To be determined by the system owner
 5 - Multi-User with TCP/IP networking and graphic console 
 6 - reboot
 0 - shutdown and power down

Thus, a firewall is really needed if TCP/IP is up and running and that generally happens only in Init State 3.

mdpc
  • 11,914
1

Runlevel 1 is also known as runlevel s.

In Debian based systems this is the single-user / minimal mode. See Debian Runlevel:

The runlevel is a digit from 0 to 6 or the letter S. Runlevels 0, 6 and S are reserved for shutdown, reboot and single user mode respectively.

j15k
  • 11
0

S is for single user mode.

http://wiki.debian.org/RunLevel

dmourati
  • 26,498
0

In addition to the answer provided by mdpc, In run level 1, no daemons (services) are started.