Shell auf Screenausgabe beschränken?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
fipps
Beiträge: 10
Registriert: 26.03.2009 19:50:03

Shell auf Screenausgabe beschränken?

Beitrag von fipps » 26.03.2009 19:59:40

Hi,

mein Kumpel hat sich am Wochenende einen Rootserver bestellt, und mich gebeten dort FTP Gameserver und Apache zum laufen zu bringen.
Der Gameserver war das kleinste Ding. Die laufen 1a, auch der Webserver rennt wunderbar.
Beim FTP musste ich schon etwas mehr suchen um zu verhindern das ein FTP User bei ProFTPD sich durch alle Verzeichnise wühlen konnte. Die Losung war so winzig, aber erstmal drauf kommen das ein ~ diese Aufgabe erfüllt :google: :mrgreen:


Jetzt hat er mich gebeten einen "Game-Server-Admin" zu erstellen, der Zugriff auf dem Server via FTP und SSH haben soll.
Doch ich kann mich mit dem Gedanken nicht anfreunden, dass er mit seiner Shell ebenfalls durchs gesamte System Krabbeln kann.
Ich hatte mal einen Gameserveranbieter, der hatte die Shell auf den Screen vom Gameserver verlinkt.
So in etwa würde ich mir das auch vorstellen - hab allerdings nicht den blaßen schimmer wie ich das anstellen soll.

Im Netz hab ich was gelesen über CHroot oder rssh, aber die Anleitungen beziehen sich alle nur auf den FTP Dienst.
Wenn ich dort bereits auf der richtigen Pfärte bin, wäre ich für ein Link zu einer Anleitung dankbar.

Hoffe ihr versteht was ich meine.

mcdikki
Beiträge: 312
Registriert: 11.06.2007 18:14:45
Lizenz eigener Beiträge: MIT Lizenz

Re: Shell auf Screenausgabe beschränken?

Beitrag von mcdikki » 26.03.2009 21:47:14

Ja, chroot ist die richtige spur.

So kannst du den User in ein Verzeichnis einsperren.

lg mcdikki
LINUX - Life is too short for reboot!

Samba PDC auf Debian Etch | 2xIntel Xeon 3GHz - 2048 MB RAM - RAID 10 mit 3Ware 9550SX-4LP und 4x80GB HDD SATAII

fipps
Beiträge: 10
Registriert: 26.03.2009 19:50:03

Re: Shell auf Screenausgabe beschränken?

Beitrag von fipps » 26.03.2009 22:01:24

Ok,

die Anleitungen die ich bisher gefunden habe, beziehen sich aber alle nur auf den FTP Zugang.
Steht irgendwo geschrieben wie ich das einrichten kann, dass die Benutzershell ebenfalls gefangen gehalten wird?

mcdikki
Beiträge: 312
Registriert: 11.06.2007 18:14:45
Lizenz eigener Beiträge: MIT Lizenz

Re: Shell auf Screenausgabe beschränken?

Beitrag von mcdikki » 26.03.2009 22:06:33

genau sagen kann ich es dir nicht. Aber ein paar Hinweise kann ich dir vielleicht geben.

Du kannst jedem Benutzer eine Shell zuweisen. Damit lässt dich vielleicht eine Shell Starten, die erst ein chroot ausführ und dann bash startet oder so.

Ansonsten gibt es aber bestimmt anleitungen dafür, schließlich ist das ja bei Webhostern normal, dass man nur auf sein Homeverzeichnis kommt.

lg mcdikki
LINUX - Life is too short for reboot!

Samba PDC auf Debian Etch | 2xIntel Xeon 3GHz - 2048 MB RAM - RAID 10 mit 3Ware 9550SX-4LP und 4x80GB HDD SATAII

DeletedUserReAsG

Re: Shell auf Screenausgabe beschränken?

Beitrag von DeletedUserReAsG » 26.03.2009 23:27:32

Du kannst jedem Benutzer eine Shell zuweisen.
Und vielleicht sogar ein laufendes, chrootetes screen als "Shell" angeben. Würde ich nun jedenfalls probieren ^^

cu,
niemand

fipps
Beiträge: 10
Registriert: 26.03.2009 19:50:03

Re: Shell auf Screenausgabe beschränken?

Beitrag von fipps » 27.03.2009 03:08:07

wie soll der eintrag in der passwd für den user dann ausschauen?
derzeit hab ich ihn auf /home/username:/usr/bin/rssh stehen, aber das klappt noch nicht so richtig.

