• <tr id='2gz4d'><strong id='2gz4d'></strong><small id='2gz4d'></small><button id='2gz4d'></button><li id='2gz4d'><noscript id='2gz4d'><big id='2gz4d'></big><dt id='2gz4d'></dt></noscript></li></tr><ol id='2gz4d'><table id='2gz4d'><blockquote id='2gz4d'><tbody id='2gz4d'></tbody></blockquote></table></ol><u id='2gz4d'></u><kbd id='2gz4d'><kbd id='2gz4d'></kbd></kbd>

      <code id='2gz4d'><strong id='2gz4d'></strong></code>

        <fieldset id='2gz4d'></fieldset>

        <i id='2gz4d'></i>

          1. <acronym id='2gz4d'><em id='2gz4d'></em><td id='2gz4d'><div id='2gz4d'></div></td></acronym><address id='2gz4d'><big id='2gz4d'><big id='2gz4d'></big><legend id='2gz4d'></legend></big></address>
            <ins id='2gz4d'></ins>
            <i id='2gz4d'><div id='2gz4d'><ins id='2gz4d'></ins></div></i><dl id='2gz4d'></dl>

            <span id='2gz4d'></span>

            linux如何判断指定用户对指定目录具有的权限具体介绍

            • 时间:
            • 浏览:9
            • 来源:124软件资讯网

                剧本名:power.sh

                剧本内容:

                代码如下:

                #!/bin/sh

                username3=$1

                dir_name2=$2

                # get existing directory

                file_path=$dir_name2

                while true

                do

                if [ -d $file_path ];then

                break;

                fi

                file_path=${file_path%/*}

                done

                dir_name2=$file_path

                # Judge whether the user exists

                grep "^$username3:" /etc/passwd >/dev/null

                if [ $? -ne 0 ];then

                echo "This user \"$username3\" does not exist."

                exit 4

                fi

                #echo "username : $username3"

                group4=` grep "^$username3:" /etc/passwd |awk -F : {'print $4'}|xargs -i grep {} /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_str

                if [ $is_read -eq 0 ];then

                is_read_str="r"

                else

                is_read_str="-"

                fi

                if [ $is_exe -eq 0 ];then

                is_exe_str="x"

                else

                is_exe_str="-"

                fi

                if [ $is_write -eq 0 ];then

                is_write_str="w"

                else

                is_write_str="-"

                fi

                echo "${is_read_str}${is_write_str}${is_exe_str}"

                -------------------------------------------

                注重:必须以root 身份执行该剧本  。

                剧本power.sh 需要两个参数  ,第一个表现指定的用户 ,第二个表现指定的目录

                测试:

                [root@ppc40 study]# sh power.sh whuanga4 /tmp/abc/dd

                This user "whuanga4" does not exist.

                [root@ppc40 study]# sh power.sh whuang4 /tmp/abc/dd

                rw-

                (说明:表现用户whuang4 对目录/tmp/abc/dd 具有读和写权限 ,没有执行权限)  。