
Estou usando este comando:
chown root:www-data /var/www/example.com -R
mas recebo uma mensagem de erro informando que o diretório não está listado.
O que está errado?
Responder1
Você tem que colocar a -R
opção na frente.
chown -R root:www-data /var/www/example.com
(Eu sempre uso um ponto em vez de dois pontos entre usuário e grupo, mas as páginas de manual dizem que os dois pontos devem ser usados).
Responder2
A versão GNU coreutils do chown
, que é padrão no Ubuntu, aceita opções colocadas em qualquer lugar (desde que --
não seja usada). Aquilo é:
chown foo:bar some/location -R
chown -R foo:bar some/location
ambos funcionam. Isto é por causa de comogetopt_long()
funciona. No meu livro, isso é um bug – pois deveria resultar em erro ou ser documentado, o que pelo que descobri não é.
chown foo:bar some/location -- -R
procuraria o diretório chamado -R
.
No entanto, se uma variável de ambiente definida, POSIXLY_CORRECT
o primeiro exemplo falharia se não houvesse um diretório chamado -R
e nunca seria recursivo.
$ export POSIXLY_CORRECT=
$ chown -v :foo a/ -R
ownership of `a/' retained as foo:foo
chown: cannot access `-R': No such file or directory
IMHO: sempre tente se adequar ao modo POSIX, pois um dia você insere esse comando em outro sistema onde um POSIX é aplicado, quebrando assim.
Observe também que o valor de POSIXLY_CORRECT
não tem efeito. Isso não o desativaria:
export POSIXLY_CORRECT=0
export POSIXLY_CORRECT=no
export POSIXLY_CORRECT=false
export POSIXLY_CORRECT=...
Seria necessário unset
.
Pode ser que o seu sistema esteja configurado com outra chown
ferramenta ou
POSIXLY_CORRECT
configurado.
Conferido por:
export | grep POSIX
chown --version
# etc.
Como observação lateral, o uso de ponto, .
, para separar grupo e usuário ficou obsoleto a partir dePOSIX2001( info coreutils 'chown invocation'
), mas ainda com suporte para compatibilidade com versões anteriores, embora não seja recomendado.