Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Probleme mit dem s-Bit unter Suse 11.3

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
Benutzeravatar
P6CNAT
Advanced Hacker
Advanced Hacker
Beiträge: 1030
Registriert: 24. Jul 2006, 14:26
Wohnort: Mainhausen

Probleme mit dem s-Bit unter Suse 11.3

Beitrag von P6CNAT » 9. Okt 2010, 00:55

Hallo,

ich pflege meinen Rechner immer auszuschalten, wenn ich ihn nicht brauche. Dann bringt es auch nichts den sntp-Daemon die ganze Zeit laufen zu lassen. Deshalb habe ich ein kleines Script geschrieben, mit dem ich von Zeit zu Zeit (Wochen) die Uhr korrigiere.

Das Script liegt in meinem ./bin Verzeichnis, gehört root und hat das s-Bit gesetzt.

Code: Alles auswählen

$ ls -l Uhr_stellen.sh 
-rwsr-sr-x 1 root users 2131  4. Dez 2009  Uhr_stellen.sh
Der Kern des Scripts ist folgende Zeile

Code: Alles auswählen

/usr/sbin/sntp -v -P no -r pool.ntp.org
Seit der Installation von OpenSuse 11.3 kommt folgende Fehlermeldung.

Code: Alles auswählen

sntp options: a=2 v=1 e=0.100 E=5.000 P=2147483647.000
    d=15 c=5 x=0 op=1 l=/etc/sntp.pid f= pool.ntp.org
sntp: unable to write PID to /etc/sntp.pid
sntp: Permission denied
Das Script wird also unter root ausgeführt und hat kein Schreibrecht auf /etc ????
Wenn ich mich mit su auf root setze funktioniert das Script.

Also scheint mit dem s-bit irgendwas nicht zu stimmen.

Hat dazu jemand eine Idee?

Gruß
Georg
openSUSE Leap 15.1 64 Bit
KDE-Plasma 5.55
CPU: AMD A8-5500 mit integrierter GPU Typ AMD Radeon HD 7560D

Werbung:
drcux
Hacker
Hacker
Beiträge: 388
Registriert: 9. Aug 2005, 12:14

Re: Probleme mit dem s-Bit unter Suse 11.3

Beitrag von drcux » 9. Okt 2010, 11:09

http://de.linwiki.org/wiki/Linuxfibel_- ... iffsrechte

"Mit Hilfe des s-Flags kann die Benutzerkennung des Prozesses vom rufenden Benutzer/Gruppe in die des Besitzers / der besitzenden Gruppe umgewandelt werden, so dass passwd nun "im Auftrag" von Root die Datei /etc/passwd öffnet. Ein s-Bit darf nur bei Binärdateien gesetzt werden (keine Shellskripte)."

Benutzeravatar
P6CNAT
Advanced Hacker
Advanced Hacker
Beiträge: 1030
Registriert: 24. Jul 2006, 14:26
Wohnort: Mainhausen

Re: Probleme mit dem s-Bit unter Suse 11.3

Beitrag von P6CNAT » 9. Okt 2010, 21:31

Oh,

ich wusste nicht, dass ich mir einen Bug zunutze gemacht hatte. Muss mir wohl was Besseres einfallen lassen.

Danke für den Hinweis und Gruß
Georg
openSUSE Leap 15.1 64 Bit
KDE-Plasma 5.55
CPU: AMD A8-5500 mit integrierter GPU Typ AMD Radeon HD 7560D

jengelh
Guru
Guru
Beiträge: 4039
Registriert: 20. Nov 2004, 17:42
Kontaktdaten:

Re: Probleme mit dem s-Bit unter Suse 11.3

Beitrag von jengelh » 12. Okt 2010, 15:42

Jajaja die Fibel.
drcux hat geschrieben:Ein s-Bit darf nur bei Binärdateien gesetzt werden (keine Shellskripte)."
(user-)s-Bits dürfen sehr wohl auf nicht-Binärdateien gesetzt werden. (Wenn nicht würde der Kernel das schon verhindern.) Ob es dann aber den gewünschten Effekt hat, ist eine andere Sache. Im Falle von Shellskripten wird ja nicht das Skript ausgeführt, sondern dessen Interpreter.

Tooltime
Advanced Hacker
Advanced Hacker
Beiträge: 1202
Registriert: 28. Mai 2008, 17:49

