Questão Localização do arquivo de senha do administrador


Eu sei Mac manter hash (SHA) da senha em um arquivo, mas não me lembro da localização alguém pode me ajudar por favor?


4


origem


Por que você precisa saber a localização do arquivo com os hashes? O que você está tentando alcançar? - That Brazilian Guy


Respostas:


Em versões recentes do OS X (esqueci se isso mudou em 10.6 ou 10.7), os hashes de sombra foram movidos de / var / db / shadow / hash / <generateduid> para o banco de dados do usuário principal como um atributo em / var / db / dslocal / nodes / Default / users / <accountname> .plist. Você pode obtê-los diretamente do .plist (por exemplo, com o defaults comando), mas provavelmente é melhor passar pelos serviços de diretório com o dscl comando, especialmente porque isso também pode dizer em qual formato ele está (SALTED-SHA512-PBKDF2 neste exemplo):

$ sudo dscl . read /Users/joeuser AuthenticationAuthority
AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512-PBKDF2> ;Kerberosv5
;;joeuser@LKDC:SHA1.35AA07E97624F005350C5DC08A0633E9AFE17A14;LKDC:SHA1.35AA07E97
624F005350C5DC08A0633E9AFE17A14
$ sudo dscl . read /Users/joeuser dsAttrTypeNative:ShadowHashData
dsAttrTypeNative:ShadowHashData:
 62706c69 73743030 d101025f 10145341 4c544544 2d534841 3531322d 50424b44 4632d30
3 04050607 0857656e 74726f70 79547361 6c745a69 74657261 74696f6e 734f1080 4a52f1
ce a8cbadda 6c0e5483 9e7c3663 4d3c3327 d6dc6ad9 eb6ae851 d5837201 e15d8a58 641cf
ab0 46fc7b18 4bfafab7 8b44a6a6 424a241e 239ee429 12a7c304 2de27551 218257a7 a26e
f16d ceeac49f 5e3161c3 b63cab11 f6d92601 85cc134a 4e8ca7ad 7bd826be fc08606e eb1
2c642 5ec370e8 95ffb534 42488365 61649a73 4f1020f7 54827b04 dd6f6c24 799a8cb8 d1
5243a6 42a3cef4 566100d3 177cfeec b251f211 6532080b 22293136 41c4e700 00000000 0
0010100 00000000 00000900 00000000 00000000 00000000 0000ea

4





Os hashes estavam em /var/db/shadow/hash/ em 10.6 e anteriores, mas eles são armazenados em /var/db/dslocal/nodes/Default/users/username.plist em 10.7 e 10.8.

Você pode imprimir os dados de hash com Dave Grohl (sudo dave -s $USER) ou algo parecido com isto:

sudo defaults read /var/db/dslocal/nodes/Default/users/$USER.plist ShadowHashData | tr -dc '0-9a-f ' | xxd -p -r | plutil -convert xml1 - -o -

Se o login automático estiver ativado, a senha do keychain de login também será armazenada em /etc/kcpassword criptografado com cifra XOR.

sudo ruby -e 'key = [125, 137, 82, 35, 210, 188, 221, 234, 163, 185, 31]; IO.read("/etc/kcpassword").bytes.each_with_index { |b, i| break if key.include?(b); print [b ^ key[i % key.size]].pack("U*") }'


3





O hash deve estar localizado em /var/db/shadow/hash sob o GUID para o usuário.

O GUID do usuário pode ser encontrado executando:

dscl localhost -read /Search/Users/<username> | grep GeneratedUID | cut -c15-


2



Não existe um diretório chamado "shadow" em "db" para mim - Rodd
Se você não tem root, você terá que inicializar no modo de usuário único. Se você só precisa redefinir a senha de root, siga o guia aqui: kashiv.com/2012/04/16/… - Josh


Um pouco de ironia ... senhas, claro, há um Mac OS)

Talvez eles possam até ver no terminal:

security dump-keychain -d ~/Library/Keychains/login.keychain

Como redefinir sua senha do Mac OS X sem um disco de instalação

Como redefinir a senha para o Mac OS X 10.7 Lion

Redefina a senha, pesquise o arquivo de mudança na hora da redefinição da senha.


2



esse arquivo se parece com o "arquivo mestre" do Acesso às Chaves. Mas no Keychain Access não há a senha de login ... - Rodd
@Rodd pode ser redefinido senha e alterar o arquivo de busca no tempo de redefinição? - STTR


Como eu sei, o Mac também é baseado no Linux (eu posso estar errado), você pode verificar na pasta raiz por um arquivo que é chamado "pwd"?


0



O Mac OS X é derivado do BSD que foi baseado em (mas não derivado de) UNIX, assim como o Linux foi baseado em (mas não derivado de) o Minix que também foi baseado em (mas não derivado de) UNIX. - Aaron Jones
Bem, eu nunca usei um MacOS, mas acho que ele tem o mesmo sistema de arquivos com PCs baseados em Linux. Portanto, deve haver um arquivo pwd na pasta raiz. - Hasan Hüseyin Çakır
A única pasta "root" que encontrei está em / var / root, mas não em "pwd". - Rodd