Mac OS X 10.11のターミナルからユーザーアカウントを作成するにはどうすればよいですか?


23

マシンにsshした後、Mac OS X 10.11でリモートで新規ユーザーを作成できるようにしたいと思います。Mountain Lionでは、これらの手順がリストされていました

ランニング

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

上記の後、ユーザーは管理者になりません。次は何?


回答:


6

ドキュメントには1つの重要なステップがありません。

reboot

または

sudo reboot

再起動後、ユーザーは[システム環境設定]-> [ユーザーとグループ] で表示される管理者権限を取得します。

ただし、再起動しなくてもユーザー既に管理者です。PrefPaneには表示されません。アカウントを作成した直後にjoeadminとしてログインした場合(高速ユーザー切り替えなど)、adminロールは彼のアカウント内から見ることができます。


いい答え。私はOPにコメントして、アカウントが管理者ではないものとは何であるかを尋ね、ユーザーの使用方法や管理者グループメンバーシップのテスト方法を調べました。確認方法によっては、現在のユーザーが管理者として新しいユーザーを読み取るために必要なのはログアウトだけかもしれません...
bmike

13

ここにいて、システムが10.10以降のバージョンを実行している場合、sysadminctlコマンドが最適です。DSCLではできない多くの魔法を実行します。

sysadminctlの出力は次のとおりです。

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.

その後、あなたがしたいでしょう:

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

ユーザーを追加/削除するには、dseditgroupを使用します。

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

このコマンドは、クリーンインストールにsudo createhomedir -c 2>&1 | grep -v "shell-init"もフォルダーを作成します/var/setup
Burcardo

@Burcardoは、アカウントが機能していれば問題ありません。ユーザーはpasswdを使用して自分のパスワードを変更できます。実際、私のマシンはどれもそのフォルダが作成されることに関して問題を抱えていません。
ub3rdud3

4

多くのテストの後、ターミナルからユーザーアカウントを作成するためにこのスクリプトを作成しました。

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

あなたが行を取り除くことができ MV /ユーザ/ $ LOCAL_ADMIN_SHORTNAMEの/ var / $ LOCAL_ADMIN_SHORTNAME#移動管理ホームフォルダへの/ var ごsysadminctlコマンド内のフラグ付き-homeは/ var / $ LOCAL_ADMIN_SHORTNAME
ub3rdud3

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.