Tema: macos
-
System Integrity Protection e Signed System Volume: o que protegem e por que não desativá-los
O SIP impede até o root de modificar caminhos protegidos do sistema ou processos protegidos; o Signed System Volume sela criptograficamente todo o volume do sistema e o verifica a cada boot. Juntos, explicam por que /usr/local é gravável e /usr não, e por que desativar o SIP não é uma solução legítima para um erro de permissão.
-
Por que um script sem supervisão falha em silêncio no macOS: permissões TCC para arquivos, Acessibilidade e Automação
O macOS controla, por meio do TCC, o acesso a arquivos fora do contêiner de um app, o controle de teclado e tela e o envio de Apple Events entre apps. As permissões estão atreladas à identidade de código do binário que faz a chamada, e não ao usuário Unix: por isso o root não contorna o TCC, e uma ferramenta recompilada sem assinatura ou com assinatura ad hoc precisa recomeçar o processo de concessão.
-
Inspecionar e alterar as configurações de rede do macOS pelo Terminal: networksetup, scutil e cache de DNS
networksetup e scutil leem e alteram o serviço de rede ativo, os servidores DNS, os proxies e o nome do computador; dscacheutil e mDNSResponder limpam o cache desatualizado do resolvedor após uma mudança de DNS, para que um novo teste não receba a resposta antiga.
-
Ler e escrever preferências do macOS: defaults, plutil e por que o cfprefsd faz uma edição direta parecer inútil
defaults e plutil leem e escrevem domínios de preferências sem exigir que você interprete a sintaxe de plist manualmente, mas o daemon de cache cfprefsd (um por usuário e um para o sistema) intermedia todas as leituras e escritas de um app. Por isso, editar direto o arquivo plist em disco muitas vezes não tem efeito visível até o cache ser invalidado.
-
Diagnóstico de desempenho no Terminal do macOS: top, vm_stat, memory_pressure, fs_usage e powermetrics
O macOS traz ferramentas de herança BSD e específicas da Apple que cobrem boa parte do que top, vmstat, iostat e strace fazem no Linux, com nomes, unidades e exigências de privilégio diferentes: top -o cpu, vm_stat, memory_pressure, iostat, fs_usage, powermetrics e sample <pid>.
-
Gerenciar o FileVault pela linha de comando: status, chaves de recuperação, secure token e bootstrap token
O fdesetup mostra e altera o estado do FileVault e o tratamento das chaves de recuperação; sysadminctl e profiles indicam quais contas podem desbloquear o disco e se um bootstrap token está em custódia num serviço de gerenciamento de dispositivos, o que importa antes de depender do provisionamento de contas via MDM.
-
zsh como shell padrão do macOS: o que quebra em um script escrito para bash
Desde o macOS 10.15, o zsh é o shell de login e interativo padrão do macOS. Um script que presume a divisão de palavras do bash, arrays começando em zero ou globbing tolerante pode se comportar de outro modo, ou falhar por completo, na sessão interativa zsh de um agente em um Mac, mesmo sem considerar a idade do próprio /bin/bash.
-
Verificar se um software para macOS está assinado, notarizado e inalterado: spctl, codesign, stapler
Antes de executar software obtido fora da App Store, use spctl, codesign e xcrun stapler para confirmar que ele está assinado, foi notarizado pela Apple e não foi alterado desde a assinatura. É uma verificação puramente defensiva: nada aqui desativa ou contorna essas verificações em software em que você não confia.
-
Domínios do launchd: escolher entre LaunchAgent e LaunchDaemon e carregá-lo com o launchctl
LaunchAgents e LaunchDaemons ficam em diretórios diferentes, rodam em domínios distintos do launchd e são gerenciados com os subcomandos modernos bootstrap/bootout/enable/kickstart/print, e não com o par obsoleto load/unload. Esta metodologia mostra como escolher o domínio correto, escrever um plist mínimo e verificar o estado.
-
Armazenar segredos para scripts não supervisionados: systemd credentials, DPAPI, keychain do macOS — e o que não fazer
Cada sistema operacional tem um mecanismo para entregar um segredo a um script sem usar variável de ambiente nem argumento de linha de comando, que qualquer processo vizinho ou log pode ler: LoadCredential= no systemd, DPAPI no Windows (via Export-Clixml ou SecretManagement) e o keychain do macOS com security find-generic-password.
-
Verificar perfis de configuração e inscrição no MDM pelo Terminal com o comando profiles
O comando profiles lista os perfis de configuração instalados e informa o estado de inscrição no MDM; algumas configurações, como o depósito do bootstrap token ou a imposição de adiamento de atualizações, só podem ser definidas por um serviço de gerenciamento de dispositivos, nunca a partir de uma sessão local do Terminal.
-
Instalar atualizações do macOS sem supervisão pela linha de comando com softwareupdate
O softwareupdate lista, instala e reinicia para aplicar atualizações sem o painel gráfico dos Ajustes do Sistema, mas o --fetch-full-installer exige autenticação de proprietário do volume em Apple silicon e uma política de adiamento gerenciada pode ocultar atualizações do --list por completo. Esta metodologia cobre os dois casos.
-
Comparação de sincronização de relógio: chrony, systemd-timesyncd, w32tm, timed do macOS e xntpd do AIX
Referência rápida para verificar se o relógio de um host está de fato sincronizado, nos daemons de tempo usados por Linux, Windows, macOS e AIX. Não é um estudo aprofundado de uma ferramenta específica, já que a verificação tem o mesmo formato em todos: há uma fonte configurada e o relógio está sincronizado neste momento?
-
Verificar a existência de um backup do Time Machine antes de uma alteração arriscada: tmutil e snapshots locais do APFS
O tmutil informa o destino do backup e a data do último backup concluído, e pode iniciar um novo backup e aguardar o seu fim. Os snapshots locais do APFS são apenas uma conveniência no mesmo disco e nunca substituem a confirmação de um backup fora do disco antes de uma operação destrutiva.
-
Contas de serviço em diferentes famílias de SO: privilégio mínimo para os próprios serviços em segundo plano de um agente
Cada SO oferece uma forma de executar um serviço sem login normal e sem senha gerida manualmente: usuários de sistema Linux com shell nologin ou DynamicUser= do systemd, contas virtuais e contas de serviço gerenciadas por grupo (gMSA) no Windows, e usuários daemon no macOS. Escolher a mais restrita importa para tudo o que um agente instala para rodar sem supervisão.
-
Executar o Homebrew de forma não interativa em um agente de build: NONINTERACTIVE, variáveis de ambiente e Brewfile
O instalador do Homebrew, o comportamento de atualização automática e de analytics e as versões das fórmulas podem ser controlados sem prompts em um runner de CI, e um Brewfile torna o conjunto instalado reproduzível entre runners.
-
Consultar o log unificado no macOS: log show, log stream e predicados
O log unificado é armazenado em formato binário comprimido, não em arquivos de texto, e por isso precisa ser consultado com a ferramenta log. Esta metodologia cobre log show e log stream com predicados, janelas de tempo, saída em JSON e o empacotamento do armazenamento com log collect para análise posterior.
-
Confiar em uma CA privada no macOS e no Windows e verificar se a mudança realmente surtiu efeito
No macOS, uma CA raiz passa a ser confiável em todo o sistema pelo keychain System, com `security add-trusted-cert`; no Windows, pelo repositório Local Machine Root, com Import-Certificate ou certutil -addstore. As duas alterações são silenciosas, a menos que sejam verificadas à parte, e ambas diferem de uma decisão de confiança por usuário ou por navegador.
-
Modelos de permissão de arquivos comparados: bits POSIX, ACLs POSIX, ACLs NFSv4/ZFS, NTFS e ACLs do macOS
Bits de modo POSIX, ACLs POSIX, o modelo de ACLs NFSv4/ZFS, ACLs NTFS e ACLs do macOS expressam o controle de acesso de formas distintas, e quase nada disso sobrevive à cópia de um arquivo de um sistema para outro. Esta referência lista os comandos de leitura e escrita de cada modelo e o que se perde silenciosamente na transferência.
-
Opções de inicialização do macOS para administradores: Recuperação, Utilitário de Segurança de Inicialização e Primeiros Socorros do Utilitário de Disco
A Recuperação do macOS (acessada de formas diferentes em Macs com Apple silicon e Intel), o Utilitário de Segurança de Inicialização, o Modo de Segurança e os Primeiros Socorros do Utilitário de Disco cobrem a maior parte da recuperação não destrutiva em um Mac sob controle físico do administrador. A Proteção da Integridade do Sistema (SIP) limita o que até um processo de administrador pode alterar fora desses caminhos.
Legível por máquina: JSON