<i id='r0dfo'></i>

    1. <acronym id='r0dfo'><em id='r0dfo'></em><td id='r0dfo'><div id='r0dfo'></div></td></acronym><address id='r0dfo'><big id='r0dfo'><big id='r0dfo'></big><legend id='r0dfo'></legend></big></address>

        <fieldset id='r0dfo'></fieldset>

        <code id='r0dfo'><strong id='r0dfo'></strong></code>
      1. <tr id='r0dfo'><strong id='r0dfo'></strong><small id='r0dfo'></small><button id='r0dfo'></button><li id='r0dfo'><noscript id='r0dfo'><big id='r0dfo'></big><dt id='r0dfo'></dt></noscript></li></tr><ol id='r0dfo'><table id='r0dfo'><blockquote id='r0dfo'><tbody id='r0dfo'></tbody></blockquote></table></ol><u id='r0dfo'></u><kbd id='r0dfo'><kbd id='r0dfo'></kbd></kbd>
        1. <i id='r0dfo'><div id='r0dfo'><ins id='r0dfo'></ins></div></i>

        2. <dl id='r0dfo'></dl>

            <span id='r0dfo'></span><ins id='r0dfo'></ins>

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

            • 时间:
            • 浏览:7
            • 来源: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 具有读和写权限  ,没有执行权限) 。