• This repository has been archived on 30/Jan/2018
  • Stars
    star
    262
  • Rank 156,136 (Top 4 %)
  • Language PostScript
  • Created over 12 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This project has been archived and is no longer maintained

Alternatives

This project is no longer maintained

Please see the blog post. 10.13 doesn't appear to support SHA1 passwords anymore, and this project needs to be updated to create PBKDF2 passwords (see Security Notes below).

Download

Download CreateUserPkg from the project homepage at http://magervalp.github.com/CreateUserPkg/

Overview

This utility creates packages that create local user accounts when installed. The packages can create users on 10.5+, and they are compatible with all workflows that can install standard installer pkgs. For the details on how the packages work, see Greg Neagle's article in the May 2012 issue of MacTech.

Security Notes

Packages created using this utility encrypts the password as a salted SHA1 hash, which is how 10.5 and 10.6 normally stores it. Using a dictionary based attack they are reasonably easy to crack on modern machines, so make sure you pick a good, strong password. In 10.7 and up this is converted to PBKDF2 upon first login, which is much harder to crack, but the SHA1 hash can still be extracted from the package.

If you enable automatic login the password is stored in a kcpassword file, which is merely obfuscated and not encrypted - extracting the password (no matter how strong) is trivial.

Credits

  • Code by Per Olofsson, [email protected]
  • User deployment method by Greg Neagle
  • Bash plist modification code by Michael Lynn

Version History

  • 1.2.5 (in beta)
    • Fixed automatic login on 10.9+ (thanks to Greg Neagle).
  • 1.2.4
    • Fixed permissions for users to change their name, password, picture, etc (thanks to Greg Collen).
  • 1.2.3
    • Allow packages with empty password (thanks to Dan Keller).
  • 1.2.2
    • Fixed automatic logins that only worked on 2nd boot (thanks to Joseph Chilcote).
  • 1.2.1
    • Fixed empty password hash when you clicked Save without leaving the Password/Verify field (thanks to ih84ds).
  • 1.2
    • Added automatic login using kcpassword.
    • Package now adds users to admin group instead of using primary group 80 (thanks to Michael Lynn, Jason Bush, Greg Neagle). Primary group is always 20.
  • 1.1
    • create_user.pkg files can now be opened for editing.
    • Added user picture.
    • App is now sandboxed.
  • 1.0.3
    • Fixed Package ID and Version being set incorrectly.
  • 1.0.2
    • Fixed ownership of items in package Payload.
    • Changed salted sha1 shadow hash to upper case which fixes authentication on 10.5 and 10.6 (thanks to Allister Banks).
  • 1.0.1
    • Fixed postinstall script for 10.6 (thanks to Allister Banks).
  • 1.0
    • Initial release.

License

Copyright 2012 Per Olofsson

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More Repositories

1

AutoDMG

Create deployable system images from OS X installer
Python
1,217
star
2

Create-Recovery-Partition-Installer

Shell
244
star
3

LoginScriptPlugin

Execute scripts when a user logs in on Mac OS X.
C
113
star
4

MacModelShelf

A small Python module that gives you nice human readable Macintosh model names, e.g. "iMac (27-inch, Late 2009)", when given a serial number or model code.
Python
103
star
5

u4remastered

Ultima IV Remastered for the C64
Assembly
102
star
6

LoginLog

Display a log window over the login window.
Python
88
star
7

SkipAppleSetupAssistant

Disable OS X first boot Setup Assistant
Shell
63
star
8

AutoDMGUpdateProfiles

Scripts for maintaining AutoDMG's UpdateProfiles.plist
Python
59
star
9

ArcadeGameSelector

Amiga game menu
Eiffel
52
star
10

Scripted-Mac-Package-Creation

This project has been archived and is no longer maintained
Shell
35
star
11

fifogfx

Open source graphics card
KiCad Layout
31
star
12

MVPCStruct

Class for packing and unpacking C structs in Swift
Swift
27
star
13

CGTerm

C/G telnet client for C64 BBS's
C
25
star
14

iLife-repackaging

This project has been archived and is no longer maintained
Python
21
star
15

Profile-Manager-CLI

This project has been archived and is no longer maintained
Python
17
star
16

AutoDSNBI

This project has been archived and is no longer maintained
Shell
16
star
17

AsmAstar

A* pathfinding in 6502 assembler.
C
13
star
18

MacTech-2016

Build your first Mac app with Xcode
Objective-C
9
star
19

Ptolemy

Shell
8
star
20

extractinstalls

Generate installs key for Munki pkginfo files given an installer package.
Python
7
star
21

u4talk

Ultima IV Dialogue
HTML
7
star
22

AsmHeap

Heap data structure in 6502 assembler
C
5
star
23

MunkiReport-Python

Shell
5
star
24

magervalp.github.com

GitHub Pages
CSS
3
star
25

SimpleCLI

Command line interface for SimpleMDM script jobs
Python
3
star
26

DAFGU-Migration-Status

This project has been archived and is no longer maintained
Objective-C
3
star
27

SimpleMDMTools

Python
2
star
28

vbcc-conio

conio library for vbcc 6502 targets
C
2
star
29

DAFGU-rsync-wrapper

This project has been archived and is no longer maintained
Python
1
star
30

CHeap

Experimenting with priority queues using heaps for A*
Objective-C
1
star
31

MTB

Köpråd för din första mountainbike
1
star
32

SwiftHeap

Testing Swift's performance with my heap priority queue.
Swift
1
star