# linuxGetFileIDs.pl # # by Dean Giles # Version 1.0 # January 30, 2007 # # This Perl script lists the file owner, archiver, modifier, and metaDataModifier for NSS files. # This script has been designed to be run on Linux. # The API set can be downloaded from http://developer.novell.com/wiki/index.php/Virtual_File_Services_for_NetWare. # # The Perl script requires the name of an NSS pool as input. It requires that NSS be installed and an NSS pool be present. # { # User help function if (@ARGV < 1 || $ARGV[0] eq "/?" || $ARGV[0] eq "-?") { print "USAGE: perl linuxGetFileIDs.pl FILE_NAME \n"; print "Where FILE_NAME is the name of the NSS file, ". "it must include the complete path including the leading slash.\n\n"; print "Example: perl linuxGetFileIDs.pl /media/nss/NSS1/file.txt \n"; exit; } # Global Variables $fileName = $ARGV[0]; $file = "+". "". "$fileName". "". ""; # This is the command for initializing the virtual file for sending a command. print "File Name: $file \n"; print "Request Sent: $command \n"; if (!syswrite(NSSFILE, $command, length($command))) #Initialize the nss management file and write a command. { seek NSSFILE, 0, 0; # Make sure to start at the beginning of the file. sysread (NSSFILE, $error, 10000); #Read the error message. print "Error writing initialization to management file. \n"; print "$error \n\n"; #Print the error message to the screen. close (NSSFILE); } else { seek NSSFILE, 0, 0; # Make sure to start at the beginning of the file. sysread (NSSFILE, $reply, 10000); #Read the reply. print "$reply \n\n"; #Print the reply to the screen. close (NSSFILE); } }