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 joee o arquivo /long/path/to/file.txt. Mesmo que tenha file.txtsido 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 joenã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 1permite detectar um problema de permissão com muita facilidade em um script.