slitaz-dev-tools rev 214
Add tazu - SliTaz users utility (mainly to manage tazbug/tinycm users on tank)
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Tue Jan 07 17:40:38 2014 +0100 (2014-01-07) |
parents | bd6d8b961782 |
children | 9799e8a6e9a8 |
files | tazu/Makefile tazu/tazu |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/tazu/Makefile Tue Jan 07 17:40:38 2014 +0100 1.3 @@ -0,0 +1,13 @@ 1.4 +# Makefile for TazU. 1.5 +# 1.6 + 1.7 +PREFIX?=/usr 1.8 +DESTDIR?= 1.9 + 1.10 +all: 1.11 + 1.12 +install: 1.13 + install -m 0755 tazu $(DESTDIR)$(PREFIX)/bin 1.14 + 1.15 +uninstall: 1.16 + rm -rf $(DESTDIR)$(PREFIX)/bin/tazu
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/tazu/tazu Tue Jan 07 17:40:38 2014 +0100 2.3 @@ -0,0 +1,99 @@ 2.4 +#!/bin/sh 2.5 +# 2.6 +# TazU - SliTaz Users account utility 2.7 +# 2.8 +# Copyright 2014 (C) SliTaz GNU/Linux - BSD License 2.9 +# Author: Christophe Lincoln <pankso@slitaz.org> 2.10 +# 2.11 +. /lib/libtaz.sh 2.12 +check_root 2.13 + 2.14 +authfile="/var/lib/slitaz/auth/people" 2.15 +people="/var/lib/slitaz/people" 2.16 +user="$1" 2.17 + 2.18 +# 2.19 +# Functions 2.20 +# 2.21 + 2.22 +usage() { 2.23 + cat << EOT 2.24 + 2.25 +Usage: $(basename $0) [user|command] [--option] 2.26 + 2.27 +Commands: 2.28 + count Count all users 2.29 + list List all users 2.30 + 2.31 +Options: 2.32 + --admin Make user admin 2.33 + --del Delete a user 2.34 + 2.35 +EOT 2.36 +} 2.37 + 2.38 +no_account() { 2.39 + echo "No user account for: $user" 2.40 +} 2.41 + 2.42 +# 2.43 +# Commands 2.44 +# 2.45 + 2.46 +case "$1" in 2.47 + "") usage ;; 2.48 + count) 2.49 + echo -n "Users: " 2.50 + colorize 34 "$(ls $people | wc -l)" ;; 2.51 + list) 2.52 + # List all users 2.53 + newline 2.54 + boldify "SliTaz users list" 2.55 + separator 2.56 + for user in $(ls $people) 2.57 + do 2.58 + . $people/$user/account.conf 2.59 + echo -n "$(colorize 34 "$user")" 2.60 + echo -e "\\033[16G${NAME}" 2.61 + done 2.62 + separator && newline ;; 2.63 + *) 2.64 + # Handle general: --options 2.65 + case " $@ " in 2.66 + *\ --admin\ *) 2.67 + # Admin user 2.68 + if fgrep -q ADMIN_USER= ${people}/${user}/account.conf; then 2.69 + echo -n "User is already admin: " && colorize 34 "$user" 2.70 + else 2.71 + echo -n "Adding $user to admin users..." 2.72 + echo 'ADMIN_USER="yes"' >> ${people}/${user}/account.conf 2.73 + status 2.74 + fi ;; 2.75 + 2.76 + *\ --del\ *) 2.77 + # Delete a user 2.78 + if [ -d "${people}/${user}" ]; then 2.79 + echo -n "Deleting user: $(colorize 34 "$user")" 2.80 + rm -rf "${people}/${user}" 2.81 + sed -i "/^${user}:/"d $authfile 2.82 + status 2.83 + else 2.84 + no_account 2.85 + fi ;; 2.86 + 2.87 + *) 2.88 + # Show user info 2.89 + if [ -d "${people}/${user}" ]; then 2.90 + newline 2.91 + echo "$(boldify "User:") $(colorize 34 "$user")" 2.92 + separator 2.93 + cat $people/$user/account.conf | grep "=" 2.94 + separator && newline 2.95 + else 2.96 + no_account 2.97 + echo ${people}/${user} 2.98 + fi ;; 2.99 + esac ;; 2.100 +esac 2.101 + 2.102 +exit 0