#!/bin/sh

# listmacusers - Script simple donnant la liste des utilisateurs de la
#   base de donnes NetInfo de Mac OS X.
#
# Remarque: Mac OS X dispose aussi d'un fichier /etc/passwd, mais
# celui-ci n'est utilis qu'au dbut du dmarrage et pour des
# dmarrages en mode rcupration. Dans les autres cas, toutes les
# donnes proviennent de la base de donnes NetInfo.

fields=""

while getopts "Aahnprsu" opt ; do
  case $opt in
    A ) fields="uid passwd name realname home shell"    ;;
    a ) fields="uid name realname home shell"           ;;
    h ) fields="$fields home"                           ;;
    n ) fields="$fields name"                           ;;
    p ) fields="$fields passwd"                         ;;
    r ) fields="$fields realname"                       ;;
    s ) fields="$fields shell"                          ;;
    u ) fields="$fields uid"                            ;;
    ? ) cat << EOF >&2
Syntaxe: $0 [A|a|hnprsu]
O:
   -A    affiche tous les champs utilisateur connus de NetInfo
   -a    n'affiche que les champs utilisateur intressants
   -h    montre les rpertoires personnels des comptes
   -n    montre les noms des comptes
   -p    mot de passe (chiffr)
   -r    montre les valeurs de nom complet (vritable nom)
   -s    montre le shell de login
   -u    uid
EOF
exit 1
  esac
done

exec nireport . /users ${fields:=uid name realname home shell}
