Làm cách nào để tạo tài khoản người dùng từ Terminal trong Mac OS X 10.11?


18

Tôi muốn có thể tạo người dùng mới trong Mac OS X 10.11 từ xa sau khi vào máy. Trên Mountain Lion, các bước này đã được liệt kê .

Đang chạy

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

Sau những điều trên, người dùng không trở thành quản trị viên. Tiếp theo là gì?


Câu trả lời:


5

Tài liệu thiếu một bước quan trọng:

reboot

hoặc là

sudo reboot

Sau khi khởi động lại, người dùng thích có thể nhìn thấy quyền quản trị viên trong Tùy chọn hệ thống - & gt; Người dùng và nhóm.

Nhưng: ngay cả khi không khởi động lại người dùng quản trị viên đã sẵn sàng - nó chỉ không hiển thị trong PrefPane. Nếu bạn đăng nhập như joeadmin ngay sau khi tạo tài khoản (ví dụ: chuyển đổi người dùng nhanh), vai trò quản trị viên sẽ hiển thị từ trong tài khoản của anh ấy.


Câu trả lời tốt đẹp. Tôi định bình luận với OP để hỏi tài khoản nào không phải là quản trị viên trông giống như tìm hiểu cách họ sử dụng người dùng hoặc kiểm tra tư cách thành viên nhóm quản trị viên. Tùy thuộc vào cách họ kiểm tra, đăng xuất có thể là tất cả những gì họ cần cho người dùng hiện tại của họ để đọc người dùng mới với tư cách quản trị viên ...
bmike

12

Nếu bạn ở đây và hệ thống của bạn đang chạy bất cứ thứ gì từ 10.10 trở lên, lệnh sysadmincl là người bạn tốt nhất của bạn. Nó thực hiện rất nhiều phép thuật mà DSCL không thể làm được.

Đây là đầu ra cho sysadmotypel:

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.

Sau đó, bạn sẽ muốn làm:

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

Để thêm / xóa người dùng, hãy sử dụng dseditgroup:

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

lệnh sudo createhomedir -c 2>&1 | grep -v "shell-init" cũng tạo một thư mục trong /var/setup cài đặt sạch
Burcardo

@Burcardo không sao miễn là tài khoản hoạt động và người dùng có thể sử dụng mật khẩu để thay đổi mật khẩu của riêng họ. Trong thực tế, không có máy nào của tôi gặp vấn đề với thư mục đó được tạo.
ub3rdud3

4

Sau nhiều thử nghiệm, tôi đã tạo tập lệnh này để tạo tài khoản người dùng từ thiết bị đầu cuối.

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

bạn có thể thoát khỏi dòng mv / Users / $ LOCAL_ADMIN_SHORTNAME / var / $ LOCAL_ADMIN_SHORTNAME # Di chuyển thư mục nhà của quản trị viên sang / var với một lá cờ trong lệnh sysadmincl của bạn -home / var / $ LOCAL_ADMIN_SHORTNAME
ub3rdud3

0

Chính GroupID phải được đặt thành 80 để tạo một tài khoản quản trị viên.

dscl . -create /Users/joeadmin PrimaryGroupID 80

kiểm tra chủ đề này để biết thêm.

Tôi cũng đã viết một kịch bản cho mục đích này. Đây là liên kết chính

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.