rechte auf datei setzen über C
-
ein dozent stellte die aufgabe auf eine datei.txt die rechte von other um x zu ergänzen, als lösung stellte er folgendes vor:
struct stat statbuf; stat("datei.txt", &statbuf); chmod("datei.txt", statbuf.st_mode|S_IXOTH);
warum ist in chmod das bitweise oder | hier setzt und nicht & ? laut meien büchern müsste da ein & stehen um die rechte zu ERGÄNZEN ohne die anderen rechte zu verändern
-
...
-
Schau mal, so kannst du dir das vielleicht leichter vorstellen:
~ % irb >> (0b0101 & 0b0111).to_s(2) => "101" >> (0b0100 | 0b0001).to_s(2) => "101"
(Das "0b"-Präfix ist dabei nur Ruby-Notation für Binärzahlen.)