[cvs@cvs ~]$ cat bin/adjustcvsgrp
#!/bin/bash
BIN_INW=/usr/bin/inotifywait
BIN_STAT=/usr/bin/stat
BIN_DIRNAME=/usr/bin/dirname
BIN_CHOWN=/bin/chown
BIN_CHMOD=/bin/chmod
MONITOR_PATH=/var/lib/sc/cvs
MONITOR_EVENT=create
$BIN_INW -mrq --event create --format '%w%f %e' $MONITOR_PATH | while read FILE EVENT; do
if [ "X$EVENT" = "XCREATE" -o "X$EVENT" = "XCREATE,ISDIR" ]; then
PTH=`$BIN_DIRNAME $FILE`
GRP=`$BIN_STAT --format="%G" $PTH`
if [ -e $FILE ]; then
$BIN_CHOWN cvs.$GRP $FILE
fi
if [ -e $FILE ]; then
$BIN_CHMOD ug+w $FILE
fi
fi
done
本文介绍了一个用于监控特定路径下文件创建事件并自动调整这些文件的所有权和权限的bash脚本。该脚本利用inotifywait工具来监听/var/lib/sc/cvs目录中的文件创建事件,一旦监测到新文件或目录被创建,它将把文件的所有权更改为cvs组,并赋予文件所有者读写权限。
1069

被折叠的 条评论
为什么被折叠?



