Mac OS X 10.11'de Terminal'den kullanıcı hesapları nasıl oluştururum?


23

Makineye bağlandıktan sonra Mac OS X 10.11'de uzaktan yeni kullanıcılar oluşturabilmek istiyorum. Mountain Lion'da bu adımlar listelendi .

Koşu

dscl . -create /Users/joeadmin
dscl . -create /Users/joeadmin UserShell /bin/bash
dscl . -create /Users/joeadmin RealName "Joe Admin" 
dscl . -create /Users/joeadmin UniqueID "510"
dscl . -create /Users/joeadmin PrimaryGroupID 20
dscl . -create /Users/joeadmin NFSHomeDirectory /Users/joeadmin
dscl . -passwd /Users/joeadmin password 

dscl . -append /Groups/admin GroupMembership joeadmin

Yukarıdakilerden sonra kullanıcı yönetici olamaz. Sırada ne var?


Yanıtlar:


6

Belgelerde önemli bir adım yoktur:

reboot

veya

sudo reboot

Yeniden başlattıktan sonra kullanıcı , Sistem Tercihleri ​​-> Kullanıcılar ve Gruplar'da görünür yönetici haklarına sahiptir .

Ama: bile kullanıcı yeniden başlatmadan olduğu zaten Admin - sadece PrefPane görünür değil. Hesabı oluşturduktan hemen sonra joeadmin olarak giriş yaparsanız (örn. Hızlı kullanıcı değiştirme) yönetici rolü hesabından görülebilir.


Güzel cevap. Ben hesabın kullanıcı neyi kullandığını veya yönetici grubu üyeliğini nasıl test ettiklerini araştırmak için yönetici neye benzemediğini sormak üzere OP'ye yorum yapacaktım. Nasıl kontrol ettiklerine bağlı olarak, mevcut kullanıcının yeni kullanıcıyı yönetici olarak okuması için gereken tüm çıkışlar olabilir ...
bmike

13

Buradaysanız ve sisteminiz 10.10 ve daha yeni bir sürümü çalıştırıyorsa, sysadminctl komutu en iyi arkadaşınızdır. DSCL'nin yapamayacağı çok fazla sihir yapar.

İşte sysadminctl için çıktı:

sysadminctl[21233:29122637] Usage: sysadminctl
    -deleteUser <user name> [-secure || -keepHome]
    -newPassword <new password> -oldPassword <old password> [-passwordHint <password hint>]
    -resetPasswordFor <local user name> -newPassword <new password> [-passwordHint <password hint>]
    -addUser <user name> [-fullName <full name>] [-UID <user ID>] [-password <user password>] [-hint <user hint>] [-home <full path to home>] [-admin] [-picture <full path to user image>]

Pass '-' instead of password in commands above to request prompt.

O zaman yapmak isteyeceksiniz:

sudo createhomedir -c 2>&1 | grep -v "shell-init"

Kullanıcı eklemek / kaldırmak için dseditgroup kullanın:

sudo dseditgroup -o edit -a usernametoadd -t user admin
sudo dseditgroup -o edit -a usernametoadd -t user wheel

komut sudo createhomedir -c 2>&1 | grep -v "shell-init"ayrıca /var/setuptemiz bir yüklemede bir klasör oluşturur
Burcardo

@Burcardo, hesaplar çalıştığı sürece sorun olmaz ve kullanıcılar kendi şifrelerini değiştirmek için passwd'yi kullanabilirler. Aslında makinelerimin hiçbirinin bu klasörle ilgili herhangi bir sorunu olmadı.
ub3rdud3

4

Çok test sonra, ben terminalden kullanıcı hesapları oluşturmak için bu komut dosyası yaptık.

LOCAL_ADMIN_FULLNAME="Joe Admin"     # The local admin user's full name
LOCAL_ADMIN_SHORTNAME="joeadmin"     # The local admin user's shortname
LOCAL_ADMIN_PASSWORD="password"      # The local admin user's password

# Create a local admin user account
sysadminctl -addUser $LOCAL_ADMIN_SHORTNAME -fullName "$LOCAL_ADMIN_FULLNAME" -password "$LOCAL_ADMIN_PASSWORD"  -admin
dscl . create /Users/$LOCAL_ADMIN_SHORTNAME IsHidden 1  # Hides the account (10.10 and above)
mv /Users/$LOCAL_ADMIN_SHORTNAME /var/$LOCAL_ADMIN_SHORTNAME # Moves the admin home folder to /var
dscl . -create /Users/$LOCAL_ADMIN_SHORTNAME NFSHomeDirectory /var/$LOCAL_ADMIN_SHORTNAME # Create new home dir attribute
dscl . -delete "/SharePoints/$LOCAL_ADMIN_FULLNAME's Public Folder" # Removes the public folder sharepoint for the local admin

Eğer hat kurtulabilirsiniz mv / Users / $ LOCAL_ADMIN_SHORTNAME / var / $ LOCAL_ADMIN_SHORTNAME # taşır yönetici giriş klasörü için / var senin sysadminctl komutu bir bayrak ile -Ev / var / $ LOCAL_ADMIN_SHORTNAME
ub3rdud3

0

Bir yönetici hesabı oluşturmak için PrimaryGroupID değerinin 80 olarak ayarlanması gerekir .

dscl . -create /Users/joeadmin PrimaryGroupID 80

kontrol Konuyu daha fazla bilgi için.

Ayrıca bu amaçla bir senaryo yazdım. İşte öz bağlantı

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.