我需要编写一个代码,以便它可以验证 DIRECTORY 权限。一直在“谷歌”周围,在我看来使用 File::stat 可能符合我的需求。但是,当我尝试如下代码时,它并没有给出我认为的结果。我正在寻找该目录是否没有读取和执行权限,它将显示目录名称。有人可以帮忙吗?下面是我从网上找到的代码行,尝试过但似乎没有给出一个有利的输出。
#! /usr/bin/perl
use strict ;
use warnings ;
use File::stat ;
my $path = "/nfs/ch/test_dir" ;
opendir (DH, $path) || die "Fail to open dir:$!\n" ; ;
my @dir = readdir (DH) ;
closedir (DH) ;
foreach my $dir (@dir) {
print "DIR: $dir\n" ;
$dirmode = (stat($dir)) [2] ;
printf "Permissions are %04o\n", $dirmode & 07777;
print "DIRmode= $dirmode\n" ;
}
输出如下:- DIR: groupA Permissions are 0000 DIRmode= DIR: groupB Permissions are 0000 DIRmode=
我实际上正在寻找可以输出目录名称的代码,当它发现搜索路径中的目录没有 GROUP 和 WORLD 权限以供读取和执行时。先谢谢了。