Git Product home page Git Product logo

createuserpkg's Introduction

This project is no longer maintained

Please see the blog post.

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.

createuserpkg's People

Contributors

magervalp avatar gregneagle avatar chilcote avatar

Watchers

Kris Payne avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.