Скачиваний:
8
Добавлен:
09.05.2014
Размер:
2.96 Кб
Скачать
#!/bin/bash
echo "Please enter file name:"
read name
if
test -f "$name"
then :
else echo "File doesn't exist!"
fi
u=$(ls -l "$name" 2>>errlog3 | awk '{print substr($1,4,1)}')
g=$(ls -l "$name" 2>>errlog3 | awk '{print substr($1,7,1)}')
o=$(ls -l "$name" 2>>errlog3 | awk '{print substr($1,10,1)}')
echo $u
echo $g
echo $o

if [[ "$u" = "x" && "$g" = "x" && "$o" = "x" ]]
then	
(cat catpasswd & cat niscatpasswd) | awk -F: '{print $1}' 

elif [[ "$u" = "x" && "$g" = "x" && "$o" = "-" ]]
then		
usertemp=$(ls -l "$name" | awk '{print $3}')	
grouprtemp=$(ls -l "$name" | awk '{print $4}')
grouprtempid1=$((cat catgroup & cat niscatgroup) | awk -F: "/^$grouprtemp/"'{print $3}' )
echo $grouprtempid1 1>tmp3_1
grouprtempid=`awk '{print $1}' tmp3_1`
rm tmp3_1
echo "root"
(cat catpasswd & cat niscatpasswd) | awk  -F: '$4~'"/^$grouprtempid"'$/{print $1}' | awk '$1!~/^root$/ {print $1}'

elif [[ "$u" = "x" && "$g" = "-" && "$o" = "x" ]]
then
usertemp=$(ls -l "$name" | awk '{print $3}')	
grouprtemp=$(ls -l "$name" | awk '{print $4}')
grouprtempid1=$((cat catgroup & cat niscatgroup) | awk -F: "/^$grouprtemp/"'{print $3}' )
echo $grouprtempid1 1>tmp3_1
grouprtempid=`awk '{print $1}' tmp3_1`
rm tmp3_1
echo $usertemp
(cat catpasswd & cat niscatpasswd) | awk  -F: '$4!~'"/^$grouprtempid"'$/{print $1}' 

elif [[ "$u" = "x" && "$g" = "-" && "$o" = "-" ]]
then
usertemp=$(ls -l "$name" | awk '{print $3}')
echo "root"
echo $usertemp

elif [[ "$u" = "-" && "$g" = "x" && "$o" = "x" ]]
then
usertemp=$(ls -l "$name" | awk '{print $3}')
(cat catpasswd & cat niscatpasswd) | awk  -F: '$1!~'"/^$usertemp"'$/{print $1}'

elif [[ "$u" = "-" && "$g" = "x" && "$o" = "-" ]]
then
usertemp=$(ls -l "$name" | awk '{print $3}')	
grouprtemp=$(ls -l "$name" | awk '{print $4}')
grouprtempid1=$((cat catgroup & cat niscatgroup) | awk -F: "/^$grouprtemp/"'{print $3}' )	
#grouprtempid2=$((cat niscatgroup) | awk -F: "/^$grouprtemp/"'{print $3}')
echo $grouprtempid1 1>tmp3_1
grouprtempid=`awk '{print $1}' tmp3_1`
rm tmp3_1
#echo $grouprtempid
find=`(cat catpasswd & cat niscatpasswd) | awk  -F: '$4~'"/^$grouprtempid"'$/{print $1}' | awk  -F: '$1!~'"/^$usertemp"'$/{print $1}'`
declare -a massive
i=0
for findname in $find
do
massive[$i]="$findname"
let "i += 1"
done
numberofel=${#massive[@]}
i=0
while [ "$i" -ne "$numberofel" ]
do
if [ ${massive[$i]} = "root" ]
then level=1
else echo ${massive[$i]}
fi
let "i +=1"
done
if [ "level" != "1" ]
then echo "root"
fi 

elif [[ "$u" = "-" && "$g" = "-" && "$o" = "x" ]]
then 
usertemp=$(ls -l "$name" | awk '{print $3}')	
grouprtemp=$(ls -l "$name" | awk '{print $4}')
grouprtempid1=$((cat catgroup & cat niscatgroup) | awk -F: "/^$grouprtemp/"'{print $3}' )
echo $grouprtempid1 1>tmp3_1
grouprtempid=`awk '{print $1}' tmp3_1`
rm tmp3_1
(cat catpasswd & cat niscatpasswd) | awk  -F: '$4!~'"/^$grouprtempid"'$/{print $1}' | awk  -F: '$1!~'"/^$usertemp"'$/{print $1}'

elif [[ "$u" = "-" && "$g" = "-" && "$o" = "-" ]]
then
echo "root"

fi
Соседние файлы в папке задание №3 — 4