Hi all, I've been tasked with curating a program that takes in a username and checks with /etc/pass file, in hopes of it being valid and outputting the users ID and home directory This is what I have and it works but always says user invalid, leading me to believe something about the section regarding fields is incorrect... Thanks in advance!!
$filename = '/etc/passwd.bak'; open(FILE, $filename) or die "Could not read from $filename, program s +topped."; print "Please enter the username: \n"; $username = <STDIN>; while(<FILE>){ chomp $username; if ($username eq @fields[1]){ print "Home directory: $fields[5]\n"; print "Shell used: $fields[6]\n"; exit 0; } if ($username ne @fields[1]){ print "User: $username does not exist.\n"; exit 0; } @fields = split(':', $_); } close FILE;
In reply to Trying to take user input as username, read etc/passwd and output user ID by charlesx1552
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |