Consolen benutzer
Consolen benutzer
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
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
Re: Consolen benutzer
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.
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.
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Consolen benutzer
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:
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
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
Gruss syssi
Re: Consolen benutzer
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:
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.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
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!
Re: Consolen benutzer
Kleiner Tipp:
lshell auch @ syssi
Habs allerdings bislang nur aus Usersicht gesehen, noch nicht selbst konfiguriert.
![Debian](/pics/debianpackage.png)
![Smile :)](./images/smilies/icon_smile.gif)
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Consolen benutzer
Cool! Das ist vermutlich ein sicherer Ansatz als ein loechriges Bash-Skript insb. wenn man wenig Ahnung hat.TRex hat geschrieben:Kleiner Tipp:lshell auch @ syssi
Habs allerdings bislang nur aus Usersicht gesehen, noch nicht selbst konfiguiert.
-
- Beiträge: 3800
- Registriert: 26.02.2009 14:35:56
Re: Consolen benutzer
und wie wäre es mit einem Start des Servers mit nohup ? Da braucht es kein screen usw und gut is.
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Consolen benutzer
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.
Re: Consolen benutzer
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:
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!
Re: Consolen benutzer
Vielleicht wenn sowas als Spiel deklariert würde, aber so wohl eher nicht....syssi hat geschrieben:...wieso es unter dem Gaming-Volk keine Leute gibt, die mal ein vernuenftiges Init-Skript schreiben...
ist aber ziemlich OT von mir.
Re: Consolen benutzer
Naja,
Hier gibt es ein Skript, das dem Eisfinger vielleicht hilft. Es uebergibt den Server in eine screen Konsole.
viele Gruesse
Draal
die gibt es schon, ob sie vernuenftig sind moechte ich nicht beurteilen.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.
![Wink ;)](./images/smilies/icon_wink.gif)
viele Gruesse
Draal