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

脚本名: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 具有读和写权限,没有执行权限)。

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:linux中shell 函数式用法尝试具体说明

2023-6-2 11:46:14

建站知识

小知识:十种启动linux系统快速方法介绍

2023-6-2 12:02:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索