ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
1347
1347
EMPFEHLEN
-
Hallo!
Wie kann man in einer Shell-Datei soetwas festlegen;
Dies würde denke ich mal so nicht funktionieren. Wie sollte man es so machen?Code :1 2 3 4 5 6 7 8 9
if(user(xyz)) { COMMAND } else { su xyz COMMAND }
Der user "xyz" soll etwas ausführen. Wenn er auszuführende User aber nicht "xyz" ist soll sich der User wechseln.
Oder gar besser:
Ist es möglich diesen Command von einem root-user von diesem user aus auszuführen ohne ihn direkt zu wechseln?
Vielen Dank schonmal
-
Ich kenne mich mit shell-scripten eigentlich kaum aus, aber folgendes funktioniert:
Code :1 2 3 4 5 6
if test `whoami` = 'xyz' then echo "ja" else echo "nein" fi
-
30.12.09 16:19 #3
- Registriert seit
- Jul 2003
- Ort
- Montreal (Quebec)
- Beiträge
- 1.667
Nur Schönheitskorrekturen:
Code :1 2 3 4 5 6
if [ $(whoami) = "$USER" ] then $DO else $DOSOMETHINGELSE fi
If-Abfragen und Command-Substitutions würde ich der Übersichthalber deutlicher kennzeichnen. Das tut der Funktionalität keinen Abbruch
-
Hey

Okay danke schonmal aber was meint ihr mit dem
?Code :1
whoami
-
Hallöchen ich bins noch einmal
Ich habe das nun so:
Code :1 2 3 4 5 6 7 8 9
if [ $(whoami) = "css" ] then cd /home/server/counter-strike-source/27015_war screen -A -m -d -S 27015_war ./srcds_run -game cstrike -secure +map de_dust2 -maxplayers 13 -port 27015 -ip 85.214.90.108 -tickrate 100 -autoupdate else su css cd /home/server/counter-strike-source/27015_war screen -A -m -d -S 27015_war ./srcds_run -game cstrike -secure +map de_dust2 -maxplayers 13 -port 27015 -ip 85.214.90.108 -tickrate 100 -autoupdate fi
Aber laufen tut das nicht...
Kann mir da bitte einer helfen? Die Commands sind die die ausgeführt werden sollen.
Danke schonmal
-
30.12.09 23:32 #6
- Registriert seit
- Sep 2007
- Ort
- kurzfristig wieder Passau
- Beiträge
- 295
Mh ... whoami ist ein Programm, dass dir auswirft, als welcher User du eingeloggt bist ...
die Variable $LOGIN kann dir das auch sagen ...Mir hat ein Artikel, auf den ich hier gestossen bin sehr gefallen. Deswegen hat er es mal verdient, meine sonst leeren Sigs zu schmuecken:
Linux ist nicht Windows!
Ich bitte alle, die auf dem jeweils anderen OS rumhacken erst diesen Artikel zu lesen.
-
Die Zeile
braucht ein ;Code bash:1
if [ $(whoami) = "css" ]
Code bash:1
if [ $(whoami) = "css" ];
Zusaetzlich finde ich in Scripts auch noch pushd und popd, als Alternativen zu cd, ganz angenehm.PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
06.01.10 20:02 #8
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.Nein, braucht es nicht. Ein Semikolon muss man nur setzen, wenn man keinen Zeilenumbruch zwischen dem ] und dem then hat.
Allerdings führt su ja nur die Login-Shell aus -- und da passiert dann nichts weiter.
Ich würde das Skript einfach rekursiv aufrufen. Und externe Programme aufzurufen würde ich vermeiden:
GrußCode bash:1 2 3 4 5 6 7 8 9 10
if [[ "$USER" != 'css' ]]; then if [[ -n "$TRY_AS_USER_CSS" ]]; then echo "could not execute script." >&2 exit 1 fi TRY_AS_USER_CSS=1 exec su -c "$0 $@" css fi cd /home/server/counter-strike-source/27015_war screen -A -m -d -S 27015_war ./srcds_run -game cstrike -secure +map de_dust2 -maxplayers 13 -port 27015 -ip 85.214.90.108 -tickrate 100 -autoupdate
Geändert von deepthroat (06.01.10 um 20:10 Uhr)
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Ähnliche Themen
-
User-Abfrage
Von ValentinS im Forum Linux & UnixAntworten: 1Letzter Beitrag: 05.09.07, 15:25 -
Fedora-core4 shell script smb & ftp User adden
Von el loco mO im Forum Linux & UnixAntworten: 5Letzter Beitrag: 20.04.06, 13:17 -
Status abfrage eines Servers via Shell-Skript!
Von Konobi im Forum Linux & UnixAntworten: 2Letzter Beitrag: 16.09.05, 12:49 -
PHP Code zur Abfrage des User Agenten
Von son gohan im Forum PHPAntworten: 13Letzter Beitrag: 22.04.05, 14:10 -
User Id abfrage will nicht
Von Spacejumper im Forum PHPAntworten: 2Letzter Beitrag: 03.11.04, 16:19





Zitieren


Login





