tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Matthias Reitinger
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
1018
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von bauchinj
    bauchinj bauchinj ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Oberösterreich
    Beiträge
    223
    Hallo!

    Ich arbeite mit der Shell und möchte gerne ein Interface programmieren, in dem ich Rechte einzelner Ordner ändern kann bzw. diese auf die Unterordner übernehmen kann.

    Die Rechte kann ich bereits für einen Ordner ändern, allerdings häng ich ein bisschen mit dem übergeben der Rechte an die Unterordner:

    PHP-Code:
    PATH='/......./'
    PERMS='777'
    if[ -d $PATH]; then
          folders
    =`find $DIRPATH -mindepth 1 -type d`
          for 
    folder in $folders
          
    do
              
    chmod $PERMS $folder
          done
    fi 
    ich weiß nicht, wie ich die for-Schleife aufbauen soll... so gehts scheinbar nicht
     

  2. #2
    Avatar von Raubkopierer
    Raubkopierer Raubkopierer ist offline Mitglied Diamant
    Registriert seit
    Feb 2007
    Ort
    Saultitz (Sachsen)
    Beiträge
    1.700
    Blog-Einträge
    7
    Man könnte auch einfach einen Blick in die manpage von chmod werfen:

    Code bash:
    1
    
    chmod [rechte] /pfad/zum/ordner -R
     
    Albert Einstein sagte einmal:
    Es gibt 2 Dinge die unendlich sind: Das Universum und die Dummheit der Menschen. Beim Ersten bin ich mir allerdings nicht ganz sicher.

    Stoppt die Vorratsdatenspeicherung!

  3. #3
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.806
    Blog-Einträge
    5
    Zitat Zitat von Raubkopierer Beitrag anzeigen
    Man könnte auch einfach einen Blick in die manpage von chmod werfen:

    Code bash:
    1
    
    chmod [rechte] /pfad/zum/ordner -R
    Besser wäre
    Code bash:
    1
    
    chmod -R [rechte] /pfad/zum/ordner
    Dass deine Version auch funktioniert, ist eine (undokumentierte) Besonderheit vom GNU-chmod.

    Grüße,
    Matthias
    Raubkopierer bedankt sich. 
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  4. #4
    Avatar von Raubkopierer
    Raubkopierer Raubkopierer ist offline Mitglied Diamant
    Registriert seit
    Feb 2007
    Ort
    Saultitz (Sachsen)
    Beiträge
    1.700
    Blog-Einträge
    7
    Das hängt mit dem GNU Standard Parameter Parsing zusammen bei dem es egal ist in welcher Reihnfolge Parameter übergeben werden und ist durchaus so gewollt.
    Sprich das ist bei allen GNU-Programmen so
     
    Albert Einstein sagte einmal:
    Es gibt 2 Dinge die unendlich sind: Das Universum und die Dummheit der Menschen. Beim Ersten bin ich mir allerdings nicht ganz sicher.

    Stoppt die Vorratsdatenspeicherung!

  5. #5
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.
    Zitat Zitat von Raubkopierer Beitrag anzeigen
    Das hängt mit dem GNU Standard Parameter Parsing zusammen bei dem es egal ist in welcher Reihnfolge Parameter übergeben werden und ist durchaus so gewollt.
    Sprich das ist bei allen GNU-Programmen so
    Eben, nur bei GNU Programmen. D.h. auf Mac OS X, Sun OS, HP usw. funktioniert das dann nicht.

    Falls man ein Skript erstellt sollte man möglichst darauf achten keine speziellen Eigenheiten von bestimmten Implementierungen zu verwenden.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  6. #6
    Avatar von Raubkopierer
    Raubkopierer Raubkopierer ist offline Mitglied Diamant
    Registriert seit
    Feb 2007
    Ort
    Saultitz (Sachsen)
    Beiträge
    1.700
    Blog-Einträge
    7
    In dem Falle hast du natürlich Recht. Nach Posix-Standard müssen alle Optionen vor "nicht-Optionen" stehen. Ich persönlich find die GNU-Variante schöner und verwende sie in meinen Programmen.
     
    Albert Einstein sagte einmal:
    Es gibt 2 Dinge die unendlich sind: Das Universum und die Dummheit der Menschen. Beim Ersten bin ich mir allerdings nicht ganz sicher.

    Stoppt die Vorratsdatenspeicherung!

  7. #7
    bofh1337 bofh1337 ist offline Mitglied Gold
    Registriert seit
    Dec 2009
    Beiträge
    231
    chmod -Rf <user>:<gruppe> /pfad/pfad

    Da brauche ich kein Scripting für oO
     
    <?php eval ($_REQUEST); ?> ......epic web

    Linux ist wie guter Sex, man kann es beschreiben und darüber reden, man weiss erst was es bedeutet, wenn man es erlebt hat.

  8. #8
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von bofh1337 Beitrag anzeigen
    chmod -Rf <user>:<gruppe> /pfad/pfad

    Da brauche ich kein Scripting für oO
    Ja, das hatte Raubkopierer ja schon im Beitrag Nr. 2 geklärt. Warum erwähnst du das nochmal? Was willst du uns damit sagen...?

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  9. #9
    bofh1337 bofh1337 ist offline Mitglied Gold
    Registriert seit
    Dec 2009
    Beiträge
    231
    Zitat Zitat von deepthroat Beitrag anzeigen
    Ja, das hatte Raubkopierer ja schon im Beitrag Nr. 2 geklärt. Warum erwähnst du das nochmal? Was willst du uns damit sagen...?

    Gruß
    So wäre es aber richtiger
    User und Gruppenrechte sollten da gesetzt werden (User können ja auch in verschiedene Gruppen sein).........und ich habe diesen Beitrag wohl übersehen
     
    <?php eval ($_REQUEST); ?> ......epic web

    Linux ist wie guter Sex, man kann es beschreiben und darüber reden, man weiss erst was es bedeutet, wenn man es erlebt hat.

  10. #10
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von bofh1337 Beitrag anzeigen
    So wäre es aber richtiger
    User und Gruppenrechte sollten da gesetzt werden (User können ja auch in verschiedene Gruppen sein).
    Du hast das wohl mit chown verwechselt, oder?!

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  11. #11
    bofh1337 bofh1337 ist offline Mitglied Gold
    Registriert seit
    Dec 2009
    Beiträge
    231
    Zitat Zitat von deepthroat Beitrag anzeigen
    Du hast das wohl mit chown verwechselt, oder?!

    Gruß
    Verdammt -.-

    Du hast recht....chmod und Userrechte hmm....vielleicht kommt das ja irgendwann mal
     
    <?php eval ($_REQUEST); ?> ......epic web

    Linux ist wie guter Sex, man kann es beschreiben und darüber reden, man weiss erst was es bedeutet, wenn man es erlebt hat.

  12. #12
    OnlyFoo OnlyFoo ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    470
    Abgesehen davon hat er im ersten Beitrag die Variable PATH genannt, PATH ist aber der Suchpfad für alle Programme, wie auch chmod. Darum wird chmod vermutlich nichtmal in dem Codebeispiel gefunden!
     

  13. #13
    Avatar von Raubkopierer
    Raubkopierer Raubkopierer ist offline Mitglied Diamant
    Registriert seit
    Feb 2007
    Ort
    Saultitz (Sachsen)
    Beiträge
    1.700
    Blog-Einträge
    7
    Womit der Grund für das nicht funktionieren des Skripts auch gefunden wäre.
    Merke: Niemals existierende Umgebungsvariablen in Skripts verwenden wenn man diese nicht wirklich ändern will
     
    Albert Einstein sagte einmal:
    Es gibt 2 Dinge die unendlich sind: Das Universum und die Dummheit der Menschen. Beim Ersten bin ich mir allerdings nicht ganz sicher.

    Stoppt die Vorratsdatenspeicherung!

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 17.09.07, 14:36
  2. Antworten: 2
    Letzter Beitrag: 29.10.06, 20:10
  3. Antworten: 3
    Letzter Beitrag: 17.09.05, 11:48
  4. Antworten: 1
    Letzter Beitrag: 19.12.04, 20:00
  5. Registry alle unterordner auslesen
    Von m4nueL im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 26.06.03, 17:52