![](https://seccdn.libravatar.org/avatar/04e9b659dabb6ef88308aa2c68abeb3e.jpg?s=120&d=mm&r=g)
Michael Hilscher wrote:
habe mal nach perm 2000 / 4000 gesucht und folgende Files gefunden:
/bin/ping /bin/ping6
Die beiden benötigen root-Rechte, um ICMP-Raw-Sockets öffnen zu können. Normale User dürfen nicht selbst zusammengebaute ICMP-Nachrichten versenden und auch nicht alle vom System empfangenen ICMP-Nachrichten lesen. Beides ist für ping nötig.
/usr/bin/crontab
Hier sind die root-Rechte nötig, um die crontab-Datei eines Benutzers in dem spool-Verzeichnis von cron anlegen und manipulieren zu können.
/usr/bin/man
Das bekommt hoffentlich nicht gleich root-Rechte, sondern gehört dem Benutzer man. Das Programm ist SUID, um auch beim Aufruf durch normale Benutzer die Cache-Verzeichnisse aktualisieren zu können. Nötig ist das nicht unbedingt, aber beim widerholten Aufruf einer man-Page muß die dann nur beim ersten Mal formatiert werden und kann danach aus dem Cache genommen werden.
/usr/bin/rcp /usr/bin/rlogin /usr/bin/rsh
Die von rsh bzw. rcp sowie von rlogin in Verbindung mit /etc/hosts.equiv bzw. ~/.rhosts verwendeten Maßnahmen zur paßwortlosen Authentifizierung basieren zu einem erheblichen Teil darauf, daß der Client einen privilegierten Port (< 1024) benutzt. Das erfordert root-Rechte. Die Idee ist, daß ein vertrauenswürdiges Client-Programm (hat root-Rechte, wird wohl vom Admin autorisiert sein) von einem vertrauenswürdigen Client-Host (Prüfung über IP-Adresse, also nur bedingt sicher) dafür bürgt, daß der Aufrufer tatsächlich der ist, für den er sich ausgibt.
/usr/bin/gpasswd /usr/bin/passwd
Diese Programme brauchen root-Rechte, um die Dateien passwd bzw. shadow, group und gshadow in /etc ändern zu können. In vielen Fällen wird es nicht nötig sein, normalen Benutzern Änderungen an den Gruppen zu ermöglichen (d.h. gpasswd muß in diesen Fällen nicht SUID sein), aber das Ändern seines Paßworts wird man wohl jedem Benutzer erlauben wollen.
/usr/bin/newgrp
Das Kommando newgrp benötigt root-Rechte, da nur ein Prozeß mit root-Rechten seine Group-ID beliebig wechseln kann.
/usr/bin/ssh
Falls man ssh mit den Authentifizierungsmethoden RhostsAuthentication (nicht besser als rsh) oder RhostsRSAAuthentication (zusätzlich Prüfung der Identität des Client-Hosts mittels RSA) benutzen möchte, benötigt der Client root-Rechte, um einen privilegierten Port zu bekommen. Will man das nicht, braucht ssh auch nicht SUID zu sein.
/usr/sbin/traceroute
Auch traceroute braucht -- genau wie ping -- root-Rechte, um einen ICMP-Raw-Socket öffnen zu können. Nur so kommt traceroute an die genauen Antworten auf seine Test-IP-Pakete heran, und die braucht es für seine Aufgabe.
/usr/sbin/papd /usr/sbin/pppd
Die werden für ihre Arbeit wohl root-Rechte benötigen. Ob deshalb auch das SUID-Bit nötig ist, kommt darauf an, wer sie starten soll. Werden sie direkt von root gestartet, kann darauf natürlich verzichtet werden.
/usr/lib/pt_chown
???
Welche Files wurden unnötigerweise mit SETGID bzw. SETUID gesetzt?
Ob das un_nötig_ ist, kommt natürlich darauf an, was für wen möglich sein soll. Soweit ich das sagen kann (bei den letzten dreien bin ich mir nicht ganz sicher), ist ist das SUID-Bit zumindest bei keinem der Programme unsinnig. Natürlich kannst Du die Rechte ändern, wenn Du das für sinnvoll hältst -- das schränkt dann eben die Möglichkeiten normaler Benutzer entsprechend ein. Die Entscheidung liegt bei Dir, aber ich würde die o.g. Programme in der Regel für alle Benutzer benutzbar lassen.
Brauchen ping (ping6?) und man diese rechte tatsächlich?
Ja, jedenfalls wenn sie von normalen Benutzern aufgerufen werden sollen.
Was ist eigentlich pt_chown (Binärdatei im /usr/lib Verzeichnis)?
Keine Ahnung. `rpm -qf /usr/lib/pt_chown` sollte Dir verraten, zu welchem Paket die Datei gehört.
Was passiert wenn ich rlogin und rsh lösche
Du kannst nicht mehr per rsh/rlogin auf andere Rechner zugreifen. Das Vorhandensein dieser (Client-)Programme hat keinen Einfluß darauf, ob Dein eigener Rechner per rsh/rlogin erreichbar ist.
- ich selbst möchte diese Funktionalität nicht nutzen, frage mich aber, ob evtl. andere Services oder Daemons darauf angewiesen sind (ssh?).
Nein, ssh ist völlig selbständig. Auch die anderen Standard-Dienste kommen ohne rsh/rlogin aus. Natürlich kann es einzelne Programme, geben, die damit arbeiten. Beispiele dafür sind rdist und rsync, die aber optional auch mit ssh betrieben werden können. Wenn Du nichts dergleichen benutzt und auch nicht irgendwelche eigenen Skripte hast, die rsh benutzen, dann solltest du ohne rsh und rlogin keine Probleme haben. Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org http://www.informatik.uni-bremen.de/~eilert/