Mac OS X 10.11의 터미널에서 사용자 계정을 어떻게 만듭니 까?


23

Mac OS X 10.11에서 컴퓨터에 ssh 한 후 원격으로 새 사용자를 만들 수 있기를 원합니다. 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

이 문서에는 다음과 같은 중요한 단계가 없습니다.

reboot

또는

sudo reboot

재부팅 후 사용자는 시스템 환경 설정-> 사용자 및 그룹에서 볼 수있는 관리자 권한을 갖습니다.

그러나 : 재부팅하지 않아도 사용자 이미 관리자입니다-PrefPane에는 표시되지 않습니다. 계정을 생성 한 직후 (예 : 빠른 사용자 전환) joeadmin으로 로그인하면 계정 내에서 관리자 역할이 표시됩니다.


좋은 대답입니다. OP 가 아닌 계정이 관리자가 아닌 사용자가 사용자를 사용하는 방법 또는 관리자 그룹 멤버 자격을 테스트하는 방법을 파헤치는 것처럼 보이는지 묻기 위해 OP에 의견을 보내려고했습니다 . 그들이 어떻게 확인하는지에 따라, 로그 아웃은 현재 사용자가 새로운 사용자를 관리자로 읽는 데 필요한
전부일 수 있습니다

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 명령에 플래그 - 홈은 / var / $ LOCAL_ADMIN_SHORTNAME
ub3rdud3

0

관리자 계정을 만들려면 PrimaryGroupID80 으로 설정해야 합니다.

dscl . -create /Users/joeadmin PrimaryGroupID 80

자세한 내용은 이 스레드 를 확인하십시오 .

또한이 목적을 위해 스크립트를 작성했습니다. 여기입니다 요점 링크

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.