Michael Kalochristianakis


FT: the problem with facts
why facts don't change our minds
'father of internet' joins tech leaders in condemning repeal plan





code == knowledge
|programs| < |problems|

integrated management for printing infrastructures (2011)


frontdesk in production

new features

management app: usage overview pages for photocopiers
  • menus
  • forms
  • logic
management app: usage overview pages for printers
  • reading /etc/printing/printers.conf
  • presentation code
  • getting data by date -> implementation by Manos
  • getting all printers
    • last minute implementation
    • better approach:
  • getting log for all time %


photocopiers s/w: logging in database
  • mysql setup
  • application customization
  • testing: Knosssos, Phys, Chem (Manos)

management app: ldap login for personel
misc: registration (hw) in Knossos, Phys, Med

table of contents


general info

open source, general purose, platform independent, print management and accounting service, suitable for libraries, reading rooms or bodies with heavy print management needs.

features
  • print service, print management, reports
  • directory service, client authentication
  • print accounting and charging service
  • user credit management
  • compatible with standard vending machines
  • platform independent
  • easy installation via customized linux distribution
installations

the web pages of the service, at http://printing.lib.uoc.gr


the architecture of the system



the interface and the circuit of the kiosk application

reading room customization

system update and basic packages: apt-get update, apt-get install openssh-server language-pack-el-base

automatic shutdown: sudo crontab -e -> 51 16 * * * /sbin/shutdown -h now

hide list of users on login: sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type bool --set /apps/gdm/simple--greeter/disable_user_list true

create the directories for non-std users: mkdir /array1/vmail/domains/econ.soc.uoc.gr /array1/vmail/domains/pol.soc.uoc.gr /array1/vmail/domains/stud.soc.uoc.gr /array2/vmail/domains/psy.soc.uoc.gr /array2/vmail/domains/social.soc.uoc.gr /ccstaff /dev /directory/mail /grads /gradss /guests /home /home/alumni /home/dep /home/dep1 /home/fs1/studs /home/fs2/profs /home/grads /home/grads1 /home/grads2 /home/grads3 /home/grads4 /home/guest1/ugrads /home/guests /home/guest/users /home/profs /home//profs /home/st1/class01 /home/st1/class05 /home/st1/class88 /home/st1/class95 /home/st1/class98 /home/st2/class04 /home/st2/class08 /home/st2/class96 /home/st2/class99 /home/st3/class00 /home/st3/class03 /home/st3/class08 /home/st3/class09 /home/st3/class10 /home/st3/class93 /home/st3/class94 /home/st3/class97 /home/st3/guest /home/st4/class02 /home/st4/class07 /home/st5/class06 /home/staff /home/staff/courses /home/stud /iraf/iraf /localhome /profs /raid/users /staff /u1/class01 /u1/class03 /u1/class05 /u1/class07 /u1/class09 /u1/class81 /u1/class83 /u1/class85 /u1/class87 /u1/class89 /u1/class91 /u1/class93 /u1/class95 /u1/class97 /u1/class99 /u1/mst01 /u1/mst03 /u1/mst05 /u1/mst07 /u1/mst09 /u2/class00 /u2/class02 /u2/class04 /u2/class06 /u2/class08 /u2/class10 /u2/class80 /u2/class82 /u2/class84 /u2/class86 /u2/class88 /u2/class90 /u2/class92 /u2/class94 /u2/class96 /u2/class98 /u2/mst02 /u2/mst04 /u2/mst06 /u2/mst08 /u2/mst10 /u3/opers /u3/staff /u4/grads /u4/guest /u4/guest/oopers /u4/profs /u/admin /user1 /user2 /usr/local /usr/local/samba /var /web /web/ddays06 /web/grtr /web/statdyn

create the groups for users: group add -gid [groupnumber] [groupname]

valid group numbers: 0 1 10 100 1000 10000 101 102 103 110 11000 111 112 12 1234 14 2000 20002 20007 201 202 203 204 205 206 207 208 209 21124 212 22 227 24 25 30 300 3000 302 303 304 309 310 311 313 314 315 316 319 320 321 34 35 36 38 4 40 4000 41 50 500 5000 5001 501 502 503 504 505 506 507 508 510 530 541 542 543 550 551 552 553 554 580 595 596 597 60001 60002 650 65534 660 80 81 82 83 84 85 86 87 88 888 89 90 91 92 93 94 95 96 97 999

| awk '{print "iad" $1}'

invalid group numbers:
  • ou=People,ou=edc -> group number = users
  • ou=psychology, -> group number = "MTExIA==" -> group number = "MTAwMDAg"

autologout: disable screen saver, set power consumption options: 5min to shut screen down, 10min to shut the computer down, long period for inactive machine and use timeoutd

pam config

ipconfig

prnt config

list of machines: 01,02,03,04

PAM for WINDOWS

design









hardware simulation

the problem: formalize the constuction of the hw interfaces
simulators:
  • geda: pcb, gschem
  • LJ: ksimus
  • kicad, qucs, xcircuit, gnucap, oregano, ngspice/easyspice

