Operação não permitida. Para usuário root?

1

Para encontrar uma solução alternativa para um problema que tive ontem (veja a pergunta aqui ) eu saio com outra experiência.

Depois de inserir uma unidade flash (vfat) e montar sua única partição, imaginei: E se eu alterar as permissões no ponto de montagem? Bem, isso deve resolver todos os meus problemas então eu prossigo (como root):

No começo, tentei alterar o proprietário:

root# chown root:root /media/MOUNT_POINT

Nota: / media / MOUNT_POINT foi criado automaticamente pelo sistema

Que surpresa quando a resposta do comando foi: Operação não permitida. O que? há coisas que não são permitidas mesmo sendo raiz?

Ok, isso não me parou e tentei:

root# chown 000 /media/MOUNT_POINT

desta vez, sem mensagens, mas depois

ls -l /media

Eu tenho

drwx------  4  miranda miranda 4096 Apr 10 05:41 24EE-9E3C

como você pode ver, a pasta ainda tem todas as permissões. Eu tentei todas as combinações de 000 a 666 (com um script claro) e o resultado foi o mesmo.

O que está acontecendo? O que eu estou sentindo falta? ou ainda mais importante. Isso pode ser feito?

Obrigado antecipadamente.

    
por Raydel Miranda 10.04.2014 / 15:12

2 respostas

3

O sistema de arquivos vfat não suporta permissões. Quando você tenta modificar a propriedade ou as permissões no ponto de montagem enquanto a partição está montada, ela se aplica ao diretório raiz do sistema de arquivos montado, não ao diretório sobre o qual você está montando.

Se seu objetivo é tornar o sistema de arquivos somente leitura, tente montar com -o ro .

Você pode fazer isso sem desmontar com mount -o remount,ro /media/MOUNT_POINT .

    
por 10.04.2014 / 15:31
0

Aparentemente, o El Capitan inclui um recurso chamado System Integrity Protection (SIP) que impede que diretórios cruciais sejam modificados. Na saída acima, isso é indicado pelo sinalizador "restrito". No momento em que escrevo, minha pesquisa indica que a única maneira de contornar isso é reinicializar, desabilitar o SIP, fazer alterações, reinicializar, habilitar o SIP. Você pode encontrar o procedimento descrito no Stack Overflow, mas vou reimprimi-lo aqui para facilitar o uso.

Reinicie. Pressione Cmd + R para entrar no modo de recuperação. Abrir Utilitários - > Terminal. Execute o comando csrutil disable. Reinicie. Você está de volta no OS X com o SIP desativado. Faça suas alterações. Reinicie. Pressione Cmd + R para entrar no modo de recuperação. Abrir Utilitários - > Terminal. Execute o comando csrutil enable. Reinicie.

    
por 02.12.2015 / 10:23