Dringend: umask / chmod in C

Dieses Thema im Forum "C/C++" wurde erstellt von Danny4, 14.01.2006.

  1. Danny4

    Danny4 Grünschnabel

    Dabei seit:
    14.01.2006
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo, bis zu einer Prüfung am Montag hoffe ich auf Hilfe.

    Das Prinzip von chmod & umask ist mir eugentlich klar. 777 - 022 = 755. Nun habe ich folgenden C-Quelltext:
    Code:
    #include <stdio.h>
    int main()
    {
    	umask(022);
    	int fd1 = creat("a.txt", 0731);
    	
    	umask(156);
    	int fd2 = creat("b.txt", 0731);
    }
    Nach dem Compilieren und Ausführen habe ich folgende Rechte auf den Dateien:
    a.txt: -rwx--x--x
    b.txt: -r-x-----x

    Das sind für a.txt 711 und für b.txt 501

    731 ist ja rwx-wx--x.

    Mit der 711 gehe ich noch mit, aber wieso kommt für b.txt 501 raus?

    Code:
    731: rwx -wx --x
    022: 000 010 010
    ----------------
    711: rwx --x --x
    
    aber:
    731: rwx -wx --x
    156: 001 101 110
    ----------------
    621: rw- -w- --x ??? oder doch 501 ???
    Vielleicht habe ich ja nur einen Balken vorm Kopf. Hoffe das mir jemand schnell helfen kann.
     
  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. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
    Code:
    731: rwx -wx --x
    156: 100 111 000
    ----------------
    501: -rw --- --x
    du darfst nicht mit + oder - rechnen, sondern musst eine and-not verknüpfung auf die bitmasken durchführen.

    auf bald
    oenone
     
  4. Danny4

    Danny4 Grünschnabel

    Dabei seit:
    14.01.2006
    Beiträge:
    2
    Zustimmungen:
    0
    Na das wäre ja 301 was bei dir rauskommt. :brav:

    Habe mittlerweile erfaharen, dass es am Syntax liegt. Ich muss eine "Null" vor die 156 schreiben, damit es der Compiler als Oktalzahl nimmt. Er hat die 156 jetzt als Dezimal interpretiert.
     
Thema:

Dringend: umask / chmod in C

Die Seite wird geladen...

Dringend: umask / chmod in C - Ähnliche Themen

  1. Gimp-Projekt sucht dringend Entwickler

    Gimp-Projekt sucht dringend Entwickler: Das Gimp-Projekt ruft Windows-Entwickler zur Mithilfe auf, die in der Lage sind, die zahlreichen über die Jahre angesammelten Fehler in der...
  2. Linux-Fachleute dringend gesucht

    Linux-Fachleute dringend gesucht: Weltweit werden dieses Jahr mehr Linux-Spezialisten gesucht, als auf dem Markt verfügbar sind. Daraus resultieren nach einer Studie der Linux...
  3. Dringend: Samba-Server zerstört Konfiguration des LDAP-Servers. Anonymer Zugang weg.

    Dringend: Samba-Server zerstört Konfiguration des LDAP-Servers. Anonymer Zugang weg.: Hey Leute, hoffe das ist das richtige Forum, brauche allerdings dringend Hilfe! Haben in der Schule den sogenannten Open School Server (basiert...
  4. Brauche dringend Hilfe nach System Rücksetzung

    Brauche dringend Hilfe nach System Rücksetzung: Hallo. Leider habe ich nicht viel Ahnung von Linux Programmen und habe nach einem Telefonat mit dem technischen Support von Hercules bei meinem...
  5. Suche dringend Virtualisierer mit USB Support

    Suche dringend Virtualisierer mit USB Support: Erstmal die Vorgeschichte: Kinder von einem Bekannten von mir haben einen Lego NXT 2.0 bekommen (ein Programmierbarer Roboter, der per USB...