Eu usaria find com '-print0' e xargs ... ACL são enigmáticos, é melhor não usá-los.
Estou prestes a modificar a propriedade do arquivo recursivamente em um sistema de arquivos que usa ACLs. Como é meu disco de backup, pensei em solicitar comentários sobre o script antes de executá-lo.
#!/bin/bash
# Replace Foobar, Bob, and Brand.
PREFIX="/Volumes/Foobar-Time-Machine/Backups.backupdb/Bob’s MacBook"
SUFFIX="/Brand/Users/"
USER="bob"
for dir in "${PREFIX}"/*/
do
chmod -R -a "group:everyone deny chown" "${PREFIX}${dir}${SUFFIX}${USER}"
chown -R $USER "${PREFIX}${dir}${SUFFIX}${USER}"
chmod -R =a# 1 "group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown" "${PREFIX}${dir}${SUFFIX}${USER}"
done
Você identifica um desastre esperando para acontecer? O primeiro chmod destina-se a remover o mínimo de ACL e o segundo destina-se a restaurá-lo. O roteiro pode ser mais seguro? Escusado será dizer que o script seria executado como sudo.
Eu usaria find com '-print0' e xargs ... ACL são enigmáticos, é melhor não usá-los.