Como devo corrigir os proprietários e permissões em uma pasta de usuário do OS X?

9

Meu problema é que violei seriamente todos os proprietários e permissões na minha pasta e subpastas de usuários e isso está causando muitos problemas usando muitos aplicativos.

A causa inicial foi que eu havia renomeado um usuário, seguindo as instruções de suporte da Apple em http://support.apple.com/kb/HT1428

Após a configuração do novo usuário, o backup do Mozy não fazia mais o backup e muitos dos meus aplicativos não podiam se atualizar automaticamente. O aplicativo geralmente volta a funcionar se eu excluir o programa incorreto e o reinstalar. Eu pensei que era porque as permissões estavam erradas e eu encontrei alguns lugares onde GetInfo indicava que as permissões estavam fazendo referência ao usuário antigo. Às vezes, a caixa de diálogo dizia "Buscando" para o nome de usuário e nunca era atualizada para mais nada.

Executei o Onyx "conserte permissões" e o Utilitário de Disco "Conserte Permissões" sem resultados. Com "Permissões de reparo", ele sempre lança alguns avisos de informações sobre ACLs inesperadas, mas as informações que eu pude encontrar on-line não achavam que elas causariam problemas como esse.

Tentei executar recursivamente alguns scripts de linha de comando nas pastas do usuário (ambas logadas como root e usando o sudo). O chmod tem muitos erros sobre o proprietário errado dos arquivos. chown depois disso me deu outros erros (não me lembro exatamente o que eles eram). Em um ataque de pânico, cliquei com o botão direito do mouse na pasta inteira do usuário e optei por aplicar suas permissões a todas as crianças.

Pelo que sei, quando fiz isso, defino tudo como Leitura e gravação para esse usuário e Somente leitura para " todos " e " equipe ". Agora, estou pior do que antes. O Firefox travou e ele não pode nem atualizar suas próprias configurações, então ele exibe a mensagem "Deseja restaurar essas guias" toda vez que é iniciada, mesmo depois de repetidamente dizer "Iniciar nova sessão".

Basicamente, tudo na minha pasta de usuário está quebrado no que diz respeito ao proprietário e às permissões, e eu preciso saber o que eles devem ser. Quem é o proprietário dos arquivos em cada diretório (downloads, aplicativos etc.) e quais devem ser as permissões? Dadas essas permissões e proprietários, qual é a melhor maneira de definir tudo certo?

Vi uma pergunta semelhante a essa em Redefinindo as permissões de usuário para o modo padrão, mas ela apenas trata de permissões, não de proprietários, o que já é um problema.

Não tenho certeza se a reinstalação do sistema operacional pela cópia que tenho no momento consertaria alguma coisa e estou quase ligando para o Suporte da Apple se não conseguir descobrir algo nos próximos dias. Obrigado por qualquer ajuda.

cisellis
fonte
Você pelo menos descobriu como isso aconteceu? O que especificamente está errado? ACL, metadados ou as permissões tradicionais do UNIX. É difícil cobrir tudo em uma resposta - redefinindo especialmente os bits imutáveis, se necessário.
bmike
E para facilitar a solução de problemas, eu instalaria o sistema operacional em uma unidade externa, inicializaria a partir dela e montaria sua unidade "problemática" para ignorar permissões e ver se o rsync ou algo permitirá que você coloque os arquivos em um estado mais limpo. Depois, você pode excluir o usuário e copiar as coisas de volta - respeitando a ACL e as permissões do novo usuário nas pastas ~ - com cuidado para mover o conteúdo ~/Library/e não ~/Libraryele próprio.
bmike
Não tenho certeza além do que digitei acima. Agradeço as sugestões, mas não sou muito usuário avançado. Se for mais complicado do que algumas linhas de comando ou utilitários, vou desistir e restaurar a partir de um backup do Time Machine.
cisellis
Bom plano. Você pode obter ajuda de um técnico, se necessário, após a restauração do backup - geralmente você pode ter uma pequena lista de itens desatualizados ou ausentes. Estou feliz que você tenha um backup :-)
bmike

Respostas:

10

