[mdk-re] Сменаправ
Sergei
=?iso-8859-1?q?serpiph_=CE=C1_pochtamt=2Eru?=
Пн Июн 4 08:28:01 MSD 2001
Как-то пробегало сообщение о смене прав. Хочу предложить скрипт смены прав у
файлов и каталогов рекурсивно и при этом различает права для каталогов и
файлов.
--
С уважением, Епифанов Сергей
----------- следующая часть -----------
#!/bin/sh
if [ "$4" != "sub" ]
then
if [ x"$4" != x ]
then
echo "ERROR: in parameters"
exit 10
fi
echo "(C) PIF 2000"
echo "Change permissions for subdirectories"
echo " "
fi
dirmode=$1
filemode=$2
dirpath=$3
if [ "$4" != "sub" ]
then
if [ x"$dirpath" == x ]
then
echo "This program will change access mode for directories and files recursively"
echo "Usage: chsub dirmode filemode dir"
echo " dirmode - directory mode"
echo " filemode - file mode"
echo " dir - the name of the directory or file"
echo " "
echo "Example: chsub /tmp 755 644"
exit 0
fi
fi
if [ $# -le 2 ]
then
echo "ERROR: in parameters"
echo "Type chsub for help"
exit 1
fi
if [ -e "$dirpath" ]
then
chmod $dirmode "$dirpath"
else
echo "ERROR: $dirpath does not exists!"
exit 11
fi
if [ $? -ne 0 ]
then
echo "ERROR: in chmod"
exit 2
fi
for i in `ls -1a "$dirpath"`
do
if [ "$i" != "." ]
then
#Skip file "."
if [ "$i" != ".." ]
then
#Skip file ".."
if [ -d "$dirpath/$i" ]
then
#If $dirpath/$i is a directory
echo "Directory $dirpath/$i"
chmod "$dirmode" "$dirpath/$i" >/dev/null 2>&1
$0 "$dirpath/$i" "$dirmode" "$filemode" sub
else
#if $dirpath/$i is not a directory
echo " File $dirpath/$i"
chmod "$filemode" "$dirpath/$i" >/dev/null 2>&1
fi
fi
fi
done
Подробная информация о списке рассылки community