[fix] fixperms should have a -h option and colors

This commit is contained in:
alban 2018-10-25 17:27:16 +02:00
parent 654edab277
commit 6a4ee2dc3b
1 changed files with 33 additions and 25 deletions

View File

@ -22,36 +22,47 @@
# Purpose of file: Fix permission, ACL and ownership of AlternC's files
# ----------------------------------------------------------------------
#
red () { echo -e "\e[31m$@ \e[0m" ; }
usage () {
[[ -n "$@" ]] && red "$@\n"
cat<<End-of-message
Four optionals argument to chose from
-l string : a specific login to fix
-u integer : a specific uid to fix
-f string : a specific file to fix according to a given uid
-d string : a specific subdirectory to fix according to a given uid
# four optionals argument to chose from
# -l string : a specific login to fix
# -u integer : a specific uid to fix
# -f string : a specific file to fix according to a given uid
# -d string : a specific subdirectory to fix according to a given uid
# The u and l switch are used to fix a given user whole directory including his base directory ($ALTERNC_HTML/<letter>/<login>/
# The f and d switch are used to fix a given file or directory under the user's base directory. They use the base directory to get the permissions they should use.
# Be sure to have correct base directory permissions before attemplting to fix use those two switch
The u and l switch are used to fix a given user whole directory including his base directory ($ALTERNC_HTML/<letter>/<login>/
The f and d switch are used to fix a given file or directory under the user's base directory. They use the base directory to get the permissions they should use.
Be sure to have correct base directory permissions before attemplting to fix use those two switch
End-of-message
exit 1
}
query="SELECT uid,login FROM membres ORDER BY login"
sub_dir=""
file=""
LOCK_FIXPERMS="/etc/alternc/disable_all_fixperms"
LOCK_FIXPERMS="/tmp/test"
if [ -f "$LOCK_FIXPERMS" ] ; then
(
echo " ------------- "
echo '/!\ WARNING /!\ '
echo "The fixperms script is disabled"
echo "To enable it, delete $LOCK_FIXPERMS "
echo " ------------- "
) 1>&2
exit 0
usage "
------------------------------------
/!\ WARNING /!\
The fixperms script is disabled
To enable it, delete $LOCK_FIXPERMS
------------------------------------
"
fi
while getopts "l:u:f:d:" optname
while getopts "hl:u:f:d:" optname
do
case "$optname" in
"h") usage
;;
"l")
if [[ "$OPTARG" =~ ^[a-zA-Z0-9_]+$ ]] ; then
query="SELECT uid,login FROM membres WHERE login LIKE '$OPTARG' ORDER BY login"
@ -79,17 +90,14 @@ do
echo $sub_dir
;;
"?")
echo "Unknown option $OPTARG - stop processing"
exit
usage "Unknown option $OPTARG - stop processing"
;;
":")
echo "No argument value for option $OPTARG - stop processing"
exit
usage "No argument value for option $OPTARG - stop processing"
;;
*)
# Should not occur
echo "Unknown error while processing options"
exit
usage "Unknown error while processing options"
;;
esac
done