Zugriffsrechte setzen chmod Admin

Dieses Thema im Forum "Hardware" wurde erstellt von akigolf, 2. März 2002.

  1. akigolf

    akigolf New Member

    Hallo

    Nachdem ich mich fast doofgesucht habe, nach einer wie ich mir vorstelle eigentlich doch einfach zu lösenden und grundsätzlichen Funktionsweise des OS X ...und keine klare und eindeutige Anleitung gefunden habe (weder in der Mac-Hilfe noch hier auf dem Mac-Welt Forum) muß ich Euch jetzt doch direkt bemühen (vorallem wahrscheinlich "hakru" wieder ;o))))) Liebe Grüße an dieser Stelle.

    Wie ändere ich mit Hilfe des Terminals die Zugriffsrechte einer Datei oder eines Folders. Bitte beschreibt es anhand eines Beispieles...sehr schön wäre der Ordner CGI-Executables....und dann vielleicht noch (wenn es anders funktioniert) ein Script hieraus. Bitte beschreibt den Vorgang von Beginn an..."Ordner ins Terminalfenster ziehen...welchen Teil des angezeigten Pfades löschen?...sudo...Oktalzahlen oder andere Beschreibung der Rechte....(bitte den genau einzugebenden Text...(für Dummies wie mich eben)).

    Oder gibt es noch eine andere Möglichkeit (das mit der "Apfeltaste und i" zeigt mir nur die Rechte für Verzeichnisse an, aber bei diversen Verzeichnissen kann ich diese nicht ändern da die Menüs ausgeblendet sind, obwohl ich als Admin eingeloggt bin).
    Bitte "wenn" nur schon auf dem System verfügbare Funktionen, keine Shareware oder sonstige Lösungen die mit der Installation von weiteren Programmen zusammenhängen...

    Über Hilfe wäre ich wirklich glücklich...ich weiß auch garnicht warum ich darüber nur so superkomplizierte "halbfertige" Beschreibungen finde??? Hab ich was verpasst??? Warum kann das anscheinend jeder nur ich nicht???

    Viele Grüße von der Waterkant

    aki
     
  2. hakru

    hakru New Member

    printenv' aus cgi-bin
    __________________________________________________________________________________
    cd /Library/Webserver/CGI-Executables

    ls -l -> lass mal sehen, was ich da habe

    [localhost:/Library/WebServer/CGI-Executables] hans% ls -l
    total 24
    -rw-rw-r-- 1 root admin 5398 Nov 13 12:42 printenv
    -rw-r--r-- 1 root admin 757 Nov 13 12:41 test-cgi

    Erklärung:
    -rw-rw-r-- -> von diesen 10 Zeichen sagt das erste was über den Filetyp (directory (d), link(l), normaler file (-, hier der Fall).

    Die anderen neun Zeichen sind in Dreiergruppen zu lesen und zeigen die Dateirechte(r=read,w=write,x=execute) an von links nach rechts für

    file owner (u=user, NICHT etwa "o" wie owner!) hier: rw-
    group (g=group, jeder user gehört einer Gruppe an) hier: rw-
    others (o=others, der rest der Welt) hier: r--

    mit diesen Kürzeln kann ich den chmod-Befehl "konfigurieren", so daß die Rechte nach meinem Wunsch vergeben werden ...

    chmod ugo=rwx -> jeder (u,g,o) darf alles (r,w,x)
    chmod go-w -> "subrahiert (-)" die Schreibrechte (w) bei g,o
    chmod u=rwx, go=u-w -> u darf alles (rwx); g,o haben Rechte wie u minus (-) w

    Alternativ können Rechte via Zahlencodes eindeutig beschrieben werden:
    r=4,w=2,x=1 .
    Hat ein user z.B. das Recht 7 heisst das 7=4+2+1; also rwx
    5=4+1 also rw
    etc. etc., alle Kombinationen sind eindeutig auflösbar

    beim chmod Befehl werden halt die Zahlen für u,g,o eingesetzt

    chmod 755 -> u=4+2+1,g=4+1,o=4+1; also u=rwx,go=rx
    chmod 644 -> u=4+2+1 g=4,o=4; also u=rwx;go=r

    Ja, dann, wenn alle das script lesen und ausführen sollen

    sudo chmod 755 printenv -> u=rwx,go=rx für dieses Script, (sudo hier, weil root der owner ist)

    hakru
     
  3. Paparatze

    Paparatze New Member

  4. akigolf

    akigolf New Member

    Danke erstmal bei den Scripten in dem Ordner CGI-Exe.. hats geklappt, ich konnte die Rechte ändern aber...
    um zum Beispiel die Rechte für "CGI-Executables" selber zu ändern müßte ich dann eigentlich nur eine Stufe höher in der Hierachie gehen , dachte ich!!! Leider klappt das nicht warum nicht?

    Welcome to Darwin!
    You have mail.
    [localhost:~] akigolf% cd /Library
    [localhost:/Library] akigolf% ls -l
    total 0
    drwxrwxrwx 3 root admin 264 Feb 25 2001 Application Support
    drwxrwxr-x 5 root admin 264 Sep 15 05:43 Audio
    drwxr-xr-x 4 root admin 264 Dec 4 11:40 Caches
    drwxrwxr-x 4 root admin 264 Sep 11 12:29 ColorSync
    drwxrwxr-x 21 root admin 670 Nov 28 15:46 Desktop Pictures
    drwxrwxr-x 9 root admin 264 Nov 28 15:52 Documentation
    drwxrwxr-x 3 root admin 264 Sep 11 12:39 Filesystems
    drwxrwxr-x 28 root admin 908 Nov 28 15:52 Fonts
    drwxrwxr-x 3 root admin 264 May 2 2001 Image Capture
    drwxrwxr-x 5 root admin 126 Nov 28 15:52 Internet Plug-Ins
    drwxrwxr-x 4 root admin 264 Sep 6 05:53 Java
    drwxr-xr-x 4 root admin 264 Dec 4 11:20 Logs
    drwxrwxr-x 224 root admin 7572 Nov 28 15:47 Modem Scripts
    drwxrwxr-x 3 root admin 264 Sep 3 06:28 Perl
    drwxrwxr-x 11 root admin 330 Mar 3 10:12 Preferences
    drwxrwxr-x 7 root admin 264 Sep 7 23:35 Printers
    drwxrwxr-x 2 root admin 264 Sep 15 05:57 QuickTime
    drwxrwxrwx 12 root admin 364 Jan 4 14:51 Receipts
    drwxrwxr-x 2 root admin 264 Sep 15 05:58 Screen Savers
    drwxrwxr-x 12 root admin 364 Sep 15 05:49 Scripts
    drwxr-xr-x 3 root admin 264 Jan 4 14:51 StartupItems
    drwxrwxr-x 6 root admin 264 Sep 3 05:58 User Pictures
    drwxrwxr-x 5 root admin 126 Jan 4 17:17 WebServer
    [localhost:/Library] akigolf% sudo chmod 777 WebServer
    Password:
    [localhost:/Library] akigolf%

    Hiernach war nichts geändert! Wo ist der Fehler in dieser Prozedur.

    Vielen Dank an hakru und auch an paparatze.

    aki
     
  5. hakru

    hakru New Member

    Um Rechte für den Ordner CGI-Executables zu ändern:

    cd /Library/WebServer

    chmod YXZ CGI-Executables
    -> setzt die Rechte XYZ nur für den Ordner selbst (Inhalt unberührt)

    chmod -R XYZ setzt die Rechte XYZ auch für den Inhalt des Ordners

    hakru

    Zusatz:
    Der Ordner CGI-Executables gehört "root" also dem chmod Befehl "sudo" voranstellen, ... man muss dann als admin eingeloggt sein
     
  6. akigolf

    akigolf New Member

    PS:
    Ich weiß daß ich hier den Pfad für die Rechte für Libary bearbeitet habe, jedoch funktioniert es bei Libary auch nicht. Ich habe es bis jetzt noch nicht geschafft die Zugriffsrechte für irgendeinen Ordner zu ändern, nur für Scripte ist es mir gelungen. Warum????

    aki
     
  7. akigolf

    akigolf New Member

    Man hakru bist Du schnell, jetzt muß ich erstmal rumprobieren. Aber soweit ich das sehe habe ich genau das eingegeben was Du gerade geschrieben hast... und auch keine Fehlermeldung bekommen. Jedoch waren die Rechte als ich sie mit "i und Apfelt." kontrollierte nicht geändert...??

    aki
     
  8. hakru

    hakru New Member

    Vorschlag: leg mal irgendwo in einer harmlosen "spielwiese" in deinem Homeordner im Finder einen Ordner an - und versuch' dann in Terminal die Rechte an diesem Ordner zu verändern. Ich sehe jetzt gerade nicht, was Du falsch machst:

    Wenn du dich in der parent-Directory (=die den Ordner enthält) befindest:

    chmod xyz Ordnername oder
    chmod -R xyz Ordnername

    Wenn du nicht in der parent-Directory bist, musst du absolute Pfade angeben:

    chmod xyz /Absol_Pfad_zum_Ordner/Ordnername

    oder
    chmod -R xzy /absoluter_Pfad ...

    muss klappen, mach den testfile

    hakru
     
  9. akigolf

    akigolf New Member

    Werde ich versuchen

    Dank dir erstmal hakru...(sag mal bist Du jetzt schon fest angestellt in diesem Forum ;o)))

    Liebe Grüße
    aki
     
  10. akigolf

    akigolf New Member

    Hi hakru
    Leider funktioniert es nicht bei mir, wie gesgat ich bekomme die Rechte für Scripte geändert (im Terminal), aber eben in keinster Art und Weise für Ordner. Siehe einen meiner vielen Testläufe:

    Welcome to Darwin!
    You have mail.
    [localhost:~] akigolf% cd /Library/WebServer
    [localhost:/Library/WebServer] akigolf% ls -l
    total 0
    drwxrwxrwx 5 root admin 126 Dec 4 19:40 CGI-Executables
    drwxrwxr-x 7 root admin 264 Jan 6 11:45 Documents
    drwxrwxrwx 2 akigolf admin 24 Mar 3 13:08 Neuer Ordner
    [localhost:/Library/WebServer] akigolf% sudo chmod 777 Neuer Ordner
    chmod: Neuer: No such file or directory
    chmod: Ordner: No such file or directory
    [localhost:/Library/WebServer] akigolf% sudo chmod 777 /Library/WebServer/Neuer Ordner
    [localhost:/Library/WebServer] akigolf% chmod 777 Neuer Ordner
    chmod: Neuer: No such file or directory
    chmod: Ordner: No such file or directory
    [localhost:/Library/WebServer] akigolf%

    Keinerlei Rechte an irgendwelchen Ordnern wurden trotz der Prozedur geändert.
    Eigendlich bin ich doch 5 Minuten "root" wenn ich sudo eingebe, oder?, also kann es doch mit "meinen" Admin-Rechten nichts zu tun haben daß es nicht klappt, oder?

    Viele Grüße

    aki
     
  11. hakru

    hakru New Member

    , d.h ugo=rwx klar?

    ... in der folgenden Zeile kämpftst Du mit dem Leerzeichen
    [localhost:/Library/WebServer] akigolf% sudo chmod 777 Neuer Ordner
    chmod: Neuer: No such file or directory
    chmod: Ordner: No such file or directory
    -> logo, er glaubt natürlich "Neuer" bzw. "Ordner" sind 2 Files ...

    richtig: Du brauchst das Escape-Zeichen vor dem Leerzeichen
    [localhost:/Library/WebServer] akigolf% sudo chmod 777 /Library/WebServer/Neuer Ordner
    -> JETZT hat er deinen chmod-Befehl ausgeführt, OHNE Fehlermeldung!!
    -> du siehst halt nix, weil "Neuer Ordner" schon 777 hatte!!!

    versuch da mal:
    sudo chmod 700 Neuer Ordner
    -> dann klappts!!

    die nächste Zeile kann nicht klappen, fehlt, hatten wir schon
    [localhost:/Library/WebServer] akigolf% chmod 777 Neuer Ordner
    chmod: Neuer: No such file or directory
    chmod: Ordner: No such file or directory
    [localhost:/Library/WebServer] akigolf%

    Liebe Grüsse,

    hakru

    PS.: bin natürlich nicht festangestellt - war eben sogar mit der Familie weg in 'ner Kunstausstellung.
     
  12. akigolf

    akigolf New Member

    Hallo hakru, Du fleißiges Lieschen ;o)))

    Ja Du hast Recht, heute morgen wird tatsächlich die Änderung angezeigt. Komisch, ich bin mir sicher daß gestern alle Ordner-Zugriffsrechte die ich im Terminal verändert habe, bei der Kontrolle mit "Apfel+i" als nicht verändert angezeigt wurden, das heißt es wurden immer nur die Rechte angezeigt die ich schon vor meinen Veränderungen lesen konnte. Allerdings habe ich ehrlich gesagt nicht auf die Terminal-Ausgabe geachtet, sondern nur auf die "apfel+i" Ausgabe. Muß der Rechner sich vielleicht neu sortieren (Neustart) um die "apfel+i" Ausgabe zu aktualisieren. Wie gesagt jetzt ist alles ok auch auf der "apfel+i" Ausgabe.

    Neue Frage wo liegt eigentlich der Perl-Interpreter, die vorinstallierten Testscripts laufen nun, aber ich bekomme bei meinem Test-Perl-Script "Hello World" nur Fehlermeldungen. Hab schon das englische Perl-Manual gelesen...aber Du kennst mich ja...nichts verstanden ;o)))
    Also ich brauche nur die erste Zeile des Scripts, halt den Pfad zum Perl-Interpreter. Das Script ist ok (oft auf anderen Servern getestet).

    Liebe Grüße und nochmal vielen Dank

    aki
     
  13. hakru

    hakru New Member

    Wenn Du ins Terminal

    which perl

    eingibst, wird der Pfad angezeigt ...

    /usr/bin/perl

    hakru
     
  14. Kate

    Kate New Member

    Ja da hast Du Recht, wenn man mit Apfel-I nach den eingestellten Rechten sieht, bekommt man keine aktuellen Daten.
     
  15. logan5

    logan5 New Member

    ein Hoch auf Hakru, der Mann ist gut...

    p.s. mein ftp server gescheige denn smb funktioniert immer noch nicht...
     
  16. akigolf

    akigolf New Member

    Toll nächstes Problem:
    Keins meiner Perl-Scripte funktioniert, ich bekomme bei einigen den 500ter Fehler (Internal Server error) und bei anderen den 403er (Zugriffsrechte). Alles was mir einfiel habe ich schon ausprobiert, und natürlich auch den von" which perl" ausgegebenen Pfad in die Scripte gesetzt.....Kann denn hier unter X nicht mal "einfach" was "einfach" funktionieren????!!!!
    In älteren Threats auf diesem Forum war davon die Rede das Perl noch garnicht installiert sei???? Wie bekomm ich daß denn raus...und unter welcher Sprache laufen bitte die anderen beiden Scripte....die ja funktionieren (test-cgi, und Printenversion...)..???

    Hab ich die Scripte denn überhaupt richtig abgelegt wenn ich sie in "CGI-Executables" ablege und dann über "..../cgi-bin/hello.pl" aufrufen will???

    Viele Grüße an meine Unix-Ritter und Ritterinnen

    aki
     
  17. akigolf

    akigolf New Member

    Ich danke allen die diesmal mithalfen meine X-Probleme zu lösen.
    Liebe Grüße

    aki
     
  18. akigolf

    akigolf New Member

    Danke Kate, dann hab ich mich ja doch nicht so doof angestellt ;o)))
    Jedoch bekam ich die aktuellen Daten bei den Scripten über "apfel+i", aber nicht bei Ordnern, daß ist doch echt merkwürdig...?

    aki
     
  19. Kate

    Kate New Member

    Deiser Fehler ist schon sooo alt, dass ich mich gar nicht mehr darum gekümmert habe, ob es davon womöglich Ausnahmen gibt. Skripte? Glaub' ich nicht.

    Jedenfalls muss man zumindest den Finder neu starten, oder besser ganz neu Starten um die neuen Rechte per Apfel-I zu sehen.

    Jaja der Finder.

    Wenn man nicht dauernd über seine Fehler stolpern würde, ein richtiges Drecksprogramm, das keiner als Shareware hergeben würde ohne sich bis auf die Knochen zu blamieren, aber so wie es nunmal ist, müssen wir froh sein, ihn überhaupt zu haben.

    Dauernd vergisst er die Desktopeinstellungen und erfreut durch bunte Rädchen wenn er sich mal wieder abgemeldet hat.

    Wenigstens kann man manchmal per Terminal diesen kranken Haufen Code umgehen. Dem Himmel sei Dank, dass Apple zum Schluss das Terminal doch noch in der Installation dringelassen hat, sonst müsste man das auch noch nachinstallieren, ächz.
     
  20. Kate

    Kate New Member

    ...also Perl ist "drin".

    Um Skripte auszuführen müssen die Skripte und der Ordner, in dem sie liegen, für den Ausführenden natürlich zum Lesen und zum Ausführen freigegeben sein.

    Dieser "Ausführende" kann z.B. auch Herr Apache sein, nicht notwendigerweise ein User den du kennst. ;-)

    Wenn ein Skript selber dann auf Dateien zugreift, gilt das dann entsprechend auch. Weiss ja nicht was deine Skripte so machen sollen. Aber wenn das welche für Apache sein sollen, dann ist CGI-Executables der richtige Platz.

    Wenn du deine Skripte irgendwo herunter geladen hast, dann musst du gucken, ob die auch mit den modernen, bzw. nicht ganz so modernen Teilen von Apache unter X harmonieren, X nutzt Perl5 aber ist teilweise rückwärtskompatibel zu Perl4 und manche Skripte sind eben noch uraltes Urgestein.

    Dann sind da noch die Environmentvariablen ggfs. richtig zu setzen. Aber da kann ich nix zu sagen, bei Apache und seinen Skript/CGI Problemen bin ich wirklich inkompetent, sorry.
     

Diese Seite empfehlen