聘我网

新概念招聘3.0

如何用bash判断某个用户(非当前用户)是否有权限修改某个文件?

vote up0vote downstar

这个判断过程能够用程序自动化吗?

 

1 个答复

vote up0vote downcheck
# Assume filepath is $filepath and user is $username
LS_OUT=`/bin/ls -l $filepath`
USER_WRITE=`echo $LS_OUT | cut -c3`
GROUP_WRITE=`echo $LS_OUT | cut -c6`
ALL_WRITE=`echo $LS_OUT | cut -c9`
FILE_OWNER=`echo $LS_OUT | cut -f3 -d " "`
FILE_GROUP=`echo $LS_OUT | cut -f4 -d " "`
IN_VALID_GROUP=`groups $username| tr " " "\012" | egrep "^$FILE_GROUP\$" | wc -l`
if [ "$ALL_WRITE" = "w" -o \
     "$USER_WRITE" = "w" -a "$FILE_OWNER" = "$username" -o \
     "$GROUP_WRITE" = "w" -a "$IN_VALID_GROUP" = "1" ]
then
   exit 0   # Success - return 0 code.
else
   exit 1   # Fail
fi
链接

您的回答





不是您要找的问题? 浏览其他含有标签 的问题或者 自己问个.