#!/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