• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Alle Dateien/Ordner in Ordner A mit gleichen Rechten

Hallo!
Ich habe ein Problem, an dem wahrscheinlich schon viele Leute ohne ACL hängen geblieben sind. Da auf meinem "Spezi"-Linux standardmäßig kein ACL vorhanden ist, muss man das aber doch auch irgendwie hinkriegen?

Problem: Ich habe Ordner A und beliebig viele andere Dateien/Ordner, die nach Kopieren/Verschieben in Ordner A alle die gleichen, vorher festgesetzten Rechte haben (Ordner X hat also die Rechte drw------- , nach Kopieren in Ordner A hat hat Ordner X die Rechte drwxr-xr-x und die Dateien, die in diesem Ordner X enthalten sind, sollen auch diese Rechte haben)

mit umask könnte ich das Problem beheben, aber ich will's eben nur für dieses eine Ordner A Ding haben :-(

Wenn jemand nen korrekten C-Code hat, der mir z.B. den cp-Befehl ersetzt (das ausführbare cp kann ruhig in der übergeordneten Eben wie Ordner A liegen, da sich nur da die Sachen befinden, die in Ordner A reinkopiert werden sollen und mir die Rechte korrigiert).

Ich hab's jetzt extra etwas ausführlich beschrieben, damit man sich etwas leichter reindenken kann in mein "Rechte-Zeugs" :)
 
Moin mk-arts,

doofe Frage: Die Option -a für archive (speziell auch der Rechte) bei cp kennst Du schon? Was erfüllt daran nicht deine Vorstellungen?
 
Hi!
Ich weiß jetzt nicht konkret, wie mir das weiterhelfen soll :?:

Kann man cp denn mitgeben, mit welchen Rechten alles reinkopiert werden soll in einen bestimmten Ordner?
 
Ich denke Du willst die ursprünglichen Rechte von Ordner X erhalten wenn Du ihn in Ordner A kopierst? Genau dafür sorgt die Option -a doch. Wenn Du allerdings den User und die Gruppe dann auf den Ordner A anpassen willst, wirst Du um chown -R nicht herum kommen. Sollte das häufiger vorkommen, würde ich mir an deiner Stelle ein Skript dafür basteln.
 
mk-arts schrieb:
Wenn jemand nen korrekten C-Code hat, der mir z.B. den cp-Befehl ersetzt (das ausführbare cp kann ruhig in der übergeordneten Eben wie Ordner A liegen, da sich nur da die Sachen befinden, die in Ordner A reinkopiert werden sollen und mir die Rechte korrigiert).

warum C?

aber Source-Code für cp findet sich in Deiner Distri ;) aber ich würde das als shellscript machen z.B. so: (nur für Dateien... es werden keine unterordner angelgt, aber das überlasse ich dem geneigten Leser als Übung...

Code:
#!/bin/sh

# destination-Params
DESTMODE="770"
DESTGROUP=foobar
DESTUSER=foo
DESTDIR="/tmp/"

# group/user?
if [ $(id -u) -eq 0 ]
then
  USER=1
else
  USER=0
  groups | grep "$DESTGROUP"
  if [ $? -eq 0 ]
  then
    GROUP=1
  else
    GROUP=0
  fi
fi

# loop
while [ $# -gt 0 ] 
do
  DESTFILE="$DESTDIR$(basename "$1")"
  cp "$1" "$DESTFILE"
  chmod $DESTMODE "$DESTFILE"
  
  # test group...
  if [ $USER -eq 1 ]
  then 
    chown $DESTUSER.$DESTGROUP "$DESTFILE"
  else
    echo "only root can change owner."
    if [ $GROUP -eq 1 ]
    then 
      chgrp $DESTGROUP "$DESTFILE"
    else 
      echo "you are no member of the dest-group..."
    fi
  fi
  shift
done

Aufruf mit
Code:
script file1 file2 file3...
 
Ihr stellt Euch aber an... mk-arts schreibt doch ganz klar, dass die kopierten Files _neue_ pauschal festgelegte Rechte bekommen sollen, egal was vorher war....

d.h. es läuft auf einen copy & change Vorgang raus...
 
Evtl hilft ja auch das Kommando install. Damit kannst du Files kopieren und gleichzeitig die Rechte mitangeben, zB.

Code:
install --mode=u=rwX,g=,o=  QUELLDATEIEN ZIEL
 
Hi!

Also den "install"-Befehl kannte ich noch absolut gar nicht. Danke, den werd ich mir mal merken müssen, gute Sache :)

Zu meinem Problem: Es ist mal wieder so, wie oft: Ich hab mein Problemchen ohne die ganzen Sachen wie Zusatzskripte etc... lösen können. Irgendwie hat irgendwas gepasst und nun legt er mir die Ordner und Dateien schon mit den richtigen Rechten an und beim Kopieren oder Verschieben in meinen beliebten "Ordner A" muss ich also auf gar nichts mehr großartig aufpassen :)

Danke trotzdem allen!

Wie gewöhnlich: Mit dem PC bekommst du Probleme, die du ohne ihn gar nicht hättest.
 
Hi!
Keine Ahnung. Aber die Aussage der beiden Sätze ist doch gleich ?
Naja, oder besser gesagt, die Wörter stimmen :)
 
Oben