Benutzerwechsel innerhalb eines Shellskripts

Gast #4888284
Lesenswert?

Morgen.

Ich habe ein Shellskript, dass aus zwei Teilen bestehen soll
1
#!/bin/bash
2

3
sudo .-.-.-.
4
sudo .-.-.-.
5

6
su NUTZER
7

8
.-.-.-.
9
.-.-.-.

Im ersten Teil wird als root gearbeitet, im zweiten Teil sollen nur ein 
paar Kopiervorgänge auf der Userebene erfolgen.

In der Shell kann ich über su NUTZER oder exit vom root in den 
user-Modus wechseln. Im Shellskript klappt das aber nicht. Alles nach 
dem su NAME bleibt unbearbeitet. Weiß jemand wieso?
Gast #4890894
Lesenswert?

Rolf Magnus schrieb:

>Man startet den Prozess als root, und der wechselt dann nachher temporär
>oder dauerhaft zu einem anderen User.

War ja bei mir der Fall. Im ersten Abschnitt soll Software als root 
installiert werden und dann einzelne configs in das Homeverzeichnis, wie 
etwa ~/.vimrc oder eine geänderte ~/.bashrc.

Hab das aber jetzt mit der Zweiscriptlösung gemacht.

A. K. schrieb:

>su - ak <<EOF

Hab gerade mal die Manpage für switch-user aufgerufen, aber da steht 
nichts von diesen Optionen -ak. Was bewirken die?
Gast #4892317
Lesenswert?

t800 schrieb:
> installiert werden und dann einzelne configs in das Homeverzeichnis, wie
> etwa ~/.vimrc oder eine geänderte ~/.bashrc.

Und warum muss du dann in den user kontext switchen? Du kannst die 
Dateien doch als root Kopieren und dann mit "chown user:group" den 
"neuen" besitzer zuweisen.
Gast #4892904
Lesenswert?

imonbln schrieb:

>Du kannst die
>Dateien doch als root Kopieren und dann mit "chown user:group" den
>"neuen" besitzer zuweisen.

Der user-switch wäre eine Zeile. Die beiden configs waren nur ein 
Beispiel. Insgesamt sind es einige mehr. Dann für jede einmal chown ..., 
da wäre mir ein einmaliges switch lieber.
Persönliche Seite #4892926
Lesenswert?

t800 schrieb:
> Der user-switch wäre eine Zeile. Die beiden configs waren nur ein
> Beispiel. Insgesamt sind es einige mehr. Dann für jede einmal chown ...,
> da wäre mir ein einmaliges switch lieber.

1. Ich kann mich irren, aber nimmt chown nicht eine Liste von Dateien 
an?
2. Wenn es mehrere Dateien sind, dann sind die ja bestimmt in einem 
Ordner? Also kannst du bei chown die r Option benutzen um rekursiv alle 
Unterdateien in einem Ordner zu ändern.
Gast #4893061
Lesenswert?

Christopher B. schrieb:
> t800 schrieb:
>> Der user-switch wäre eine Zeile. Die beiden configs waren nur ein
>> Beispiel. Insgesamt sind es einige mehr. Dann für jede einmal chown ...,
>> da wäre mir ein einmaliges switch lieber.
>
> 1. Ich kann mich irren, aber nimmt chown nicht eine Liste von Dateien
> an?
> 2. Wenn es mehrere Dateien sind, dann sind die ja bestimmt in einem
> Ordner? Also kannst du bei chown die r Option benutzen um rekursiv alle
> Unterdateien in einem Ordner zu ändern.

Wildcards/Globbing hilft meistens auch, um mit 1..2 Ausdrücke genau die 
betroffenen Dateien zu nennen.

Dann gibt's noch den Befehl install um kopieren, Eigentum&Rechte 
setzen in einem zu erledigen.
Gast #4893432
Lesenswert?

Das ist alles richtig.

Auch wenn chown eine Liste in Form der Dateinamen annimmt, würde es in 
keinem Verhältnis stehen. Es sind etwa 25 Files und die nochmal alle 
tippen, nö danke.

Aber wie gesagt, habe es mittlerweile in zwei Scripts laufen und gut 
ist.

Kommandozeile vor dem Frühstück für Alle! schrieb:

>Dann gibt's noch den Befehl install um kopieren, Eigentum&Rechte
>setzen in einem zu erledigen.

Sehr interessant, sehe ich mir auf jeden Fall an und wenn es das kann, 
was Du schreibst, bekomme ich doch noch meine Einscriptlösung
Gast #4893568
Lesenswert?

