PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rbash



taylor
11.02.03, 11:51
Hallo!

Ich würde gerne einen User in einer Restricted Bash einsperren.

Dazu habe ich auf einem Debian SID System /bin/rbash (existiert, Symlink auf /bin/bash) in /etc/shells und /etc/passwd eingetragen.


douglas:x:1001:100::/home/douglas:/bin/rbash

Das Problem ist, dass die rbash beim Login nicht funktioniert.
Ich melde mich als douglas an, echo $0 sagt mir -rbash.
Aber ein 'cd /' führt mich ungehindert ins Wurzelverzeichnis.

Rufe ich 'rbash' manuell auf, funktioniert die Restriktion und ich werde im aktuellen Verzeichnis eingesperrt.

Bash liegt in der Version 2.05b vor.

Kann mir jemand einen Tip geben?

Gruß,
Taylor

HangLoose
11.02.03, 12:07
moin

ist die rbash denn in die /etc/shells eingetragen?


Gruß HL

taylor
11.02.03, 12:14
Original geschrieben von HangLoose
ist die rbash denn in die /etc/shells eingetragen?

Das ist sie (ich hatte es bereits geschrieben :) ).

HangLoose
11.02.03, 12:55
up's hab ich überlesen :)

hast du es schonmal mit einem eintrag in der ~/.bashrc versucht.

exec /usr/bin/bash -r


ps: man bash ist ja ein wälzer :)


Gruß HL

taylor
11.02.03, 13:10
Original geschrieben von HangLoose
hast du es schonmal mit einem eintrag in der ~/.bashrc versucht.

exec /usr/bin/bash -r

Also in ~/.bashrc bringt es nichts, aber wenn ich es in ~/.bash_login schreibe, funktioniert es.

Aber ich zweifle, ob das der richtige Weg ist.

Der User kann die .bash_login ja entfernen. Um das zu verhindern, müsste ich ihm generell Schreibrecht für sein Home entziehen... und damit mache ich die Sache ja schon fast sinnlos.

Gruß,
Taylor

HangLoose
11.02.03, 13:32
Der User kann die .bash_login ja entfernen. Um das zu verhindern, müsste ich ihm generell Schreibrecht für sein Home entziehen... und damit mache ich die Sache ja schon fast sinnlos.


du könntest ja beikommen und ein extra *binärieverzeichnis* erstellen und nur dieses verzeichnis in $PATH aufnehmen. die variable $PATH kann der user ja mit der rbash nicht ändern.


Gruß HL

taylor
11.02.03, 13:33
Und ihm generell 'rm' verbieten? Nee, das will ich nicht.

Ich seh mir mal zssh an.

HangLoose
11.02.03, 13:41
und wenn du das ganze über die /etc/profile regelst? bin auch ruhig jetzt ;)


Gruß HL

taylor
11.02.03, 14:19
Hm... die Frage geht jetzt zwar schon in eine andere Richtung, aber ich führe doch mal lieber den Thread weiter, um den Zusammenhang zu erhalten:

Original geschrieben von taylor
Ich seh mir mal zssh an.
Ich habe jetzt /usr/bin/zssh als Login Shell gesetzt.

Beim Versuch, scp zu starten (scp douglas@p3:bimmelbammel.txt .) erhalte ich nach der Eingabe des Passworts diese Meldung:

tcgetattr: Invalid argument

In /var/log/syslog erscheint gleichzeitig das:


Feb 11 15:14:20 p3 sshd[9560]: Connection from 192.168.168.3 port 35328
Feb 11 15:14:20 p3 sshd[9560]: Failed none for douglas from 192.168.168.3 port 35328 ssh2
Feb 11 15:14:21 p3 sshd[9560]: Accepted password for douglas from 192.168.168.3 port 35328 ssh2
Feb 11 15:14:21 p3 ssh(pam_unix)[9562]: session opened for user douglas by (uid=1001)

Feb 11 15:14:21 p3 pam_limits[9562]: setrlimit limit #6 to soft=-1, hard=-1 failed: Operation not permitted; uid=1001 euid=1001
Feb 11 15:14:21 p3 pam_limits[9562]: setrlimit limit #7 to soft=-1, hard=-1 failed: Operation not permitted; uid=1001 euid=1001

Feb 11 15:14:21 p3 sshd[9562]: Connection closed by 192.168.168.3
Feb 11 15:14:21 p3 sshd[9562]: Closing connection to 192.168.168.3
Feb 11 15:14:21 p3 ssh(pam_unix)[9562]: session closed for user douglas

Kann mir jemand dazu einen Hinweis geben?

Gruß,
Taylor

taylor
12.02.03, 11:50
Hm.. nach vielen Testversuchen hab ich das Problem immernoch nicht im Griff.

Die zssh fliegt jetzt wohl wieder raus... diesen PAM Fehler kann ich nicht beheben.

rbash ist doch - wenn ich hier die Suche bemühe - der Standardtip.
Muss ich denn ausser /etc/shells und /etc/passwd noch etwas dazu einstellen?

Gruß,
Taylor