Last active
August 29, 2015 13:57
-
-
Save rmulligan/9592372 to your computer and use it in GitHub Desktop.
Example for Sal
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "./student" | |
require "set" | |
counter = 0 | |
students = Set.new # Sets only have unique values, so you don't have to worry about duplicate students | |
File.open("passwd", "r") do |infile| # Change this file to /etc/passwd or wherever your file is | |
while (line = infile.gets) | |
if line.match(/\/home\/students/) # Ignore lines that aren't students | |
student_attrs = line.split(":") # Create array of attributes split on the colon | |
student = Student.new | |
# Populate student object | |
student.user_name = student_attrs[0] | |
student.shell = student_attrs[6][0..-2] # Trim off the new line character | |
student.uid = counter | |
student.home_directory = student_attrs[5] | |
student.gid = "#{student_attrs[1]}#{student_attrs[2]} #{student_attrs[3]} #{student_attrs[4]}" | |
students << student # Add student to set | |
counter += 1 # Increment UID | |
end | |
end | |
students.each do |student|# Here are all of your students | |
# Do stuff with student | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
root:x:0:0:root:/root:/bin/bash | |
daemon:x:1:1:daemon:/usr/sbin:/bin/sh | |
bin:x:2:2:bin:/bin:/bin/sh | |
sys:x:3:3:sys:/dev:/bin/sh | |
sync:x:4:65534:sync:/bin:/bin/sync | |
games:x:5:60:games:/usr/games:/bin/sh | |
man:x:6:12:man:/var/cache/man:/bin/sh | |
lp:x:7:7:lp:/var/spool/lpd:/bin/sh | |
mail:x:8:8:mail:/var/mail:/bin/sh | |
news:x:9:9:news:/var/spool/news:/bin/sh | |
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh | |
proxy:x:13:13:proxy:/bin:/bin/sh | |
www-data:x:33:33:www-data:/var/www:/bin/sh | |
backup:x:34:34:backup:/var/backups:/bin/sh | |
list:x:38:38:Mailing List Manager:/var/list:/bin/sh | |
irc:x:39:39:ircd:/var/run/ircd:/bin/sh | |
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh | |
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh | |
libuuid:x:100:101::/var/lib/libuuid:/bin/sh | |
bind:x:101:105::/var/cache/bind:/bin/false | |
fetchmail:x:102:65534::/var/lib/fetchmail:/bin/false | |
sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin | |
klog:x:104:107::/home/klog:/bin/false | |
syslog:x:105:108::/home/syslog:/bin/false | |
smmta:x:106:109:Mail Transfer Agent,,,:/var/lib/sendmail:/bin/false | |
smmsp:x:107:110:Mail Submission Program,,,:/var/lib/sendmail:/bin/false | |
mysql:x:108:112:MySQL Server,,,:/nonexistent:/bin/false | |
putnamd:x:1000:100:Doug Putnam:/home/putnamd:/bin/bash | |
msink:x:1001:27:Mike Sinkewitsch:/home/msink:/bin/sh | |
useradminaccount:x:1002:1000:useradminaccount:/home/useradminaccount:/bin/sh | |
isaacs:x:1003:27::/home/isaacs:/bin/bash | |
isaacssu:x:1004:27:Stan Isaacs:/home/isaacssu:/bin/bash | |
teststudent:x:1007:1005:Test Q. Student:/home/students/teststudent:/bin/bash | |
student1:x:1008:1005:Temporary account for new students:/home/students/student1:/bin/bash | |
aadhikar:x:1009:1005:Ashish Adhikari:/home/students/aadhikar:/bin/bash | |
salonzol:x:1010:1005:Steven D. Alonzo Lerma:/home/students/salonzol:/bin/bash | |
jande202:x:1011:1005:Jett J. Anderson:/home/students/jande202:/bin/bash | |
oramos3:x:1012:1005:Omar R. Barberini:/home/students/oramos3:/bin/bash | |
jacobbarker:x:1013:1005:Jacob P. Barker:/home/students/jacobbarker:/bin/bash | |
sbarre11:x:1014:1005:Steven J. Barretta:/home/students/sbarre11:/bin/bash | |
ebenson8:x:1015:1005:Eric P. Benson:/home/students/ebenson8:/bin/bash | |
mbhise:x:1016:1005:Mayuri Bhise:/home/students/mbhise:/bin/bash | |
romancendeja:x:1017:1005:Roman J. Cendejas:/home/students/romancendeja:/bin/bash | |
tracichatfie:x:1018:1005:Traci R. Chatfield:/home/students/tracichatfie:/bin/bash | |
dchin5:x:1019:1005:David M. Chin:/home/students/dchin5:/bin/bash | |
acochra5:x:1020:1005:Alan K. Cochran:/home/students/acochra5:/bin/bash | |
edossant:x:1021:1005:Eduardo K. Dos Santos:/home/students/edossant:/bin/bash | |
rahatdubey:x:1022:1005:Rahatdeep Dubey:/home/students/rahatdubey:/bin/bash | |
leichma1:x:1023:1005:Laura L. Eichman:/home/students/leichma1:/bin/bash | |
meldaouk:x:1024:1005:Mohamad W. El Daouk:/home/students/meldaouk:/bin/bash | |
rfelix5:x:1025:1005:Rosally M. Felix:/home/students/rfelix5:/bin/bash | |
rhahn7:x:1026:1005:Richard Hahn:/home/students/rhahn7:/bin/bash | |
shanha10:x:1027:1005:Salim Hanhan:/home/students/shanha10:/bin/bash | |
hhosgur:x:1028:1005:Hasan Hosgur:/home/students/hhosgur:/bin/bash | |
daryljackson:x:1029:1005:Daryl R. Jackson:/home/students/daryljackson:/bin/bash | |
sjewell1:x:1030:1005:Simeon F. Jewell:/home/students/sjewell1:/bin/bash | |
bjones91:x:1031:1005:Brandon L. Jones:/home/students/bjones91:/bin/bash | |
pkutula1:x:1032:1005:Panayiotis I. Kutulas:/home/students/pkutula1:/bin/bash | |
clang8:x:1033:1005:Candace M. Lang:/home/students/clang8:/bin/bash | |
bleaver1:x:1034:1005:Brett Leaver:/home/students/bleaver1:/bin/bash | |
yli118:x:1035:1005:Yi Li:/home/students/yli118:/bin/bash | |
jlopez4:x:1036:1005:Jaime A. Lopez:/home/students/jlopez4:/bin/bash | |
daniema:x:1037:1005:Daniel Ma:/home/students/daniema:/bin/bash | |
smart173:x:1038:1005:Sabrina E. Martinez:/home/students/smart173:/bin/bash | |
amenshov:x:1039:1005:Andrey Menshov:/home/students/amenshov:/bin/bash | |
mmiddlem:x:1040:1005:Melody A. Middlemist:/home/students/mmiddlem:/bin/bash | |
mnemkovi:x:1041:1005:Maxim Nemkovich:/home/students/mnemkovi:/bin/bash | |
nnguye80:x:1042:1005:Ngoc Thach M. Nguyen:/home/students/nnguye80:/bin/bash | |
yulianovak:x:1043:1005:Yulia V. Novak:/home/students/yulianovak:/bin/bash | |
hou1:x:1044:1005:Hang Wei Ou:/home/students/hou1:/bin/bash | |
krangelo:x:1045:1005:Kristina C. Rangelova:/home/students/krangelo:/bin/bash | |
mraya1:x:1046:1005:Miguel Raya:/home/students/mraya1:/bin/bash | |
thomasargent:x:1047:1005:Thomas Sargent:/home/students/thomasargent:/bin/bash | |
sscarpac:x:1048:1005:Stephen E. Scarpaci:/home/students/sscarpac:/bin/bash | |
rachesmith:x:1049:1005:Rachel A. Smith:/home/students/rachesmith:/bin/bash | |
astone17:x:1050:1005:Alexander L. Stone:/home/students/astone17:/bin/bash | |
jtosaky1:x:1051:1005:Joseph A. Tosaky:/home/students/jtosaky1:/bin/bash | |
ntran43:x:1052:1005:Ngoc Lan N. Tran:/home/students/ntran43:/bin/bash | |
bwood30:x:1053:1005:Brian Wood:/home/students/bwood30:/bin/bash | |
jyoo15:x:1054:1005:D. Yoo:/home/students/jyoo15:/bin/bash | |
okutulas:x:1055:1005:Olympia Kutulas:/home/students/okutulas:/bin/bash | |
gbell22:x:1056:1005:Garrett Bell:/home/students/gbell22:/bin/bash | |
bjone102:x:1057:1005:Bennie Jones:/home/students/bjone102:/bin/bash | |
cmanduca:x:1058:1005:Christopher Manduca:/home/students/cmanduca:/bin/bash | |
gmcdavit:x:1059:1005:Gina Mcdavitt:/home/students/gmcdavit:/bin/bash | |
bdarner:x:1060:1005:Bryon Darner:/home/students/bdarner:/bin/bash | |
kkarkov1:x:1061:1005:Kimberly Karkov:/home/students/kkarkov1:/bin/bash | |
marce6:x:1004:1005:Arce Michael:/home/students/marce6:/bin/bash | |
sbadami:x:1005:1005:Badami Srinivas S.:/home/students/sbadami:/bin/bash | |
kboyd15:x:1006:1005:Boyd Katherine M.:/home/students/kboyd15:/bin/bash | |
abrenn10:x:1062:1005:Brenner August R.:/home/students/abrenn10:/bin/bash | |
scasill4:x:1063:1005:Casillas Sandivel A.:/home/students/scasill4:/bin/bash | |
bclark26:x:1064:1005:Clark Benjamin P.:/home/students/bclark26:/bin/bash | |
afenech:x:1065:1005:Fenech Anthony S.:/home/students/afenech:/bin/bash | |
vgovindb:x:1066:1005:Govindbhai Vinesh L.:/home/students/vgovindb:/bin/bash | |
ngreene7:x:1067:1005:Greene Nevin R.:/home/students/ngreene7:/bin/bash | |
agrover4:x:1068:1005:Grover Aditya:/home/students/agrover4:/bin/bash | |
jhau5:x:1069:1005:Hau Jun Hin:/home/students/jhau5:/bin/bash | |
gilhan:x:1070:1005:Ilhan Goksun:/home/students/gilhan:/bin/bash | |
ykhaing:x:1071:1005:Khaing Yin M.:/home/students/ykhaing:/bin/bash | |
tlee185:x:1072:1005:Lee Thomas A.:/home/students/tlee185:/bin/bash | |
yichiliao:x:1073:1005:Liao Yi-Chia:/home/students/yichiliao:/bin/bash | |
wlove3:x:1074:1005:Love William R.:/home/students/wlove3:/bin/bash | |
gmadrona:x:1075:1005:Madrona Glen I.:/home/students/gmadrona:/bin/bash | |
jmaleki:x:1076:1005:Maleki Jessica P.:/home/students/jmaleki:/bin/bash | |
mmanwani:x:1077:1005:Manwani Meenakshi:/home/students/mmanwani:/bin/bash | |
marcomariano:x:1078:1005:Mariano Marcos B.:/home/students/marcomariano:/bin/bash | |
amayork1:x:1079:1005:Mayorkis Alexander:/home/students/amayork1:/bin/bash | |
smcmill5:x:1080:1005:Mcmills Sean M.:/home/students/smcmill5:/bin/bash | |
mnalam:x:1081:1005:Nalam Madhavi N.:/home/students/mnalam:/bin/bash | |
rrodr203:x:1082:1005:Rodriguez Ronaldo M.:/home/students/rrodr203:/bin/bash | |
hsanzeri:x:1083:1005:Sanzeri Hunter R.:/home/students/hsanzeri:/bin/bash | |
vshut:x:1084:1005:Shut Vladimir:/home/students/vshut:/bin/bash | |
ctaylo84:x:1085:1005:Taylor Christine E.:/home/students/ctaylo84:/bin/bash | |
mtrumbo2:x:1086:1005:Trumbo Mithu:/home/students/mtrumbo2:/bin/bash | |
jtseng3:x:1087:1005:Tseng Jeff C.:/home/students/jtseng3:/bin/bash | |
otsvirku:x:1088:1005:Tsvirkunova Olena:/home/students/otsvirku:/bin/bash | |
jwoodell:x:1089:1005:Woodell John T.:/home/students/jwoodell:/bin/bash | |
fyoung13:x:1090:1005:Young Francis L.:/home/students/fyoung13:/bin/bash | |
jswartz1:x:1091:1005:John Swartz:/home/students/jswartz1:/bin/bash | |
ktankeh:x:1092:1005:Keefe M. Tankeh:/home/students/ktankeh:/bin/bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Student | |
attr_accessor :user_name, :password, :uid, :gid, :gcos_field, :home_directory, :shell, :count | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment