Con frecuencia ejecuto un script que crea tres archivos en /tmp y luego los mueve al directorio de destino. Me desconcertaron los mensajes de error:
mv: ./20170608-l.gpx: set owner/group (was: 503/0): Operation not permitted
mv: ./20170608-u.gpx: set owner/group (was: 503/0): Operation not permitted
mv: ./20170608.csv: set owner/group (was: 503/0): Operation not permitted
El script no utiliza sudo, por lo que la rueda de grupo (cero) parecía extraña. Comprobando /tmp (/private/tmp) muestra que el sticky bit está en él. Pero forzar que el grupo sea wheel (que espero que ocurra) no es lo que Wikipedia (citando una página man de Leopard) dice que hará. E impedirme cambiar el grupo en la copia tampoco. La copia termina con el mismo propietario -yo- y mi grupo -personal- así que en realidad hizo lo que decía que no estaba permitido.
Puedo ver un razonamiento para lo que dice la página de manual, pero ¿por qué el mensaje de error dice que algo diferente no estaba permitido cuando en realidad hizo exactamente eso? ¿Y por qué se crean archivos en /tmp con la rueda de grupo cuando no es para eso para lo que sirve el sticky bit?
/tmp es Root/wheel como se esperaba,
WGroleau@MBP ~ % ls -latde@ /private/tmp
drwxrwxrwt 7 root wheel 224 Dec 21 09:58 /private/tmp
pero el documento mencionado dice que el sticky bit impide que lo borre otra persona que no sea el propietario. Como yo era el propietario, eso no importa. Pero no dice lo que yo pensamiento lo que significaba, que era anular el grupo del creador. Sin embargo, esto último es lo que ocurrió. Y entonces el mensaje de error afirma falsamente que no fue capaz de cambiar el grupo al mío. No estoy seguro de si es necesario cambiar el grupo cuando el destino no tiene un sticky bit:
WGroleau@MBP ~ % ls -late@d /Volumes/Sidecar/Sort_By_Date/2017/06/08
drwxrwxr-x 16 WGroleau staff 512 Dec 20 23:35 /Volumes/Sidecar/Sort_By_Date/2017/06/08