web-dev-qa-db-ja.com

Macの/ etc / shadow

MacでこのLinux passwd-generatorファイルを実行しようとしています。 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

しかし、Macには「/ etc/shadow」がないため、成功しませんでした。

これに代わるものがあるかどうか知っていますか? (同じパスワードを使用して、Linuxインストールからファイルをコピーして貼り付けようとしました)

6
Multitut

Lion以降、ユーザーごとにシャドウファイルがあります。これらはすべて/var/db/dslocal/nodes/Default/usersディレクトリにあり、ルートのみがアクセスできます。例えば:

$ 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

また、これらはバイナリプロパティリストファイルです。それらを表示する最も簡単な方法は、plistコマンドを使用することです。例えば:

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

Mac OS Xは標準の/ etc/passwdと/ etc/shadowを使用しません。代わりに、データベースを使用します。以前はNetInfoと呼ばれるGUIがありましたが、dsclコマンド(ディレクトリサービスコマンドライン)に置き換えられました。

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

残念ながら、それは私がユーティリティで得ることができる限りです。パスワードの代わりにアスタリスクを出力しました。ハッシュを放棄する方法があるかもしれませんが、私はそれを見つけていません。

彼女はMacで DSCLとクラッキングパスワード を使用することを詳述した記事です。

5
David W.

ご覧ください こちら ..

OSXで/ etc/shadowが見つからないという情報

G. /

0
grillp