Consolen benutzer

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Eisfinger
Beiträge: 7
Registriert: 06.08.2012 16:17:07

Consolen benutzer

Beitrag von Eisfinger » 24.11.2012 15:16:33

Hallo zusammen,

ich möchte für meinen debian server einen neuen benutzer in der console anlegen welcher nur auf eine einzige bestimmte datei zugreifen kann (um einen minecraft server neu zu starten)!

er soll keine weiteren rechte haben!

ich versuche hier schon seit einigen tagen ne lösung zu finden jedoch komme ich auf keinen grünen zweig...

danke für euere hilfe

Benutzeravatar
WinMaik
Beiträge: 330
Registriert: 22.03.2008 10:38:00

Re: Consolen benutzer

Beitrag von WinMaik » 24.11.2012 16:22:04

Mir fällt da als erstes chroot ein, schau dir mal diesen Thread an: http://debianforum.de/forum/viewtopic.php?f=28&t=134713
Dann gäbe es z.B. noch SELinux, aber das halte ich für Overkill.

Wenn du allgemein den Shellzugriff verbieten willst, musst du wohl selbst eine kleine Shell bauen, die nur den Minecraft Server neu starten kann.

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Consolen benutzer

Beitrag von syssi » 24.11.2012 16:41:25

Eine kleine Shell bauen ist einfacher als es sich anhoert. Man nimmt sich die Skriptsprache seine vertrauens. Lernt, wie man Eingaben verarbeitet und Text ausgibt. Dann schreibt man sich ein Skript, welches z.B. so aussieht:

Code: Alles auswählen

#!/bin/bash

echo "Willkommen auf der Minecraft-Restart-Shell"
echo "Soll der Server neu gestartet werden? (y/N)"
read ANS
if [ "$ANS" == "y" ];
then
  echo "Okay, starte neu."
  # ... hier den Befehl fuer den Minecraft-Restart einfuegen ggf. mit sudo davor.
else
  echo "Dann eben nicht. Schliesse nun die Verbindung."
fi
exit 0
Der Code kommt dann in eine Datei z.B. unter /usr/local/bin/minecraft-restart-shell. Wird ausfuehrbar gemacht (chmod 755 /usr/local/bin/minecraft-restart-shell) und dem Benutzer als Standardshell hinterlegt: adduser username --shell /usr/local/bin/minecraft-restart-shell . Wenn sich dieser Benutzer nun anmeldet, so bekommt er ausschliesslich obigen Dialog aufgetischt. Da der Restart-Befehl mit den Rechten von "username" ausgefuehrt wird kann es sein, dass dazu nicht genuegend Rechte zur Verfuegung stehen. Deshalb wuerde ich den Restart-Befehl in der /etc/sudoers hinterlegen und dem entsprechenden Benutzer fuer genau diesen Befehl sudo-Rechte einraeumen.

Gruss syssi

Eisfinger
Beiträge: 7
Registriert: 06.08.2012 16:17:07

Re: Consolen benutzer

Beitrag von Eisfinger » 24.11.2012 17:11:50

syssi hat geschrieben:Eine kleine Shell bauen ist einfacher als es sich anhoert. Man nimmt sich die Skriptsprache seine vertrauens. Lernt, wie man Eingaben verarbeitet und Text ausgibt. Dann schreibt man sich ein Skript, welches z.B. so aussieht:

Code: Alles auswählen

#!/bin/bash

echo "Willkommen auf der Minecraft-Restart-Shell"
echo "Soll der Server neu gestartet werden? (y/N)"
read ANS
if [ "$ANS" == "y" ];
then
  echo "Okay, starte neu."
  # ... hier den Befehl fuer den Minecraft-Restart einfuegen ggf. mit sudo davor.
else
  echo "Dann eben nicht. Schliesse nun die Verbindung."
