Você não tem privilégios de acesso suficientes para renomear o item

1

Estou conectado como usuário principal e tento renomear um arquivo no Finder Obter informações informa que eu tenho acesso de leitura / gravação

Eu finalmente fiz um chmod 644 no terminal - isso não ajudou

-rw-rw-rw-+ 1 myuserid  staff   49293 18 May  2008 somefile.pdf

 0: group:everyone deny delete
 1: user:myuserid allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity

Eu então fiz um sudo mv que funcionou, mas eu ainda não consigo renomeá-lo no Finder.

Encontrei um monte de coisas antigas na internet que não se aplicavam. O arquivo é simplesmente baixado para o computador pelo navegador. Ele mora no diretório de outro usuário, mas eu tenho acesso de leitura / gravação a ele e o sudo como mencionei também funciona.

    
por mplungjan 05.09.2010 / 17:10

2 respostas

3

É por causa da entrada de controle de acesso:

0: group:everyone deny delete

... porque, no que diz respeito ao sistema de arquivos, mover ou renomear o arquivo é equivalente a fazer uma nova entrada de diretório ("link") para ele e, em seguida, excluir o antigo. Assim, ser proibido de excluir o arquivo também significa que você não pode movê-lo ou renomeá-lo. Você pode limpar a lista de controle de acesso do arquivo com chmod -N somefile.pdf , se desejar, ou apenas remover essa entrada de controle de acesso específica com chmod -a# 0 somefile.pdf (observação: você não pode fazer isso na janela Obter Informações do Finder, pois ela não aparece negar regras). Isso pode não ser suficiente, no entanto, como você mencionou o arquivo está na pasta de outro usuário. Mover, renomear e excluir um arquivo envolve a modificação do diretório em que ele está e, portanto, requer acesso de gravação a esse diretório (completamente independente das permissões para o próprio arquivo).

    
por 05.09.2010 / 23:24
0

Eu tentaria duas coisas. Primeiro, eu veria se ter permissão de execução ajuda. A lista de arquivos que você cita mostra o modo 666 (proprietário, grupo e todos que leram (4) e escrevem (2) bits configurados, mostrados como rw-rw-rw-) então tente 777 (rwxrwxrwx) e veja se isso ajuda. (Se você é um membro do grupo "staff", o que você pode verificar com o comando groups no Terminal, 776 ou 775 deve funcionar bem).

Se isso não funcionar, você pode precisar de acesso de leitura / gravação no diretório contendo o arquivo em questão para renomear. Eu tentaria isso em seguida.

Mas, fundamentalmente, se você está operando nos diretórios de outro usuário, não deve ser capaz de operar como um usuário comum diferente - você deve precisar do sudo, ou mover o arquivo para seu próprio espaço de usuário, fazer o que você precisa para e movê-lo de volta. É por isso que existem permissões baseadas em usuário.

    
por 05.09.2010 / 17:30