I'm trying to develop a Perl script to look for orphaned homes (home directories without users, or the inverse).
This script should generate a formatted listing of
any user without a home directory...
...or any home directory (a directory in /home) that is not attached to a user.
The identifying element is the UID, not the username.
I need to understand the difference between
running the program as root
as well as running it without root privileges
I'm using file handles to grab information from the OS about homes and users -- and put that information into arrays. The script would essentially be running external shell processes and reading from those processes' output just like reading from a text file. This code, will be executed on a standard Linux OS.
Array for the users
open (USERS, '-|' , 'getent passwd' ) or die $!;
@passwd_entries = <USERS>;
Array for the homes
open (HOMES, '-|' , 'ls /home' ) or die $!;
@home_dirs = <HOMES>;
close HOMES;