|
@@ -33,6 +33,8 @@ Commands:
|
|
|
Set access rights for user(s) to repository.
|
|
|
userdel <repository> <r/w/rw> <user1> [user2] ...
|
|
|
Remove access rights for user(s) to repository.
|
|
|
+ userdel-all <repository> <r/w/rw>
|
|
|
+ Remove access rights for all users for repository.
|
|
|
EOF
|
|
|
}
|
|
|
|
|
@@ -316,6 +318,42 @@ user_del()
|
|
|
done
|
|
|
}
|
|
|
|
|
|
+# Remove all users from access groups
|
|
|
+user_del_all()
|
|
|
+{
|
|
|
+ local w=0
|
|
|
+ local r=0
|
|
|
+ local repository_name=$1
|
|
|
+ local user_name=""
|
|
|
+
|
|
|
+ shift
|
|
|
+ case "$1" in
|
|
|
+ r)
|
|
|
+ r=1
|
|
|
+ ;;
|
|
|
+ w)
|
|
|
+ w=1
|
|
|
+ ;;
|
|
|
+ rw|wr)
|
|
|
+ r=1
|
|
|
+ w=1
|
|
|
+ ;;
|
|
|
+ *)
|
|
|
+ echo "Error: Illegal parameter \"$1\"" 1>&2
|
|
|
+ exit 1
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+
|
|
|
+ if test $r -ne 0; then
|
|
|
+ user_name=`get_group_members "${group_r_prefix}${repository_name}"`
|
|
|
+ test "x$user_name" != "x" && user_del "$repository_name" "r" $user_name
|
|
|
+ fi
|
|
|
+ if test $w -ne 0; then
|
|
|
+ user_name=`get_group_members "${group_w_prefix}${repository_name}"`
|
|
|
+ test "x$user_name" != "x" && user_del "$repository_name" "w" $user_name
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
# Find repository VCS
|
|
|
find_repo_vcs()
|
|
|
{
|
|
@@ -461,6 +499,10 @@ case "$action" in
|
|
|
test $# -lt 3 && { echo "Error: Not enough parameters" 1>&2; exit 1; }
|
|
|
user_del "$@"
|
|
|
;;
|
|
|
+"deluser-all"|"userdel-all")
|
|
|
+ test $# -lt 2 && { echo "Error: Not enough parameters" 1>&2; exit 1; }
|
|
|
+ user_del_all "$@" || exit 1
|
|
|
+ ;;
|
|
|
*)
|
|
|
echo "Error: Unknown command" 1>&2
|
|
|
exit 1
|