Você não pode deduzir isso usando os mecanismos da ACL. Você tem que codificar desvios.
Em algumas bases de código do kernel do sistema operacional, você encontrará
if (suser())ou testes semelhantes aqui e ali. ( Exemplo do OpenBSD ) Esta é uma função para testar se o o ID do usuário do processo relevante é zero.
Em outras bases de código do kernel do sistema operacional, você verá que isso é substituído por verificações em relação a um conjunto de privilégios de bitflag que um conjunto de credenciais possui. ( Exemplo do FreeBSD ) Mas a mesma consideração se aplica: os privilégios, se possuído, ignore as verificações de acesso e há verificações de desvio explícitas que precisam ser codificadas.
Ambos os modelos são pobres para copiar apenas por causa disso, especialmente com código voltado para WWW. É melhor deixar as duas ideias, a de um ID de usuário mágico único e distinto e o de bandeiras mágicas que as contas de usuário podem possuir, fora do seu design e fora do seu código.
Da mesma forma, o modelo de permissões de 3 bits não é bom para copiar. Veja as ACLs no estilo NFS, em que flags não executam as tarefas duplas que eles fazem no modelo antigo de 3 bits. Eles já existem há algumas décadas.