uname
Beiträge: 12481
Registriert: 03.06.2008 09:33:02

Re: Shell auf Screenausgabe beschränken?

Beitrag von uname » 27.03.2009 08:35:42

Ich habe noch nicht eine Lösung gesehen wo eine chroot für eine SSH-Verbindung funktioniert. Oft kann man Programme in sein Verzeichnis hochladen und dann z.B. mit

Code: Alles auswählen

cat ../../etc/passwd
doch auf Daten zugreifen. Auch gibt man dem Anwender gerne einen "vi" und dort kann man dann per ":sh" ausbrechen. Die Möglichkeiten sind wohl unbegrenzt.

Ich würde wohl eher ein Shell-Script mit den notwendigen Befehlen schreiben und dieses für den Benutzer in /etc/passwd als Shell eintragen. Zum Starten, Stoppen usw. sollte das wohl ausreichen. Es sollte schwer sein daraus dann eine echte Shell zu starten.

fipps
Beiträge: 10
Registriert: 26.03.2009 19:50:03

Re: Shell auf Screenausgabe beschränken?

Beitrag von fipps » 12.04.2009 14:04:25

ich hab was anderes probiert, womit ich mich zufrieden geben kann.
"rbash" als benutzershell zuweisen und der user wird auf sein heimverzeichnis beschränkt, da der befehl "cd" gesperrt ist.
das reicht mir vollkommen aus. den screen kann er ja mit screen -r aufrufen.

uname
Beiträge: 12481
Registriert: 03.06.2008 09:33:02

Re: Shell auf Screenausgabe beschränken?

Beitrag von uname » 14.04.2009 09:07:55

"rbash" als benutzershell zuweisen und der user wird auf sein heimverzeichnis beschränkt, da der befehl "cd" gesperrt ist.
Hatte ich vor Jahren auch probiert. Also mir sind mehrere Möglichkeiten zum Ausbrechen eingefallen. Die einfachste war wohl im Vim.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Shell auf Screenausgabe beschränken?

Beitrag von ThorstenS » 14.04.2009 10:09:29

seit OpenSSH 4.8 (lenny hat 5.2) kannst du die User in einem Verzeichnis einsperren, das ist total easy über die sshd_config zu bewerkstelligen:

Code: Alles auswählen

AllowGroups netlogin gamemaster
Subsystem sftp /usr/lib/openssh/sftp-server 

Match group gamemaster
 ChrootDirectory /home 
 X11Forwarding no 
 AllowTcpForwarding no 
 # ForceCommand internal-sftp 
Du nimmst deinen Admin-User in die Gruppe netlogin auf (musst du erstellen), der kann ganz normal arbeiten.
Alle Benutzer in der neu zu erstellenden Gruppe gamemaster sind unter /home eingesperrt. Du kannst sie auch in ihrem Home einsperren, dann gehört glaube ich noch ein %u dahinter. die sshd_manpage oder google sagen dir das schon.

Probiers erstmal lokal aus, bevor du dich aussperrst ;-)

Achja: Der ForceCommand Befehl wäre nützlich, wenn der gamemaster nur sftp nutzen soll.

uname
Beiträge: 12481
Registriert: 03.06.2008 09:33:02

Re: Shell auf Screenausgabe beschränken?

Beitrag von uname » 14.04.2009 10:37:41

Danke für die Informationen, kannte ich noch nicht.

Damit ist aber das ursprüngliche Problem nicht behoben. Wie stellt man es nun an, dass man z.B. ein paar Befehle wie z.B. /bin/bash ausführen kann, um dann z.B. auch nur eine kleine Anwendung über SSH neu anzustarten.
Mein Test mit dem Kopieren von /bin/bash nach/home/user/bin/bash und Setzen der Shell in /etc/passwd ist fehlgeschlagen. Fehlermeldung: /bin/bash nicht gefunden. Jemand eine Idee?

Aber um auf "scponly" zu verzichten ist der "Match group" - Eintrag wirklich nicht schlecht.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Shell auf Screenausgabe beschränken?

Beitrag von ThorstenS » 14.04.2009 10:47:28

Ich nutze es nur für sftp, meine User dürfen nichts ausführen.
Aber für gameserver gibt es doch zuhauf Lösungen mit einem Webinterface.
Wenn es nur um das Starten/Stoppen eines Gameservers geht, würde ich nach so einer cgi oder php Lösung Ausschau halten.

Antworten