Skip to content

Commit

Permalink
aclmgr adjust
Browse files Browse the repository at this point in the history
  • Loading branch information
arisjr committed Jun 8, 2024
1 parent 45b6752 commit 6af58d8
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 36 deletions.
60 changes: 27 additions & 33 deletions samba-ad-member/assets/groupmonitor
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,35 @@ BASE_DIR=$SHARED_DIRECTORY
PREFIX=$GROUP_PREFIX
not_corrected=0
corrected=0
dontneed=0

#for DIR in $(ls -l $BASE_DIR | awk '{if ($4 == "root"){print $9;}}'); do
for DIR in $(ls $BASE_DIR); do
if (cd $BASE_DIR && ls -l $BASE_DIR | awk '{print $4;}' | grep -i $PREFIX$DIR >/dev/null 2>&1 && getfacl $DIR | grep -i $PREFIX$DIR >/dev/null 2>&1); then
(( dontneed++ ))
else
echo -n "CRON: Directory "$DIR" not setted. Checking group "$PREFIX$DIR" existence..."
if /usr/bin/getent group $PREFIX$DIR > /dev/null; then
echo "OK"
echo -n "CRON Adjusting group on directory "$BASE_DIR"/"$DIR"..."
if ( chmod 0070 $BASE_DIR/$DIR && \
chown :$PREFIX$DIR $BASE_DIR/$DIR && \
setfacl -b $BASE_DIR/$DIR && \
setfacl -m user::--- $BASE_DIR/$DIR && \
setfacl -m group::rwx $BASE_DIR/$DIR && \
setfacl -m group:$PREFIX$DIR:rwx $BASE_DIR/$DIR && \
setfacl -m other::--- $BASE_DIR/$DIR && \
setfacl -m default:group:$PREFIX$DIR:rwx $BASE_DIR/$DIR && \
setfacl -m default:user::rwx $BASE_DIR/$DIR && \
setfacl -m default:group::rwx $BASE_DIR/$DIR && \
setfacl -m default:other::r-x $BASE_DIR/$DIR );
then
echo "OK"
(( corrected++ ))
/etc/cron.daily/userlinks $DIR
else
(( not_corrected++ ))
echo "FAILED"
fi
total=$(ls $BASE_DIR | wc -l)

for DIR in $(ls -ln | awk '{if (($4 != "" )&&($4 < 100000)) {print $9}}'); do
echo -n "CRON: Directory "$DIR" not setted. Checking group "$PREFIX$DIR" existence..."
if /usr/bin/getent group $PREFIX$DIR > /dev/null; then
echo "OK"
echo -n "CRON Adjusting group on directory "$BASE_DIR"/"$DIR"..."
if ( chmod 0070 $BASE_DIR/$DIR && \
chown :$PREFIX$DIR $BASE_DIR/$DIR && \
setfacl -b $BASE_DIR/$DIR && \
setfacl -m user::--- $BASE_DIR/$DIR && \
setfacl -m group::rwx $BASE_DIR/$DIR && \
setfacl -m group:$PREFIX$DIR:rwx $BASE_DIR/$DIR && \
setfacl -m other::--- $BASE_DIR/$DIR && \
setfacl -m default:group:$PREFIX$DIR:rwx $BASE_DIR/$DIR && \
setfacl -m default:user::rwx $BASE_DIR/$DIR && \
setfacl -m default:group::rwx $BASE_DIR/$DIR && \
setfacl -m default:other::r-x $BASE_DIR/$DIR );
then
echo "OK"
(( corrected++ ))
/etc/cron.daily/userlinks $DIR
else
echo "NOT FOUND"
(( not_corrected++ ))
(( not_corrected++ ))
echo "FAILED"
fi
else
echo "NOT FOUND"
(( not_corrected++ ))
fi
done

Expand All @@ -47,5 +41,5 @@ echo "CRON: Directories adjusted: "$corrected
echo "CRON: ***************************************************************"
echo "CRON: Directories needing adjustment: "$not_corrected
echo "CRON: ***************************************************************"
echo "CRON: Directories already adjusted: "$dontneed
echo "CRON: Total Directories : "$total
echo "CRON: ***************************************************************"
6 changes: 3 additions & 3 deletions samba-ad-member/assets/userlinks
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ PREFIX=$GROUP_PREFIX

if [ -z $1 ]; then

for DIR in $(ls -l $BASE_DIR | awk '{if ($4 != "root"){print $9;}}'); do
echo -n "CRON: Searching group "$PREFIX$DIR"..."
for DIR in $(ls -ln $BASE_DIR | awk '{if ($4 > 100000){print $9;}}'); do
echo -n "CRON: Searching group "$PREFIX$DIR"..."
/usr/bin/getent group $PREFIX$DIR > /dev/null && echo "OK" && \
for USER in $(/usr/bin/getent group $PREFIX$DIR | awk '{split($1,users,":"); split(users[4],user,","); for (i=1;i in user;i++) {print user[i];}}'); do
echo -n "CRON Adjusting "$USER" link to "$BASE_DIR"/"$DIR"..." && \
Expand All @@ -15,7 +15,7 @@ if [ -z $1 ]; then
done || echo "NOT FOUND"
done
else
DIR=$1
DIR=$1
/usr/bin/getent group $PREFIX$DIR > /dev/null && \
for USER in $(/usr/bin/getent group $PREFIX$DIR | awk '{split($1,users,":"); split(users[4],user,","); for (i=1;i in user;i++) {print user[i];}}'); do
echo -n "CRON Adjusting "$USER" link to "$BASE_DIR"/"$DIR"..." && \
Expand Down

0 comments on commit 6af58d8

Please sign in to comment.