141128
24.04.2022, aktualisiert um 13:52:27 Uhr
1256
13
0
Suche Linux Directory zur Verwendung in Bashscript
Servus,
Ich bastle gerade an einem kleinen Bashscript das eine Basic Arch Installation etwas einrichtet, überwiegend zum lernen und aus Spaß.
Ich möchte Dinge wie yay oder Snap gescriptet installieren, das Hauptscript läuft mit Root rechten, also wird mit sudo aufgerufen weil ich auch viel mit pacman installiere und so. Yay bzw makepkg mögen root ja nicht so darum habe ich das ganze in extra scripts ausgelagert die mit "sudo -u $SUDO_USER bash ./script.sh" aufgerufen werden.
Es bleibt aber ein Problem, irgendwas schreit immer wegen Zugriffsrechten, das ganze findet so standard mässig ja im Home Directory statt.
Ich bin leider mit der Linux Dir Struktur noch nicht zu 100% vertraut, komme eher von Windows... Ich suche ein Dir das ich benutzen könnte in dem alle Nutzer und Root rechte haben und ich die scripts nachladen, git clonen und makepkg ausführen kann ohne das mir Zugriffsrechte dazwischen funken.
Bzw allgemeiner würd mich auch interessieren wie man das mit Git am besten macht, ich schätze mal es geht besser als das einfach ins Home dir zu clonen...
Ich hab natürlich schon gegoogelt aber nix gefunden, mag aber auch daran liegen das ich ned wirklich wusste wie ich die Frage direkt formulieren soll ohne so nen Absatz hier...
Wenn ich irgendwas wichtiges übersehen hab oder einfach noch nicht gelernt habe freu ich mich auch über Hinweise in die richtige Richtung
Vielen Dank schonmal
Ich bastle gerade an einem kleinen Bashscript das eine Basic Arch Installation etwas einrichtet, überwiegend zum lernen und aus Spaß.
Ich möchte Dinge wie yay oder Snap gescriptet installieren, das Hauptscript läuft mit Root rechten, also wird mit sudo aufgerufen weil ich auch viel mit pacman installiere und so. Yay bzw makepkg mögen root ja nicht so darum habe ich das ganze in extra scripts ausgelagert die mit "sudo -u $SUDO_USER bash ./script.sh" aufgerufen werden.
Es bleibt aber ein Problem, irgendwas schreit immer wegen Zugriffsrechten, das ganze findet so standard mässig ja im Home Directory statt.
Ich bin leider mit der Linux Dir Struktur noch nicht zu 100% vertraut, komme eher von Windows... Ich suche ein Dir das ich benutzen könnte in dem alle Nutzer und Root rechte haben und ich die scripts nachladen, git clonen und makepkg ausführen kann ohne das mir Zugriffsrechte dazwischen funken.
Bzw allgemeiner würd mich auch interessieren wie man das mit Git am besten macht, ich schätze mal es geht besser als das einfach ins Home dir zu clonen...
Ich hab natürlich schon gegoogelt aber nix gefunden, mag aber auch daran liegen das ich ned wirklich wusste wie ich die Frage direkt formulieren soll ohne so nen Absatz hier...
Wenn ich irgendwas wichtiges übersehen hab oder einfach noch nicht gelernt habe freu ich mich auch über Hinweise in die richtige Richtung
Vielen Dank schonmal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2586196819
Url: https://administrator.de/contentid/2586196819
Ausgedruckt am: 04.11.2024 um 18:11 Uhr
13 Kommentare
Neuester Kommentar
Moin
einfach "selber machen":
ggf einzelnen Dateien in diesem Order, die später dazukommen nochmal per chmod die Berechtigungen explizit nochmal zuweisen.
lks
PS: Ein solcher Ordner, insbesondere wenn da Skripte mit root-rechten ausgeführt werden, ist ein großen Einfallstor für Ungeziefer und daher ein nogo! Du solltest daher nochmal überdenken, was Du da genau treibst.
einfach "selber machen":
$ mkdir ~/unsicherer-ordner
mkdir: Verzeichnis '/home/blabla/unsicherer-ordner' angelegt
$ chmod -vR a+rwx
der Modus von '/home/blabla/unsicherer-ordner' wurde von 0775 (rwxrwxr-x) in 0777 (rwxrwxrwx) geändert
$
ggf einzelnen Dateien in diesem Order, die später dazukommen nochmal per chmod die Berechtigungen explizit nochmal zuweisen.
lks
PS: Ein solcher Ordner, insbesondere wenn da Skripte mit root-rechten ausgeführt werden, ist ein großen Einfallstor für Ungeziefer und daher ein nogo! Du solltest daher nochmal überdenken, was Du da genau treibst.
Zitat von @141128:
Hi,
danke schonmal
Aber wo würde ich das denn reinmachen? Du hast jetzt /Home/ genommen aber mein Eindruck war das das eher ungeeignet für sowas ist...
Hi,
danke schonmal
Aber wo würde ich das denn reinmachen? Du hast jetzt /Home/ genommen aber mein Eindruck war das das eher ungeeignet für sowas ist...
/home war nur ein Beispiel. /var oder /opt, ggf auch unter /srv würde sowas hinpassen. Kommt darauf an, wie das im ganzen zusammenhängt.
Danke für den Hinweis, ich bin absolut nicht darauf fixiert, was wäre denn eine bessere Herangehensweise wenn ich so direkt fragen darf?
Den Skripten nur die Rechte geben die sie brauchen und ggf. Jedesmal passend frisch setzen. Aber ohne das ganze im Zusammenhang zu sehen kann man da schlecht raten.
lks
Hallo,
von der Sache her, kommen User-defined Zusatzaufgabenscripte eigentlich nach /usr/local/sbin .. wenn es denn allgemeine Scripte sind.
( weils auch typisch im PATH liegt)
Du kannst natürlich überall hin (kommt etewas auf Aufgabe und Verwenung an) und wie man es aufufen will.
Evtl. musst du es mit "vollem Namen" (also mit Pfad) aufrufen oder eben die PATH-Variable erweitern.
Fred
von der Sache her, kommen User-defined Zusatzaufgabenscripte eigentlich nach /usr/local/sbin .. wenn es denn allgemeine Scripte sind.
( weils auch typisch im PATH liegt)
Du kannst natürlich überall hin (kommt etewas auf Aufgabe und Verwenung an) und wie man es aufufen will.
Evtl. musst du es mit "vollem Namen" (also mit Pfad) aufrufen oder eben die PATH-Variable erweitern.
Fred
Moin,
du widersprichst dir ein wenig.
Gruß Thomas
du widersprichst dir ein wenig.
Zitat von @141128:
Ich suche ein Dir das ich benutzen könnte in dem alle Nutzer und Root rechte haben
muss wenn dann erstellt werden. Wo du diesen erstellst, bleibt dir überlassen.Ich suche ein Dir das ich benutzen könnte in dem alle Nutzer und Root rechte haben
das Hauptscript läuft mit Root rechten
Beachte: Normale Benutzer sollten NIEMALS(!!!) etwas verändern können, was mit Root-Rechten läuft.Meine aktuelle Frage betrifft aber eher ein einmaliges Ding, also es wird nach dem aufsetzen von Arch einmal ausgeführt und kann dann wieder gelöscht werden, alle bleibenden Sachen würde das Script sowieso nochmal extra platzieren.
Wenn das Skript doch nur einmalig läuft; und anschließend sowieso wieder gelöscht wird - wieso müssen dann alle Benutzer Zugriff darauf haben?!Gruß Thomas
Zitat von @141128:
Die suche nach dem Dir war eher so gemeint wo ich sowas generell platzieren sollte, das ich mir dann selber alle Ordner erstelle die ich brauche ist klar aber ich bin mir nicht ganz darüber klar welcher Pfad in Linux generell für sowas verwendet werden soll.
Die suche nach dem Dir war eher so gemeint wo ich sowas generell platzieren sollte, das ich mir dann selber alle Ordner erstelle die ich brauche ist klar aber ich bin mir nicht ganz darüber klar welcher Pfad in Linux generell für sowas verwendet werden soll.
Dann ist es doch klar: mach einfach ein temp-Verzeichnis o.ä. im "Setup-Directory" wo das ganz Zeug drin ist, was Du installieren willst.
lks
Zitat von @141128:
Der Teil mit alle User sollen zugriff haben ist dumm formuliert, mir ging es darum das ich bisher immer probleme mit Zugriffsrechten bekommen habe.
Der Teil mit alle User sollen zugriff haben ist dumm formuliert, mir ging es darum das ich bisher immer probleme mit Zugriffsrechten bekommen habe.
falsche Settings ?
Das Hauptscript muss mit root rechten aufgerufen werden aber einzelne Teile müssen als User laufen, darum meine ursprüngliche Frage wie ich da Konflikte vermeide.
das (jedes) Script tut etwas /soll tun - egal in welchem Userzusammenhang. Vermutlich stehst du evtl. mit den Recheten "aus Kriegsfuss" ?
Manchmal darf man sUID und sGID nutzen ... (dann läuft das Script eben in einem anderen User-ID bzw. Group-ID-Context - macht manchmal Sinn)
Fred
Zitat von @141128:
Sorry ich glaub ich stell mich blöd an aber wo macht man denn so ein Setup-Directory?
Wo du den erstellst, spielt überhaupt keine Rolle. Kannst du auch direkt im Wurzelverzeichnis machen:Sorry ich glaub ich stell mich blöd an aber wo macht man denn so ein Setup-Directory?
# Setup-Ordner erstellen
sudo mkdir /mysetup
# Alle Benutzer dürfen in Setup-Ordner lesen,schreiben und ausführen
sudo chmod -R 777 /mysetup
Gruß Thomas