A primeira etapa que eu recomendaria é tentar redefinir as permissões da pasta pessoal com o utilitário Redefinir senha no Lion Recovery. (Apesar do nome do utilitário, na verdade você não redefinirá nenhuma senha).

A redefinição das permissões da pasta base com o utilitário Redefinir senha redefinirá o proprietário e as permissões.

  1. Reinicie o seu Mac holding + Rpara inicializar no Lion Recovery, que o levará à tela Repair Utilities.

  2. Abra o Terminal no menu Utilitários.

  3. No Terminal, digite resetpasswordpara abrir o utilitário Redefinir senha.

  4. Escolha o ícone do seu disco rígido na parte superior e, em seguida, escolha seu usuário no menu suspenso abaixo. Não redefina a senha aqui.

  5. Na parte inferior da janela, em "Redefinir permissões e ACLs do diretório pessoal", clique no botão "Redefinir". Isso pode levar algum tempo se você tiver muitos arquivos em sua pasta pessoal.

Isso deve resolver seus problemas de permissão para a maioria dos aplicativos. No entanto, é possível que você tenha alguns aplicativos que salvaram arquivos com permissões especiais diferentes das permissões padrão do usuário (como preferências ou arquivos de suporte a aplicativos). Para esses aplicativos, pode ser necessário excluir as preferências ou reinstalar o aplicativo.

Se a redefinição das permissões da pasta pessoal não funcionar, tente restaurar a partir de um backup ou transferir seus dados para uma unidade externa.

joelseph
fonte
Estou tentando isso agora. Até agora, ele está em execução há cerca de 12 horas. Eu tenho um monte de arquivos: P
cisellis
Isso não funcionou. A operação durou mais de 48 horas antes que eu desistisse e a desligasse. Pode ter terminado em algum momento, mas não havia como dizer.
cisellis 12/03
3

Rode isto

cd $HOME
{ sudo chflags -R nouchg,nouappnd ~ $TMPDIR.. ; \
sudo chown -R $UID:staff ~ $_ ; \
sudo chmod -R -N ~ $_ ; \
sudo chmod -R 755 ~ $_ ; \
sudo chmod 700 Desktop Documents Downloads Dropbox Library Movies Music Pictures Sites $_ ; \
sudo chmod 777 Public ; \
sudo chmod 733 Public/Drop\ Box ; \
} 2> /dev/null
davidcondrey
fonte
Exatamente o que eu estava procurando! Funciona se você conseguir fazer login no usuário em questão e esse usuário também for um administrador. Que tal reparar o diretório inicial de outro usuário a partir de outra conta? (o usuário com problemas de permissão pode ou não ser um administrador)
unom
Reinicie o computador usando a combinação de teclas de inicialização Cmd + R para abrir o Repair Utility, abra Terminal no menu Utilities, use o comando resetpassword, selecione o disco rígido e a conta de usuário relevante no menu suspenso que será aberto, selecione redefinir para redefinir as permissões do diretório inicial e as ACLs da conta de usuário selecionada.
Davidcondrey
2

Seus problemas são basicamente os mesmos. Não há um padrão para permissões para arquivos no diretório inicial, todos eles dependem de seu uso.

A correção de permissões de aplicativos, scripts e instalações de SO não deve afetar a área do usuário, exceto, talvez, a alteração das permissões no diretório inicial. As instalações do sistema operacional e a maioria dos scripts de permissões de correção comparam as permissões e os proprietários com o necessário para uma instalação limpa e isso não tem usuários normais. Se o fizessem, consideraria isso um erro grave.

A correção é alterar o proprietário dos arquivos, ou seja, o uso de chown em seu diretório pessoal. O proprietário deve ser o novo nome do proprietário.

Não existe uma maneira geral de obter permissões de volta, pois os arquivos individuais dependem do aplicativo e todos os aplicativos podem ser diferentes.

Portanto, a única maneira é restaurar a partir de um backup antes da alteração - faça a alteração conforme as notas da Apple e depois mostre todos os arquivos. Ou observe cada arquivo individual e calcule quais permissões ele deve ter - para a maioria dos arquivos em seu diretório pessoal, este deve ser de leitura / gravação para o proprietário e nada (ou somente leitura) para outros. Os diretórios também precisarão de permissão de execução para que possam ser listados. Os aplicativos precisarão de outras permissões.

