Bir komut dosyasında karma olarak yeni şifre sağlayarak kullanıcı şifresini değiştirin


7

Şu anda, çok sayıda Mac'in dağıtımı üzerinde çalışıyor, üzerinde bir yönetici hesabı için şifreyi, şifreyi betiğe düz metin koymadan ayarlamak istiyorum. Dscl / passwd için bir şifre sağlama yolu var mı?

Yanıtlar:


3

Evet, bir betiğe bir karma sağlayarak şifreyi değiştirebilirsiniz. Bu 10.7 ve sonrası için çalışır (en az 10.9.1'e kadar).

  1. Ayarlamak istediğiniz karmaya ihtiyacınız var. Bunu yapmanın en kolay yolu, istediğiniz şifreyi içeren bir hesap oluşturmak ve hash okumaktır. Karma saklanır /var/db/dslocal/nodes/Default/users/[username].plist içinde ShadowHashData alan

  2. Kullanıcıyı standart yolla (dscl kullanarak) oluşturun, ancak dscl kullanarak parolayı ayarlamayın, bunun yerine defaults komutunu kullanın.

'Lana' denilen kullanıcı için örnek:

#!/bin/bash

#hash to set obtained from: 
#defaults read /var/db/dslocal/nodes/Default/users/lana.plist ShadowHashData
pw_hash='(<10145341 4c544544 ...really long...2d534841>)'

#needs to be unique
$uid=510

#gid of an existing group
$gid=510

dscl . -create /Users/lana
dscl . -create /Users/lana UserShell /bin/bash
dscl . -create /Users/lana RealName "Lana May"
dscl . -create /Users/lana UniqueID $uid
dscl . -create /Users/lana PrimaryGroupID $gid
dscl . -create /Users/lana NFSHomeDirectory /Users/lana
dscl . -merge /Groups/admin GroupMembership lana
defaults write "/var/db/dslocal/nodes/Default/users/lana.plist" ShadowHashData "$pw_hash"

0

Yıllar önce, parolanın / etc / passwd veya isteğe bağlı olarak / etc / shadow içinde saklandığı bazı UNIX sistemlerine karışmıştım.

Biraz arama yaptım ve şifre özetlerinin OS X'te nasıl depolandığını anlatan iki makale buldum:

http://www.defenceindepth.net/2009/12/cracking-os-x-passwords.html http://www.defenceindepth.net/2011/09/cracking-os-x-lion-passwords.html

2011 makalesinde şöyle yazıyor:

Her kullanıcının kendi gölge dosyası vardır, her gölge dosyası / var / db / dslocal / nodes / Default / users / içinde bulunan bir .plist dosyası altında saklanır.

İki makale, yenilerini ayarlamak yerine şifreleri kırmakla ilgili, ancak sizin için bazı yararlı bilgiler sağlayabilir.

Sonra bir Google araması yaptım dscl set ShadowHashData. İlk hit "Python betiği" 10.7 sistemde bir kullanıcı oluşturmak için ücretsiz yükleme paketi "idi:

https://gist.github.com/rustymyers/1242589

Bu senaryo geliyor gibi görünüyor dscl -create, bunu takiben dscacheutil -flushcache, ardından bazı verileri yazarak /var/db/dslocal/nodes/Default/users/%s.plist.

Senaryoya çok fazla bakmadım, ama belki de size bir başlangıç ​​noktası verebilir?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.