/ etc / shadow no Mac

6

Eu tenho tentado executar esse arquivo passwd-generator do Linux no meu Mac. Eu modifiquei o script o suficiente para fazê-lo funcionar bem com diretórios no OSX:

#!/bin/sh
# build-passwd.sh - creates a password file which contains all OS users (except root)
PASSWDIR=$(cd "$(dirname "$0")"; pwd)/etc
PASSWFN=$PASSWDIR/passwd
if [ ! -d "$PASSWDIR" ]; then
mkdir $PASSWDIR
echo "$PASSWDIR created"
fi
sudo awk -F":" '
BEGIN {OFS=":"}
{if ($1 != "root" && $2 != "!" && $2 != "*") print $1,$2}
' /etc/shadow > $PASSWFN **<===here's my problem**
if [ $? = 0 ]; then
echo "Password file saved to $PASSWFN"
fi

Mas não teve sucesso porque não há "/ etc / shadow" no Mac.

Então você sabe se há alguma alternativa para isso? (Eu também tentei copiar / colar o arquivo da minha instalação do Linux usando a mesma senha)

    
por Multitut 01.08.2012 / 03:44

3 respostas

9

A partir do Lion, existe um arquivo shadow por usuário. Todos esses são armazenados no diretório /var/db/dslocal/nodes/Default/users e são acessíveis somente pelo root. Por exemplo:

$ ls -lah /var/db/dslocal/nodes/Default/users/
total 296
drwx------  77 root  wheel   2.6K Jul 27 20:30 .
drw-------  12 root  wheel   408B Jul 27 20:30 ..
-rw-------   1 root  wheel   4.0K Jul 27 20:30 Guest.plist
-rw-------   1 root  wheel   260B Jul 27 20:17 _amavisd.plist
-rw-------   1 root  wheel   254B Jul 27 20:17 _appleevents.plist
-rw-------   1 root  wheel   261B Jul 27 20:17 _appowner.plist
-rw-------   1 root  wheel   276B Jul 27 20:17 _appserver.plist

Além disso, esses são arquivos de lista de propriedades binárias. A maneira mais fácil de visualizá-los é usar o comando plist . Por exemplo:

$ plutil -p /var/db/dslocal/nodes/Default/users/root.plist 
{
  "smb_sid" => [
    0 => "XXXX-XXXX"
  ]
  "uid" => [
    0 => "0"
  ]
  "passwd" => [
    0 => "XXYYXX"
  ]
}

Espero que ajude.

    
por 01.08.2012 / 03:56
5

O Mac OS X não usa o padrão / etc / passwd e / etc / shadow. Em vez disso, ele usa um banco de dados. Costumava haver uma GUI chamada NetInfo, mas que foi substituída pelo comando dscl (Directory Services Command Line).

$ dscl
> read /Local/Default/Users/David Password
Password: ********

Infelizmente, isso é o máximo que posso obter com o utilitário. Imprimiu asteriscos em vez da senha. Talvez haja uma maneira de fazer desistir do hash, mas não o encontrei.

Ela é um artigo detalhando o uso de DSCL e quebra de senhas em um Mac.

    
por 01.08.2012 / 05:48
0

Dê uma olhada aqui ..

Algumas informações sobre falta do / etc / shadow no OSX

G. /

    
por 01.08.2012 / 03:50

Tags