As permissões de usuário do * nix são realmente simples, mas as coisas podem ficar complicadas quando você precisa levar em consideração todo o acesso ao diretório pai antes de chegar a um determinado arquivo. Como posso verificar se o usuário tem privilégios suficientes? Caso contrário, qual diretório está negando acesso?
Por exemplo, suponha um usuário joe
e o arquivo /long/path/to/file.txt
. Mesmo que tenha file.txt
sido modificado para 777, joe ainda precisa ser capaz de acessar /long/
, e depois /long/path/
e depois /long/path/to/
antes. O que eu preciso é uma maneira de verificar isso automaticamente. Se joe
não tiver acesso, também gostaria de saber onde ele foi negado. Talvez ele possa acessar /long/
, mas não /long/path/
.
namei <path> || exit 1
permite detectar um problema de permissão com muita facilidade em um script.