O OS X opera um pouco como o Ubuntu, pois o usuário padrão não tem privilégios administrativos diretamente, mas é dado a eles por meio de sudo
. Ainda existe uma conta root, mesmo que você não consiga entrar nela. Isso é feito por razões de segurança - uma grande quantidade de malware do Windows na era dos anos 2000 teve acesso a fazer coisas ruins em um nível de sistema, porque todos os comandos executados eram como um administrador.
A resposta para por que certos arquivos eram de propriedade do root depende de quais arquivos específicos eles eram e como chegavam lá. Mas eu diria:
- arquivos de sistema criados pelo OS X são root porque você normalmente não deveria tocá-los
- as coisas criadas pelo instalador do xampp provavelmente definem as permissões para o root porque você não deve mexer com elas
- e / ou você executou o instalador como root (via sudo) e esse foi o usuário que foi selecionado e recebeu a propriedade
Você tinha que usar o sudo no comando chown / chmod porque os usuários não privilegiados não têm permissão para alterar a propriedade dos arquivos e diretórios de outros usuários. Imagine se eles pudessem! Eu poderia me dar permissão para editar seu diretório pessoal, ou /etc/passwd
!
Você está certo ao verificar que o 777 não é apropriado para a produção. Você esperançosamente não estará usando o xampp em produção, já que ele não é projetado especificamente para isso, mas além disso, em /var/www
(ou onde quer que você esteja colocando isso):
- coisas que precisam ser modificadas pelo servidor da Web (como diretórios de cache com preenchimento automático) podem ser graváveis em grupo
- todo o resto só deve ser escrito pelo proprietário
- tudo deve ser de propriedade de: www-data (ou qualquer grupo em que o apache esteja)
Isso impede que um invasor que encontre uma vulnerabilidade em um de seus scripts hospedados seja capaz de escrever muito de qualquer coisa, mas ainda assim facilita a inserção de alterações no site.