Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo, ich suche nach einer Lösung, mit der man für einen bestimmten User die Ausführung der Befehle über SHELL blocken kann, aber kein LOGOUT darf erzwungen werden. Nur halt, so in etwa, sobald er versucht was auszuführen, kriegt er die Meldung, dass er das nicht darf, oder halt das der Befehl erst gar nicht ausgeführt wird.

Geschrieben

Braucht der User überhaupt eine Shell? Was soll er denn nicht können dürfen? Und warum?

Um es ordentlich zu machen, musst du deine Shell modifizieren (ala rbash) oder eben eine "Container" machen nur für den User und alle commands löschen, die er nicht ausführen darf.

Sobald du anfängst bei den standard commands die rechte zu ändern wird es hässlich für alle anderen User (wenn das system dann überhaupt noch läuft).

Geschrieben

Ich danke Euch, ist zwar nicht wirklich, womit ich was anfangen kann, liegt aber an mir, ich habe nämlich eine andere Lösung erfunden, vielleicht zumindest teilweise Rad neu erfunden...

Mir war es wichtig ohne viel Rumbastelei Ausführung der Befehle zu verbieten, vielleicht sogar Shell, das geht aber ganz einfach indem man

beim .bash_profile von dem User in seinem Home Verzeichnis ganz am Ende

eine einzige Zeile eingefügt: logout

Das ist aber nicht alles gewesen, denn Shell an sich ist die halbe Sache, ich wollte aber auch auf sehr einfache Art und Weise SFTP Zugriffe über SSH verbieten, ohne dass ich viel rumbastle. Und ihr wisst, mir ist es auch gelungen..

Also, ich habe Debian, ich installierte ACL Packet

apt-get install acl

Dann habe ich die Datei /etc/fstab angepasst, und zwar

bei Zeile

/dev/hda2 / ext3 defaults,errors=remount-ro

nach

/dev/hda2 / ext3 defaults,errors=remount-ro, acl

geändert, damit acl setzbar sind.

Dann die Datei acls.txt mit folgendem Inhalt erstellt.

# file: /usr/lib/openssh/sftp-server

# owner: root

# group: root

user::rwx

group::r-x

other::r-x

user:gast:r--

und mit dem Befehl setfacl --restore=acls.txt

die erweiterte Rechte gesetzt, ab nun kann der User gast sftp-server nicht mehr ausführen, alle anderen dürfen es. :-)

Vielleicht habe ich Rad neu erfunden, aber ich habe die Lösung nicht aus dem Internet, es könnte für jemanden durchaus nützlich sein, denn ich kann ohne weiteres Tunnels aufbauen, beim Terminalstarten wird automatisch ausgeloggt, und sftp geht bei dem User gar nicht. Und ich muss nicht an SSH Server irgendwelche Extraanpassungen durchführen. Wenn ich will, kann ich in die acl Liste weitere User eintragen. Viel Spass und Danke Euch noch mal..

Geschrieben

Öhm ... eine Profildatei lässt sich aushebeln, solange Du da nicht mit dem "trap"-Kommando Signale abfängst.

Und der klassische Ansatz eines kastrierten Users ist eine rsh, die "restricted shell". Sie schafft ( ähnlich dem modernern Container ) eine isolierte Umgebung. Im Gegensatz zu Containern und Co ist dies auch StandardUnix und rennt auf allen Derivaten

Geschrieben

charmanta, ich danke Dir sehr herzlich, da wird man immer schlauer. Und sage mir bitte, wie kann ich dann das System so einstellen, dass dieser Befehl

trap "exit 0" 0 1 2 3 15

immer dann ausgeführt wird, sobald sich ein bestimmter User in das System einloggt. Ich meine, dass diese Falle nur für Befehle funktioniert, die ein bestimmter User ausführen will, nicht aber für alle.

Du sagtest doch folgendes:

Öhm ... eine Profildatei lässt sich aushebeln, solange Du da nicht mit dem "trap"-Kommando Signale abfängst.

Kann ich etwa mit Trap bestimmen, dass die Profildatei sich nicht aushebeln lässt. Ich wäre Dir sehr dankbar für jegliche Hilfestellung, es sei denn, Du hast schon was ähnliches gemacht..

Geschrieben

wenn Du den Trap Befehl als erstes in die .profile oder eben die Startdatei der Shell einträgst die dem User gehört dann fängst Du dessen Umgehnungsversuche ab.

Ich würde dem User das .profile so zumachen und die Shell auf die restricted shell umsetzen. Dann kannst Du dem ein /bin vorgaukeln, in dem nur diejenigen Kommandos drinstehen, die Du ihm zuweist

  • 1 Monat später...
Geschrieben

Mir fallen da spontan 2 Möglichkeiten ein.

Einmal die von euch beschriebene chroot umgebung...

oder einfacher wenn alle benutzer innerhalb einer passwd sind die entsprechenden User in eine Grp packen und mit chmod die entsprechenden rechte für die Gruppe auf das entsprechende Programm geben...

Geschrieben

Mir war es wichtig ohne viel Rumbastelei Ausführung der Befehle zu verbieten, vielleicht sogar Shell, ... aber auch auf sehr einfache Art und Weise SFTP Zugriffe über SSH verbieten, ohne dass ich viel rumbastle.

Soso.. Die Shell auf false oder nologin zu setzen erfüllt nicht den selben Zweck?

Was dürfen die User denn noch können?

Grüße Ripper

Geschrieben

Und die Authentifikation läuft via PAM? (OpenVPN vllt.?)

Wenn SSH gar icht nötig ist, hau die User in 'ne Gruppe und trage diese wiederum in der sshd_config in DeniedGroups.

Somit wären Tunnels erlaubt, SSH nicht -

und dein Problem SEHR einfach gelöst..

(oder es fehlen Angaben von dir :) *hint* )

- viele Wegen führen nach Rom..

Grüße

Ripper

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...