Não há nada especial sobre qual nome de caminho você usa para invocar um programa que pode fazer a diferença se seu bit setuid será ou não honrado. É certo que uma das duas coisas está acontecendo aqui. Qualquer um
- os
progencontrados no$PATHe oprogencontrados no diretório atual não são, de fato, os mesmosprog. Você tem certeza de queprogsozinho está encontrando a mesma cópia deprogvia$PATH?- (Exceção: Eu posso pensar em um caso de borda improvável aqui, onde eles podem ser o mesmo arquivo como eles são o mesmo inode, mas eles são alcançados através de diferentes pontos de montagem, um dos quais tem
nosuide um dos quais não faz.)
- (Exceção: Eu posso pensar em um caso de borda improvável aqui, onde eles podem ser o mesmo arquivo como eles são o mesmo inode, mas eles são alcançados através de diferentes pontos de montagem, um dos quais tem
-
O
progestá consultando seuargv[0]para ver como ele foi invocado e está se recusando a agir de acordo com seus poderes (ou está soltando-os) se ele não encontrar o que espera.