Re: Probleme mit dem s-Bit unter Suse 11.3

Beitrag von Tooltime » 12. Okt 2010, 18:22

Ich kenne da auch den Spruch, das s-Bit wird bei Scripten aus Sicherheitsgründen ignoriert. Ist natürlich Blödsinn, das s-Bit wirkt bei jedem Objekt das eine Prozess-ID hat und wie der Kollege schon richtig erklärt hat, ist das hier die Shell.

Zweiter großer Irrtum ist, wenn das s-Bit (root) gesetzt wird ein Binary automatisch mit den entsprechenden Rechten läuft. Habe das zwar noch nicht unter Linux ausprobiert, kenne das aber so von anderen Unixen, der Prozess bekommt nur die Berechtigung seine User-ID zu wechseln und dieses muss explizit angefordert werden. Sind die erhöhten Rechte nicht mehr notwendig, so kann der Prozess diese jederzeit wieder abgeben. Das ist ein wichtiges Sicherheitsmerkmal.

Dein Problem muss irgend etwas anderes sein.

Benutzeravatar
robi
Moderator
Moderator
Beiträge: 3170
Registriert: 25. Aug 2004, 02:13

Re: Probleme mit dem s-Bit unter Suse 11.3

Beitrag von robi » 12. Okt 2010, 20:58

Tooltime hat geschrieben: Zweiter großer Irrtum ist, wenn das s-Bit (root) gesetzt wird ein Binary automatisch mit den entsprechenden Rechten läuft. Habe das zwar noch nicht unter Linux ausprobiert,
Na dann gleich mal ausprobieren ;) nimm /usr/bin/top zum Beispiel, niemand wird behaupten wollen, dass hier intern ein Grund bestehen würde, um eine root-ID anzufordern. Wenn das suid gesetzt ist, als normaler User top starten und von einer anderen Shell mit ps -efl nachschauen, und schon wirst du feststellen das läuft jetzt mit Rootrechten. Wer's dann immer noch nicht glaubt, der probiere das ganze mit der bash.

robi

Benutzeravatar
P6CNAT
Advanced Hacker
Advanced Hacker
Beiträge: 1030
Registriert: 24. Jul 2006, 14:26
Wohnort: Mainhausen

Re: Probleme mit dem s-Bit unter Suse 11.3

Beitrag von P6CNAT » 12. Okt 2010, 21:05

Hallo,
Tooltime hat geschrieben: Zweiter großer Irrtum ist, wenn das s-Bit (root) gesetzt wird ein Binary automatisch mit den entsprechenden Rechten läuft.
Mmh, das wird auch so gelehrt und man kann diese Behauptung in vielen Schulungsunterlagen finden.
Tooltime hat geschrieben: Habe das zwar noch nicht unter Linux ausprobiert, kenne das aber so von anderen Unixen, der Prozess bekommt nur die Berechtigung seine User-ID zu wechseln und dieses muss explizit angefordert werden. Sind die erhöhten Rechte nicht mehr notwendig, so kann der Prozess diese jederzeit wieder abgeben. Das ist ein wichtiges Sicherheitsmerkmal.
Wie soll das "dieses muss explizit angefordert werden" gehen?
Mein Script zur Korrektur der Uhr enthält keine explizite Änderung des users und hat bis Suse 11.2 als root funktioniert. Das würde den Irrtum eigentlich stützen.

Gruß
Georg
openSUSE Leap 15.1 64 Bit
KDE-Plasma 5.55
CPU: AMD A8-5500 mit integrierter GPU Typ AMD Radeon HD 7560D

Benutzeravatar
P6CNAT
Advanced Hacker
Advanced Hacker
Beiträge: 1030
Registriert: 24. Jul 2006, 14:26
Wohnort: Mainhausen

Re: Probleme mit dem s-Bit unter Suse 11.3

Beitrag von P6CNAT » 12. Okt 2010, 21:33

Ups,

da habe ich zu lange überlegt und robi war schneller.
robi hat geschrieben: Na dann gleich mal ausprobieren ;) nimm /usr/bin/top zum Beispiel, niemand wird behaupten wollen, dass hier intern ein Grund bestehen würde, um eine root-ID anzufordern. Wenn das suid gesetzt ist, als normaler User top starten und von einer anderen Shell mit ps -efl nachschauen, und schon wirst du feststellen das läuft jetzt mit Rootrechten. Wer's dann immer noch nicht glaubt, der probiere das ganze mit der bash.
robi
Das Beispiel ist sehr gut :thumbs: und deckt sich mit meinen Erfahrungen von anderen Unix Betriebsystemen.

