La risposta breve è stat e richiedi il campo autorizzazioni:
stat -f "%p" file
L'applicazione o le istruzioni o la memoria sono probabilmente sbagliate. Dalla pagina di manuale, ci sono 4 cifre nella rappresentazione ottale per le modalità su macOS:
Modes may be absolute or symbolic. An absolute mode is an octal number
constructed from the sum of one or more of the following values:
4000 (the set-user-ID-on-execution bit) Executable files with
this bit set will run with effective uid set to the uid of
the file owner. Directories with the set-user-id bit set
will force all files and sub-directories created in them to
be owned by the directory owner and not by the uid of the
creating process, if the underlying file system supports
this feature: see chmod(2) and the suiddir option to
mount(8).
2000 (the set-group-ID-on-execution bit) Executable files with
this bit set will run with effective gid set to the gid of
the file owner.
1000 (the sticky bit) See chmod(2) and sticky(8).
0400 Allow read by owner.
0200 Allow write by owner.
0100 For files, allow execution by owner. For directories,
allow the owner to search in the directory.
0040 Allow read by group members.
0020 Allow write by group members.
0010 For files, allow execution by group members. For directo-
ries, allow group members to search in the directory.
0004 Allow read by others.
0002 Allow write by others.
0001 For files, allow execution by others. For directories
allow others to search in the directory.
For example, the absolute mode that permits read, write and execute by
the owner, read and execute by group members, read and execute by others,
and no set-uid or set-gid behaviour is 755 (400+200+100+040+010+004+001).
Ho creato un file chiamato convenientemente 040775 e ho applicato i permessi - puoi vedere lo 040 cancella tutto appiccicoso (dato che è la parte 0775 che conta), setUID, setGID bit in modo da ottenere 0775 se cerchi di impostare 040775.
mac:foo me$ touch 040775
mac:foo me$ stat -f "%p" 040775
100644
mac:foo me$ chmod 040775 040775
mac:foo me$ stat -f "%p" 040775
100775
mac:foo me$ chmod 4775 040775
mac:foo me$ ls -l
-rwsrwxr-x 1 me wheel 0 May 10 20:30 040775
mac:foo me$ chmod 040775 040775
mac:foo me$ ls -l
-rwxrwxr-x 1 me wheel 0 May 10 20:30 040775
Ho modificato un po 'questo e non ho fatto tutto il stat
e ls
ma dovrebbe aiutarti a individuare i file esistenti e verificare se la mia esperienza è che solo le ultime 4 cifre sono interpretate come una maschera bit ottale per impostare i permessi come documentato nella pagina man chmod.