hw1287789687 发表于 2013-1-17 02:08:15

linux 判断指定用户对指定目录具有的权限

脚本名:power.sh
脚本内容:

#!/bin/shusername3=$1dir_name2=$2# get existing directoryfile_path=$dir_name2while truedo      if [ -d $file_path ];then                break;      fi      file_path=${file_path%/*}donedir_name2=$file_path# Judge whether the user existsgrep "^$username3:" /etc/passwd >/dev/nullif [ $? -ne 0 ];thenecho "This user \"$username3\" does not exist."exit 4fi#echo "username : $username3"group4=` grep "^$username3:"/etc/passwd |awk -F : {'print $4'}|xargs-igrep {}/etc/group|cut -d":" -f1`#echo "group : $group4"su -l $username3 -c "test -r $dir_name2"is_read=$?su -l $username3 -c "test -x $dir_name2"is_exe=$?su -l $username3 -c "test -w $dir_name2"is_write=$?$is_read_str$is_exe_str$is_write_strif [ $is_read -eq 0 ];thenis_read_str="r"elseis_read_str="-"fiif [ $is_exe -eq 0 ];then      is_exe_str="x"else      is_exe_str="-"fiif [ $is_write -eq 0 ];then      is_write_str="w"else      is_write_str="-"fiecho "${is_read_str}${is_write_str}${is_exe_str}" -------------------------------------------
注意:必须以root 身份执行该脚本。
脚本power.sh 需要两个参数,第一个表示指定的用户,第二个表示指定的目录
测试:

# sh power.sh whuanga4 /tmp/abc/dd
This user "whuanga4" does not exist.
# sh power.sh whuang4 /tmp/abc/dd
rw-
(说明:表示用户whuang4 对目录/tmp/abc/dd 具有读和写权限,没有执行权限)。
页: [1]
查看完整版本: linux 判断指定用户对指定目录具有的权限