t800 schrieb:
> Auch wenn chown eine Liste in Form der Dateinamen annimmt, würde es in
> keinem Verhältnis stehen. Es sind etwa 25 Files und die nochmal alle
> tippen, nö danke.

achso zwei fragil aufeinander abgestimmte Scripte sind so viel besser 
als eine liste mit 25 Eintragen zu erzeugen und die an zwei stellen 
zunutzen?

Ich bin auch gerne faul und dass sollte jeder Techniker sein, aber ich 
wuerde lieber 2 * 25 Datein tippen als mir ein Konstrukt mit mehren 
shellscripten zu schaffen, die nur um Benutzer Datein in Ihren HOME zu 
packen. Spaetestens nach ein paar Jahren wenn Datei 26 dazu kommt wirst 
Du oder dein Kollege vergessen das beide Scripte angefasst werden 
muessen und dann, holt Dich deine Zeitersparnis von jetzt wieder ein.

Der weg mit install ist wahrscheinlich noch schoener, ich kann wuerde 
dir raten den zunehmen.
Gast #4893655
Lesenswert?

t800 schrieb:
> Achso, da waren ja noch Hinweise auf die Mögl. reg. Ausdrücke
> einzusetzen. Mal sehen, aber hier muss ich mich erst Einlesen.

Nein, keine REs. Nur Wildcards/Globbing.

Deinem Ton nach kommen REs erst in 15 Lektionen.
Gast #4893705
Lesenswert?

t800 schrieb:
> Das ist alles richtig.
>
> Auch wenn chown eine Liste in Form der Dateinamen annimmt, würde es in
> keinem Verhältnis stehen. Es sind etwa 25 Files und die nochmal alle
> tippen, nö danke.
>
> Aber wie gesagt, habe es mittlerweile in zwei Scripts laufen und gut
> ist.

Doppelt selber schuld.

1. Im Editor deiner Wahl ist es sicher kein Umstand eine bescheidene 
Liste von 25 Namen/Zeilen/Dinger zu duplizieren (kein Aufwand aber SEHR 
schlechte Herangehensweise)
PS: auch auf der Befehlszeile ist's dank Historie, notfalls 
tab-completion KEIN Aufwand.

2. Zwei Scripts schreiben können wollen, aber deren 
Kopplung/Gemeinsamkeiten unüberlegt vom Himmel gefallen liegen lassen?

-  -  -

Dass (Dateinamen-)Listen ganz einfach einer Variable zugewiesen und 
damit in Schleifenkonstrukte abgearbeitet werden können, käme Dir nicht 
in den Sinn?

Dass ein einziger Script, z.b. per Parameter, mal einen (ersten) Teil an 
Arbeit, mal einen anderen (zweiten) Teil an Arbeit mit derselben 
(Dateien-)Liste erledigen könnte, ist f. Dich wohl bestand von 
EndeDerVernunft, nicht von ElektronischerDatenVerarbeitun, gell?


Tipp: mach mal Upgrade t800 --> Toshiba T1100, der hat immerhin 4.77MHz 
Systemtakt...
Gast #4894025
Lesenswert?

@ Kommandozeile vor dem Frühstück für Alle!

Du schreibst viel, Du gehst von falschen Prämissen aus und ziehst zudem 
in  mehrfacher Hinsicht schlichtweg falsche Schlüsse. Rechtschreibfehler 
und grammatikalische Absonderlichkeiten runden den Gesamteindruck dann 
vollends ab.

Off topic noch soviel zu Deinem Post... Du denkst bei dem Kürzel t800 an 
einen Taschenrechner?!

https://www.google.de/?hl=de&q=t800
Gast #4894050
Lesenswert?

> gehst von falschen Prämissen aus
Von nicht dargelegten Prämissen aus.

> Rechtschreibfehler
> und grammatikalische Absonderlichkeiten runden den Gesamteindruck dann
> vollends ab.
Ist das Forum nun nur noch für D-Muttersprachler, wie?
Bring nochmal den Satz mit den Prämissen.

> Du denkst bei dem Kürzel t800 an
> einen Taschenrechner?!
Nein, an ein Nudelsieb wo flüssiges Metall durchrinnt.
Prämissen sag ich da nur...

> https://www.google.de/?hl=de&q=t800
Dieser Verweis öffnet mir zwar die Google Startseite, jedoch ohne Suche 
und ohne Ergebnisse.
Bleibe du also bei Deutsch und grammar nati , denn Prämissen f. EDV 
bringst erwiesenermassen ja ungenügende mit.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren