Dateizugriffsrechte

Dieses Thema im Forum "Linux OS" wurde erstellt von Traxstar, 28.10.2014.

  1. #1 Traxstar, 28.10.2014
    Traxstar

    Traxstar Grünschnabel

    Dabei seit:
    28.10.2014
    Beiträge:
    2
    Zustimmungen:
    0
    Hey,

    wenn ich eine Datei habe und einem Nutzer Ausührrechte (x) gebe aber keine Lesrechte (r)? Was passiert dann? Kann er die Datei normal öffnen oder kann er sie sogar lesen ??

    Und was ist genau andersrum ? Also r aber kein x?

    Bitte mit erklärung :/

    MfG
    Trax
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. reni

    reni Guest

    Benutze doch einfach mal die Suchmaschine deiner Wahl.
    Dazu gibt es Erklärungen ohne Ende im Netz und deshalb wird dir wohl kaum jemand noch einmal alles "vorkauen"!
     
  4. #3 Traxstar, 28.10.2014
    Traxstar

    Traxstar Grünschnabel

    Dabei seit:
    28.10.2014
    Beiträge:
    2
    Zustimmungen:
    0
    hätte ich was im netz gefunden hätte ich wohl kaum gefragt
     
  5. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    Doofe Option: Probier es aus.
     
  6. reni

    reni Guest

    :]
     
  7. #6 bitmuncher, 29.10.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Wenn ein User Execute-Rechte hat, aber keine Leserechte, kann er die Datei noch immer nicht ausführen und bekommt ein "Permission denied"-Fehler. Zum Ausführen muss der User ja den Inhalt nutzen können und dafür braucht's Leserechte.

    Code:
    $ cat test
    #!/bin/bash
    
    echo "Hello"
    
    $ ls -lha test
    -r-x------  1 bitmuncher  staff    26B Oct 29 10:51 test # <- User hat Read und Execute zur Verfügung
    
    $ ./test
    Hello
    # Datei kann also ausgeführt werden, sofern sie einen ausführbaren Inhalt hat
    
    $ chmod u-r test && ls -l test
    ---x------  1 bitmuncher  staff  26 Oct 29 10:51 test # Leserechte wurden entzogen
    
    $ ./test
    /bin/bash: ./test: Permission denied 
    # Datei kann nicht mehr ausgeführt werden, da der Interpreter - die Shell - den Inhalt nicht mehr lesen kann
    
    $ cat test
    cat: test: Permission denied # Lesen der Datei ist nicht mehr möglich
    
    Dann kann der User die Datei lesen aber nicht ausführen.

    Code:
    $ chmod u-x,u+r test && ls -l test
    -r--------  1 bitmuncher  staff  26 Oct 29 10:51 test # <- User hat nur noch Leserechte
    
    $ ./test
    -bash: ./test: Permission denied # Datei ist nicht mehr ausführbar
    
    $ cat test
    #!/bin/bash
    
    echo "Hello"
    # aber die Datei kann gelesen werden
    
    Natürlich bringen die Execute-Rechte nur was, wenn die Datei auch einen ausführbaren Inhalt hat. Es muss sich also um ein ELF-Binary oder um ein Skript mit einleitender Shebang handeln. Sonst gibt's Fehler von der Shell.

    Code:
    $ echo foobar > test
    
    $ ls -l test
    -rwx------  1 bitmuncher  staff  7 Oct 29 11:02 test
    
    $ cat test
    foobar
    
    $ ./test
    ./test: line 1: foobar: command not found
    
    Die einzige Ausnahme sind Skripte, die von der ausführenden Shell verstanden werden. Das heisst, dass du bei einem Bash-Skript auf die Shebang verzichten kannst, wenn deine Shell die Bash ist. Bei einem Korn-Shell-Skript kannst du auf die Shebang verzichten, wenn deine Shell die Korn-Shell ist usw..

    Code:
    $ cat test
    echo "Hello"
    
    $ ls -l test
    -rwx------  1 bitmuncher  staff  13 Oct 29 11:08 test
    
    $ ./test
    Hello
    # es wird automatisch die aktuelle Shell als Interpreter verwendet, da keine Shebang verwendet wird
    
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    Fast :-)
    Code:
    xxx@linux7 ~]$ cd work/
    [xxx@linux7 work]$ ls -la
    insgesamt 8
    drwxrwxr-x   2 xxx xxx 4096 29. Okt 11:11 .
    drwx------. 46 xxx xxx 4096 29. Okt 11:09 ..
    [xxx@linux7 work]$ cp /bin/ls ls
    [xxx@linux7 work]$ chmod 100 ls
    [xxx@linux7 work]$ ./ls
    ls
    [xxx@linux7 work]$ ls
    ls
    [xxx@linux7 work]$ ls -la
    insgesamt 116
    drwxrwxr-x   2 xxx xxx 4096 29. Okt 11:11 .
    drwx------. 46 xxx xxx 4096 29. Okt 11:09 ..
    ---x------   1 xxx xxx 109208 29. Okt 11:11 ls
    vs. :-)
    Code:
    [xxx@linux7 work]$ vi ls.sh
    [xxx@linux7 work]$ more ls.sh
    #!/bin/bash
    
    ls
    
    [xxx@linux7 work]$ ls -la
    insgesamt 120
    drwxrwxr-x   2 xxx xxx 4096 29. Okt 11:14 .
    drwx------. 46 xxx xxx 4096 29. Okt 11:14 ..
    ---x------   1 xxx xxx 109208 29. Okt 11:11 ls
    -rw-rw-r--   1 xxx xxx 16 29. Okt 11:14 ls.sh
    [xxx@linux7 work]$ bash ls.sh
    ls  ls.sh
    [xxx@linux7 work]$ chmod 100 ls.sh
    [xxx@linux7 work]$ bash ls.sh
    bash: ls.sh: Keine Berechtigung
    [xxx@linux7 work]$ ./ls.sh
    /bin/bash: ./ls.sh: Keine Berechtigung
    [xxx@linux7 work]$
    
    ... kommt also drauf an. Siehe Doku :-)
     
  10. #8 bitmuncher, 29.10.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Stimmt, bei Binaries verhält es sich offenbar anders, da ja "nur" der Interpreter/das ausführende Programm die Datei lesen können muss. Im Fall von ELF-Binaries wird die Ausführung dem Kernel übergeben und der kann die Datei eh lesen.
     
Thema:

Dateizugriffsrechte

Die Seite wird geladen...

Dateizugriffsrechte - Ähnliche Themen

  1. warum oktalsystem bei Dateizugriffsrechte?

    warum oktalsystem bei Dateizugriffsrechte?: Hallo zusammen, meine Frage lässt sich eigentlich schon aus dem Topic nachvollziehen... Ich habe gerade eine Präsentation über...