user151019
fonte
Boa. Acabei de verificar meu diretório pessoal e muitos 777diretórios e fiquei preocupado.
Nyxee 08/09
@nyxee que é estranho eu esperaria 755 ou 700
user151019
muito .... Vou começar editting as permissões um por um muito, muito lentamente ..
nyxee
1

Corremos para os mesmos problemas com vários usuários. Depois de tentar, sem sucesso, tudo sobre a correção de permissões, encontramos uma solução. Por uma questão de clareza, o usuário problemático é John Doe e a conta do usuário (e diretório inicial) é chamada "johndoe".

  1. Verifique se o usuário root está ativado. Sair
  2. Efetue login como root e faça um backup da pasta pessoal johndoe (a criação de um backup da pasta pessoal é opcional, mas altamente recomendável no caso de algo dar errado)
  3. Abra Preferências do Sistema / Usuários e Grupos
  4. Exclua o usuário johndoe - você será perguntado sobre o que fazer com o diretório inicial do johndoe
  5. IMPORTANTE: Escolha NÃO para excluir o diretório
  6. Vá para / Users e observe que a pasta de johndoe foi renomeada para "john doe (excluído)"; renomeie o diretório inicial para "johndoe"
  7. Volte para Preferências do sistema / Usuários e grupos e recrie a conta de John Doe
  8. IMPORTANTE: verifique se o nome da conta do usuário é o "john doe" ou exatamente como você nomeou o diretório inicial na etapa 6
  9. Você será solicitado a informar que o diretório inicial com esse nome já existe e se deseja usar o diretório inicial existente
  10. Escolha sim
  11. Reinicie e faça login como John Doe
pocho
fonte
Eu só quero te agradecer. Isso funcionou no Snow Lion (o computador de minha esposa) depois que tentativas muito mais elaboradas falharam, por exemplo, macissues.com/2014/04/11/…
Steve Samuels
0

Estou adicionando uma única resposta para resolver tudo. O que quer que eu tenha feito com as permissões, foi totalmente eliminado. Tentei a primeira resposta, inicializando no modo de recuperação e redefinindo as permissões por meio do método de redefinição de senha, mas isso durou 48 horas antes de eu a matar e não teve nenhum efeito discernível. Tentei restaurar a partir do Time Machine e isso também explodiu e não foi possível restaurar o backup.

Acabei fazendo o backup manual de tudo em um disco externo, formatando o disco inteiro e reinstalando o Lion, reinstalando tudo manualmente e copiando meus dados pessoais, como a biblioteca do iPhoto e as bibliotecas do iTunes, manualmente. O iPhoto teve que reparar a biblioteca, mas funcionou bem e não tive problemas. O iTunes não conseguiu adicionar nenhuma música à biblioteca até que eu usei o Disk Utility para reparar as permissões novamente. Como eu apenas copiei o diretório iTunes Media e não o diretório pai, ele parecia consertar tudo.

Moral da história: esqueça a Apple, não renomeie os usuários.

cisellis
fonte
0

Este não é um problema de permissão! Nada do que você faz com permissões o corrigirá porque as permissões já estão definidas para leitura / gravação, o mais permissivo possível.

É um problema do proprietário; o sistema está confuso sobre quem é o proprietário do arquivo e não pode resolver o dilema. Adicione-se como um novo proprietário, conceda a si mesmo permissões de leitura / gravação e exclua o usuário “buscador” ofensivo.

Gib Henry
fonte
0

O recurso Redefinir permissões do Disk Utility não afeta o diretório inicial e, portanto, não funciona aqui. Mas também possui uma segunda ferramenta de redefinição de permissões ocultas para o diretório inicial. Você o usa no Terminal, assim:

diskutil resetUserPermissions / $(id -u)

(Fonte: https://support.apple.com/en-us/HT203538 )

SilverWolf - Restabelecer Monica
fonte