Linux mostra que tenho permissão de gravação, mas não consigo remover este arquivo

Linux mostra que tenho permissão de gravação, mas não consigo remover este arquivo

O Linux mostra que tenho permissão de gravação, mas não consigo remover este arquivo. Já verifiquei e tenho permissão de execução em todos os diretórios pai. Alguma ideia de como isso pode estar acontecendo?:

deployer@my-web:/usr/local/bin$ ls -la
total 10656
drwxr-xr-x  2 root     root        4096 Feb 11 21:25 .
drwxr-xr-x 10 root     root        4096 Feb  3 13:21 ..
-rwxr-xr-x  1 deployer deployer 1836198 Mar 18 19:05 composer

deployer@my-web:/usr/local/bin$ rm composer
rm: cannot remove ‘composer’: Permission denied

Responder1

A resposta curta é que você não precisa apenas de permissões no arquivo, mas também de permissões no diretório que contém o arquivo. No UNIX clássico, um diretório é realmente um tipo especial de arquivo - aquele que contém ponteiros para os arquivos dentro dele. É por isso que você precisa de acesso de gravação (w) no diretório.

Nesse caso, você precisaria alterar (ou fazer com que um proprietário privilegiado alterasse) as permissões em /usr/local/bin.

Responder2

As permissões para diretórios não são exatamente as mesmas que para arquivos.
A permissão de gravação permite ao usuário criar, excluir ou modificar quaisquer arquivos ou subdiretórios, mesmo que o arquivo ou subdiretório pertença a outro usuário.

No caso de um diretório, nada muda muito, pois o mesmo comando é usado. No entanto, como os diretórios geralmente contêm arquivos que também precisam ser atribuídos ao novo usuário ou grupo, usamos o comando '-R' bandeira, que significa 'recursivo' - em outras palavras, todos os subdiretórios e seus arquivos:

chown -R user:group dirname

informação relacionada