slitaz-dev-tools diff tazu/tazu @ rev 256

tazwikiss: $HTTP_ACCEPT_LANGUAGE is not set by tazweb (again)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed May 25 16:35:30 2016 +0200 (2016-05-25)
parents
children 16cb64fb7e17
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/tazu/tazu	Wed May 25 16:35:30 2016 +0200
     1.3 @@ -0,0 +1,99 @@
     1.4 +#!/bin/sh
     1.5 +#
     1.6 +# TazU - SliTaz Users account utility
     1.7 +#
     1.8 +# Copyright 2014 (C) SliTaz GNU/Linux - BSD License
     1.9 +# Author: Christophe Lincoln <pankso@slitaz.org>
    1.10 +#
    1.11 +. /lib/libtaz.sh
    1.12 +check_root
    1.13 +
    1.14 +authfile="/var/lib/slitaz/auth/people"
    1.15 +people="/var/lib/slitaz/people"
    1.16 +user="$1"
    1.17 +
    1.18 +#
    1.19 +# Functions
    1.20 +#
    1.21 +
    1.22 +usage() {
    1.23 +	cat << EOT
    1.24 +
    1.25 +Usage: $(basename $0) [user|command] [--option]
    1.26 +
    1.27 +Commands:
    1.28 +  count    Count all users
    1.29 +  list     List all users
    1.30 +
    1.31 +Options:
    1.32 +  --admin  Make user admin
    1.33 +  --del    Delete a user
    1.34 +
    1.35 +EOT
    1.36 +}
    1.37 +
    1.38 +no_account() {
    1.39 +	echo "No user account for: $user"
    1.40 +}
    1.41 +
    1.42 +#
    1.43 +# Commands
    1.44 +#
    1.45 +
    1.46 +case "$1" in
    1.47 +	"") usage ;;
    1.48 +	count)
    1.49 +		echo -n "Users: "
    1.50 +		colorize 34 "$(ls $people | wc -l)" ;;
    1.51 +	list)
    1.52 +		# List all users
    1.53 +		newline
    1.54 +		boldify "SliTaz users list"
    1.55 +		separator
    1.56 +		for user in $(ls $people)
    1.57 +		do
    1.58 +			. $people/$user/account.conf
    1.59 +			echo -n "$(colorize 34 "$user")"
    1.60 +			echo -e "\\033[16G${NAME}"
    1.61 +		done 
    1.62 +		separator && newline ;;
    1.63 +	*)
    1.64 +		# Handle general: --options
    1.65 +		case " $@ " in
    1.66 +			*\ --admin\ *)
    1.67 +				# Admin user
    1.68 +				if fgrep -q ADMIN_USER= ${people}/${user}/account.conf; then
    1.69 +					echo -n "User is already admin: " && colorize 34 "$user" 
    1.70 +				else
    1.71 +					echo -n "Adding $user to admin users..."
    1.72 +					echo 'ADMIN_USER="yes"' >> ${people}/${user}/account.conf
    1.73 +					status
    1.74 +				fi ;;
    1.75 +			
    1.76 +			*\ --del\ *)
    1.77 +				# Delete a user
    1.78 +				if [ -d "${people}/${user}" ]; then
    1.79 +					echo -n "Deleting user: $(colorize 34 "$user")" 
    1.80 +					rm -rf "${people}/${user}"
    1.81 +					sed -i "/^${user}:/"d $authfile
    1.82 +					status
    1.83 +				else
    1.84 +					no_account
    1.85 +				fi ;;
    1.86 +			
    1.87 +			*)
    1.88 +				# Show user info
    1.89 +				if [ -d "${people}/${user}" ]; then	
    1.90 +					newline
    1.91 +					echo "$(boldify "User:") $(colorize 34 "$user")"
    1.92 +					separator
    1.93 +					cat $people/$user/account.conf | grep "="
    1.94 +					separator && newline
    1.95 +				else
    1.96 +					no_account
    1.97 +					echo ${people}/${user}
    1.98 +				fi ;;
    1.99 +		esac ;;
   1.100 +esac
   1.101 +
   1.102 +exit 0