Linux Konsole Sudo Befehl Bedeutung

4 Antworten

Seit ich mit Linux arbeite, nutze ich den Befehl "sudo -s -H" um SuperUser zu werden.

Das ist aber nicht allgemeingültig für Linux-Betriebssysteme. Der Befehl sudo ist schon einen feine Sache, denn er kann so konfiguriert werden, dass ein "normaler" User Aufgaben erfüllen darf, die sonst nur der Superuser erledigen darf. Damit will man Verantwortlichkeiten delegieren, ohne Gefahr zu laufen, dass jemand ein ganzes System (gewollt oder versehentlich) beschädigt.

In professionellen Linux-Systemen ist sudo daher nicht konfiguriert. In solchen Systemen gibt es aber auch einen Superuser ( root )  der solche Konfigurationen machen darf und dann die Verantwortung trägt.

Die Anmeldung als Superuser erfolgt dort auch mit

su

oder

su root

und dem zugehörigen Passwort. Da man sich als root auch auf einer Konsole anmelden kann und das HOME-Verzeichnis von root nicht unter /home liegt, kann rot auch bei Fehlern der /home-Partition eingreifen. Linux-Systeme, bei denen root eingeschläfert wurde, sind da enorm benachteiligt.

Ich empfehle daher immer wieder: Lasst root leben!

sudo passwd root

löst das Problem. Danach arbeitet man in den Fällen, in denen es nicht anders geht als Superuser.

 sudo -s ist fast nichts anderes, jedoch mit dem Nachteil, dass man vorher erfolgreich als User eingeloggt sein muss. Eine volle Home-Partition oder ein vergessenes Passwort oder eine zerstörte /etc/sudoers sind da fatal.

( mein root-Passwort liegt im Panzerschrank)

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995
barnim  27.03.2015, 20:09

In professionellen Linux-Systemen ist sudo daher nicht konfiguriert.

Selbstverstaendlich ist es das; und das sollte es auch.

Ich empfehle daher immer wieder: Lasst root leben!

Keine besonders gute Empfehlung. Sorry.

cheers | barnim

0
guenterhalt  27.03.2015, 20:16
@barnim

richtig, weil in allen Firmen jeder beliebige User mit sudo alles machen darf. Das spart die ganzen  oft großkotzigen Superuser.

0
barnim  27.03.2015, 21:00
@guenterhalt

Mal ein paar - gar nicht mal grosskotzige - Denkanstoesse:

  • die Ziele von sudo sind restriktierbar
  • personalisierte Accounts
  • Sicherheit durch die Verkleinerung von Angriffsflaechen

cheers | barnim

0
guenterhalt  28.03.2015, 09:22
@barnim

du hast mich offensichtlich nicht verstanden. Ich bin nicht gegen die Benutzung von sudo. Während meiner Tätigkeit als Administrator hatte ich für mich "alles was geht" eingerichtet und anderen beschränkten Zugang zu root-Rechten erteilt (irgendwann musste ich auch mal schlafen). Trotzdem sind meine Mitstreiter und ich nie auf die Idee gekommen root "halb tot zu schlagen".

Fälle, in denen sudo nicht mehr funktioniert, gab und gibt es zur Genüge. Schon ein kleiner Fehler in der Datei /etc/sudoers reicht, um sudo zu stoppen.

Das was man mit einem deaktivierten root erreichen will, kann so genau ins Gegenteil umschlagen.

Hatten wir so etwas nicht gerade erst? Da gibt es einen Schalter der sich "lock" nennt ( damit sollte Terroristen ein Weg genommen werden) und schon ist auch der Superuser ( Pilot ) ausgesperrt. 

Ein zweiter Zugang hätte das möglicherweise verhindert. 

Den haben die "Unix-Erfinder" dadurch geschaffen, dass das Home von root direkt unter der Wurzel liegt und nicht vielleicht noch auf einem Remote-System.


2

-s ohne weitere Argumente bedeutet nur, dass eine interaktive Shell gestartet wird. 

Steht aber auch so in der Manpage, einfach mal "man sudo" aufrufen und die Beschreibung für die Option -s lesen ;)

man sudo sagt:

-s, --shell Run the shell specified by the SHELL environment variable if it is set or the shell specified by the invoking user's pass” word database entry. If a command is specified, it is passed to the shell for execution via the shell's -c option. If no command is specified, an interactive shell is executed.

Woher ich das weiß:Hobby – Linux-Nutzer seit 2006

>All the

-s

does is provide a shortcut for starting a shell as that user.

quelle: google