ldap normalization

the problem: enforce uniform privileges for all printing users
guest users
  • design: all must use the privileges of a USER account (also solves the remroot problem%). The ldap attrs uidNumber, gidNumber that map to local auth attrs must be accordingly changed
  • implementation:
    • created a user 999:100 at all the guest machines
    • list of dn's for users from the ldap using ldapsearch
    • script that creates modfiles that can be used with the ldap mofdify command
      • #!/bin/bash
      • counter=0
      • cat guestUsers | while read line; do
      • let counter=counter+1
      • echo $line > ./generatedModfiles/mods$counter
      • echo changetype: modify >> ./generatedModfiles/mods$counter
      • echo replace: gidNumber >> ./generatedModfiles/mods$counter
      • echo gidNumber: 100 >> ./generatedModfiles/mods$counter
      • echo - >> ./generatedModfiles/mods$counter
      • echo replace: uidNumber >> ./generatedModfiles/mods$counter
      • echo uidNumber: 999 >> ./generatedModfiles/mods$counter
      • done
    • creation of script that executes the modifications: ls -1 | awk '{print "ldapmodify -h ds.uoc.gr -p 409 -D uid=admin,ou=admin,dn=thedomain -w ***** -f ./generatedModfiles/" $1}' > ../finalScript
    • execution of finalScript that is, modification at the ldap
    • properly modify the code of the frontdesk application
dpt users: list of all gids (ldapsearch, sort, unique) and script for the creation of them in every station

printing usage: 03/2012 moving to production, datacenter

Φυσικό
01/03/12
 
137 (11484)
01/02/12
 
1397 (11357)
01/01/12
 
1166 (10960)
01/12/11
 
1640 (9794)
01/11/11
 
1801 (8154)
04/10/11
 
616 (6353)
01/09/11
 
593 (5834)
01/07/11
 
1000 (5241)
01/06/11
 
1329 (4241)
01/05/11
 
974 (2812)
01/04/11
 
717 (1838)
18/03/11
 
1121
24/02/11
 
έναρξη λειτουργίας

Xημικό
01/03/12
 
634 (6869)
01/02/12
 
301 (6235)
01/01/12
 
1438 (5934)
01/12/11
 
1873 (4496)
01/11/11
 
929 (2623)
01/10/11
 
562 (1694)
01/09/11
 
340 (1132)
01/07/11
 
703 (792)
01/06/11
 
189
18/05/11
 
έναρξη λειτουργίας

Κνωσσός
01/03/12
 
348 (12011)
01/02/12
 
11 (11663)
01/01/12
 
238 (11652)
01/12/11
 
318 (11414)
01/11/11
 
90 (11186)
01/10/11
 
27 (11096)
01/09/11
 
58 (11069)
01/07/11
 
256 (11011)
01/06/11
 
1807 (10845/6)
01/05/11
 
1807 (10845/6)
01/04/11
 
1807 (10845/6)
01/03/11
 
1807 (10845/6)
01/02/11
 
1807 (10845/6)
01/01/11
 
έναρξη λειτουργίας

Ιατρική
01/03/12
 
141 (3246)
01/02/12
 
541 (3105)
01/01/12
 
434 (2564)
01/12/11
 
721 (2131)
01/11/11
 
375 (1410)
01/10/11
 
177 (835)
01/09/11
 
136 (658)
01/07/11
 
176 (522)
01/06/11
 
337 (346)
01/05/11
 
9
18/04/11
 
έναρξη λειτουργίας

misc additions

wake on lan

web based frontdesk application

ldap authentication for lib users
  • lib users in ldap have eduPersonOrgUnitDN: ou=library,dc=uoc,dc=gr:
    • akoumiaa, apostolg, vardavac, vitsaxam, generalp, diamantg, divanic, zounim, thymiate, karadakk, karaiske, kosmasg, koutouks, kovaioue, lagamtzg, lampakin, lenakik, mastorae, boulalas, mylonav, noukakim, papadakp, papadakk, petrakin, prokopae, reisia, spintham, tavernat, tzanakie, tzanodag, tzekakie, trantalc, troullim, tsagkarv, tsirimor, fasoulag, chrysouf, repoua, diamanti9, sadman1, politaka, koronaks, michalil
    • manolis, kalohr, ou=people also need to have this attribute
debugging
  • ldapsearch -h ds.uoc.gr -b dc=uoc,dc=gr -s sub -x eduPersonOrgUnitDN="ou=library,dc=uoc,dc=gr" uid
  • ldapsearch -d 1 -v -H ldaps://ds.uoc.gr:656
  • ssl authentication: works if tls_reqcert is never in ldap.conf and ldap/ldap.conf
    • ldapsearch -Z -x -V -H ldaps://ds.uoc.gr:656 -b dc=uoc,dc=gr -D "uid=kalohr,ou=people,dc=uoc,dc=gr" -W

April, 2004