#!/bin/bash ## ## esempio_permessi.sh ## ## Made by Alessandro Dentella ## Login ## ## Started on Sat Feb 23 01:53:40 2008 Alessandro Dentella ## Last update Sat Feb 23 01:53:40 2008 Alessandro Dentella ## function help () { cat << FINE Comando: `basename $0` Sintassi: `basename $0` [ -h ] Descrizione: Opzioni: -h help (Questa pagina di manuale) FINE } function init() { useradd a useradd b useradd c useradd d groupadd a groupadd b groupadd c groupadd ab groupadd ac groupadd bc groupadd abc adduser a ab adduser a ac adduser b ab adduser b bc adduser c bc adduser c ac adduser a abc adduser b abc adduser c abc } while getopts hi var do case $var in h) clear; help; exit ;; i) init exit ;; esac done shift ` expr $OPTIND - 1 ` if [ -z "$1" ] ; then echo $0 nome_cartella fi DIR=$1 mkdir $DIR chmod 777 $DIR cd $DIR mkdir -p a b c share_ab share_ac share_bc share mkdir -p a/nascosta b/nascosta c/nascosta mkdir -p a/nascosta/all b/nascosta/all c/nascosta/all chmod 711 a b c chgrp b b chmod 777 a/nascosta b/nascosta c/nascosta for m in a b c do chown $m $m for i in uno due tre do touch $m/nascosta/$i done done for p in ab bc ac do chgrp $p share_$p done chmod 2770 share_ab chmod 770 share_ac chmod 700 share_bc