Gruß
Georg
openSUSE Leap 15.1 64 Bit
KDE-Plasma 5.55
CPU: AMD A8-5500 mit integrierter GPU Typ AMD Radeon HD 7560D

Tooltime
Advanced Hacker
Advanced Hacker
Beiträge: 1202
Registriert: 28. Mai 2008, 17:49

Re: Probleme mit dem s-Bit unter Suse 11.3

Beitrag von Tooltime » 12. Okt 2010, 23:10

Die Aussage beruht auf eigene Erfahrungen. Personengebundene Ultrix-Kisten, User muss den Rechner ausschalten können, sonst hätte über jeder Workstation ein Feuerdmelder installiert werden müssen. Also was macht der Unix-Neuling mit großer Klappe(ich):
  • 1. Versuch ist natürlich Script mit s-Bit, das den Shutdown ausführt, geht natürlich nicht.
    2. Versuch, Problem erkannt ein Binary muss her --> C-Programm mit s-Bit. Hat aber nur prima funktioniert wenn root es aufruft.
    3.ter Anlauf, man trifft jemanden der mehr Ahnung hat, Problem ..., Antwort na du musst ja auch user-id wechseln, eingebaut und funktioniert.
Wenn ich mir mal die man page von setuid anschaue hat sich da wohl doch einiges geändert, obwohl mir dieses Verhalten irgendwie unsympatsich ist. Ich denke mal an die Anfangszeiten von Brennprogrammen, als noch keine Unterbrechung im Datenstrom geben durfte. Wurde da nicht mkisofs u. cdrecord mit s-Bit versehen, damit sie ihre Prio erhöhen können? Wenn man dann nicht darauf achtet hätte man leicht beliebige Daten lesen oder schreiben können. Jedenfalls stand bei mir damals in der man page das man die erhöhten Rechte so schnell wie möglich zurückgeben soll, damit das Programm nicht beliebigen Unfug anstellen kann. Die Logik dahinter leuchtet mir auch ein. Wäre doch echt merkwürdig wenn Polizei, Feuerwehr und Krankenwagen ständig mit Blaulicht durch die Gegend fahren und es nur dann ausschalten wenn sie meinen es muss jetzt nicht sein.

Viellleicht war mein System der Exokt.

jengelh
Guru
Guru
Beiträge: 4039
Registriert: 20. Nov 2004, 17:42
Kontaktdaten:

Re: Probleme mit dem s-Bit unter Suse 11.3

Beitrag von jengelh » 13. Okt 2010, 10:03

Tooltime hat geschrieben:Zweiter großer Irrtum ist, wenn das s-Bit (root) gesetzt wird ein Binary automatisch mit den entsprechenden Rechten läuft.
Das ist kein Irrtum. Das SUID-Bit führt in der Tat dazu, dass die EUID auf root gesetzt wird, womit du praktisch Rechte erhältst alles zu tun (ich lasse mal Sachen wie SELinux aus der Betrachtung außen vor).

Benutzeravatar
P6CNAT
Advanced Hacker
Advanced Hacker
Beiträge: 1030
Registriert: 24. Jul 2006, 14:26
Wohnort: Mainhausen

Re: Probleme mit dem s-Bit unter Suse 11.3

Beitrag von P6CNAT » 13. Okt 2010, 21:47

Hi,
Tooltime hat geschrieben:Die Aussage beruht auf eigene Erfahrungen. Personengebundene Ultrix-Kisten, ....
Viellleicht war mein System der Exokt.
Ui, ein Veteran :). Ultrix war in der Tat um einige Eigenschaften von VMS angereichert. Und der Unterschied zu den Nachfolgern ist recht groß.

Heute habe ich ein Shell Script mit owner root unter Tru64 mit dem s-bit versehen und geguckt, was passiert.
Das Script läuft unter dem normalen user, ohne root Rechte.

Gruß
Georg
openSUSE Leap 15.1 64 Bit
KDE-Plasma 5.55
CPU: AMD A8-5500 mit integrierter GPU Typ AMD Radeon HD 7560D

Antworten