fi
exit 0
Der Code kommt dann in eine Datei z.B. unter /usr/local/bin/minecraft-restart-shell. Wird ausfuehrbar gemacht (chmod 755 /usr/local/bin/minecraft-restart-shell) und dem Benutzer als Standardshell hinterlegt: adduser username --shell /usr/local/bin/minecraft-restart-shell . Wenn sich dieser Benutzer nun anmeldet, so bekommt er ausschliesslich obigen Dialog aufgetischt. Da der Restart-Befehl mit den Rechten von "username" ausgefuehrt wird kann es sein, dass dazu nicht genuegend Rechte zur Verfuegung stehen. Deshalb wuerde ich den Restart-Befehl in der /etc/sudoers hinterlegen und dem entsprechenden Benutzer fuer genau diesen Befehl sudo-Rechte einraeumen.

Gruss syssi

das ist eine super antwort mein dank schonmal dafür!

jedoch ist das problem das der minecraft server über einen screen läuft und zwar unter "screen -r tekkit" da er sonst mit schließen der console offline geht...

wie kann ich den befehl dann definieren das er den screen öffnet und sobald geschehen der befehl stop ausgeführt wird? (server wird aufgrund eines scripts bei dem befehl stop neu gestartet)

ich bin leider nicht so der coder...

bez. sudo befehle einräumen schau ich mal nach nem tut!

Benutzeravatar
TRex
Moderator
Beiträge: 8375
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Consolen benutzer

Beitrag von TRex » 24.11.2012 17:44:34

Kleiner Tipp: Debianlshell auch @ syssi :) Habs allerdings bislang nur aus Usersicht gesehen, noch nicht selbst konfiguriert.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Consolen benutzer

Beitrag von syssi » 24.11.2012 22:05:13

TRex hat geschrieben:Kleiner Tipp: Debianlshell auch @ syssi :) Habs allerdings bislang nur aus Usersicht gesehen, noch nicht selbst konfiguiert.
Cool! Das ist vermutlich ein sicherer Ansatz als ein loechriges Bash-Skript insb. wenn man wenig Ahnung hat.

pferdefreund
Beiträge: 3800
Registriert: 26.02.2009 14:35:56

Re: Consolen benutzer

Beitrag von pferdefreund » 26.11.2012 14:16:13

und wie wäre es mit einem Start des Servers mit nohup ? Da braucht es kein screen usw und gut is.

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Consolen benutzer

Beitrag von syssi » 26.11.2012 14:30:00

Ich verstehe noch weniger, wieso es unter dem Gaming-Volk keine Leute gibt, die mal ein vernuenftiges Init-Skript schreiben, um diese Dienste ordnungsgemaess zu starten und zu stoppen.

Benutzeravatar
Meillo
Moderator
Beiträge: 9279
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Consolen benutzer

Beitrag von Meillo » 26.11.2012 14:42:45

Ohne auf screen(1) oder auf den Server-Restart einzugehen habe ich ssh mit public key Authentifizierung und ein ``forced command'' in den Raum zu werfen.

Ansonsten kann ich syssi nur beipflichten:
syssi hat geschrieben:Ich verstehe noch weniger, wieso es unter dem Gaming-Volk keine Leute gibt, die mal ein vernuenftiges Init-Skript schreiben, um diese Dienste ordnungsgemaess zu starten und zu stoppen.
Use ed once in a while!

Clio

Re: Consolen benutzer

Beitrag von Clio » 26.11.2012 17:33:53

syssi hat geschrieben:...wieso es unter dem Gaming-Volk keine Leute gibt, die mal ein vernuenftiges Init-Skript schreiben...
Vielleicht wenn sowas als Spiel deklariert würde, aber so wohl eher nicht....
ist aber ziemlich OT von mir.

Benutzeravatar
Draal
Beiträge: 711
Registriert: 11.03.2005 14:45:26

Re: Consolen benutzer

Beitrag von Draal » 26.11.2012 19:07:04

Naja,
syssi hat geschrieben:Ich verstehe noch weniger, wieso es unter dem Gaming-Volk keine Leute gibt, die mal ein vernuenftiges Init-Skript schreiben, um diese Dienste ordnungsgemaess zu starten und zu stoppen.
die gibt es schon, ob sie vernuenftig sind moechte ich nicht beurteilen. ;) Hier gibt es ein Skript, das dem Eisfinger vielleicht hilft. Es uebergibt den Server in eine screen Konsole.

viele Gruesse

Draal

Antworten