Auf meiner Shell habe ich eine Datei und ich ändere die Berechtigungen dieser Datei mit sudo chmod 4755 <file>
. Beim Aufruf von lstat
für diese Datei sehe ich korrekte Informationen über seine Berechtigungen, insbesondere, dass es 4755 als seinen Berechtigungsmodus hat.nicht alle Berechtigungsbits erhalten
Gibt es in meinem Golang-Programm einen Grund, warum ich nicht die richtigen Berechtigungsmodus-Bits bekomme? Könnte es sein, dass ich nur das Ergebnis von FileInfo() formatiere. Mode(). Perm() falsch? Könnte es sein, dass die oberen 3 Bits "speziell" sind?
Danke für die Hilfe!
Sie sagen, dass diese Bits maskiert sind? Ich habe versucht, etwas wie (Perm() & ModeSticky) zu tun, aber ich glaube nicht, dass es der richtige Weg ist, darüber zu gehen ... – steve
Ich aktualisierte meine Antwort mit spezifischeren Anweisungen. Maskieren 'Perm()' mit irgendetwas wird nicht helfen. Die Modus-Bits, nach denen Sie suchen, wurden bereits aus dem Wert "Perm()" zurückgelassen. Sie müssen auf die Variable weiter zurück zugreifen, bevor der Wert maskiert wird. – CorbinMc
Vielen Dank! Ich musste nur meine Implementierung ein wenig optimieren. – steve