Comportamento estranho com permissão de execução

2

Para o exercício - removi a permissão de execução para outras pessoas de / bin / pwd:

$ chmod o-x /bin/pwd
$ ls -l /bin/pwd
-rwxr--r-- 1 root root 26568 Apr 28  2010 /bin/pwd

e como logado como matt não consigo executar / bin / pwd como esperado:

$ /bin/pwd
$ -bash: /bin/pwd: Permission denied

mas repentino, pode ser executado se não for absoluto:

$ pwd
/home/matt

Por quê? Obrigada!

    
por dreamcocoa 08.09.2011 / 23:27

1 resposta

2

pwd é um shell embutido. Você pode ver isso com

$ type pwd
pwd is a shell builtin

pwd é um built-in na maioria dos shells. Uma razão para isso é que é um comando muito simples que é usado com bastante frequência (e executar um built-in é mais rápido do que gerar um processo externo). Outra razão é que ele permite que o shell rastreie links simbólicos, de modo que cd /foo/bar; pwd mostre /foo/bar mesmo se bar for simbólico para /wibble (no bash e em muitos outros shells, você pode usar pwd -P para mostrar /foo/bar e pwd -L para mostrar /wibble ; o padrão é controlado pela opção -o physical ).

    
por 08.09.2011 / 23:42