CSE User Management

UNIX access

  • Database: cs on pghost
    • Core tables:
      • users:
        • base
        • info
        • dirty_login
      • groups:
        • groups
        • members
        • dirty_group
      • acl: 
        • cluster_series, cluster_cluster, cluster_host 
        • pgroup_cluster, pgroup_host
        • group_cluster, group_host
        • login_cluster, login_host
        • nologin_cluster, nologinhost
        • dirty_cluster, dirty_host
    • Other tables:
      • users:
        • course*: Updated automatically from information from Minhal Talmidim
        • chug*: Updated automatically from information from Minhal Talmidim
        • addchug*: Additions to chug*, updated manually
        • note: Used for students not registered through Minhal Talmidim, guest teachers not in Shnaton, non-academic guests , etc.
        • expiration: Expiration dates of various services
        • allocate: Various privileges due to accounts that can be opened and that were owned by accounts that have been closed
        • allusers_dirty: Awaiting update
        • allusers_dirty_log: Log of allusers_dirty
        • guests: Users without ID
        • how2reg:
      • groups:
        • members_noautodelete: Members of course groups (*-ta, *-admYY, *-usr$YY) not based on Moodle enrolments
        • groups_log
        • members_log
      • log.log:  Automatically generated log (using SQL rules) of all changes to core users.* and groups.* tables
    • Views: 
      • users:
        • allusers_clean: Per user, cross-table view, including users.guests
        • allusers: Union of allusers_dirty and allusers_clean
        • hotp: Mobile number updated automatically from  Maarachot Meida. Can be changed manually
        • chugs*: As chug*
        • courses*: As course*
        • icore: Group leaders and expirations of Icore and Astro users
      Note: dirty_* tables and log_*  tables are updated automatically (using SQL rules) on changes to core tables


  • Core tables are used by:
    • Hesiod: FreeBSD and Linux access control. Maps are updated automatically, based on changes to dirty_* tables, using DNS dynamic updates
    • LDAP: MacOS access control

  • Core tables are updated by:
    • viyp: UNIX editor-based interface to core tables. Tables are shown as flat files, similar to Yellow pages files
    • mazkira-be.pl : Backend used by  mazkira  and some commands (closeAccount, reopenAccount..)
    • register-be.pl: Backend used by register
    • register: Command-line register
    • group command: Command-line creation and maintenance of UNIX groups for all users
    • updateCourseGroups: Cronjob for maintaining  members of course groups (*-ta, *-admYY, *-usr$YY) based on Moodle enrolments
    • updateUsers: Cronjob for maintaining all users accounts. Uses data from Maarachot Meida and Minhal Talmimim retrieved by Moodle maintenance scripts
    • chGrp:  Command-line moving of accounts between principal groups
    • createAccount: Command-line creation of accounts

  • Other tables are used by:
    • mazkira
    • Tools for automatically generating mailing lists
    • Moodle
    • Disk quota management,
    • ELock
    • CourseAdmin and other rails-based apps
    • IdNG

  • Locations:
    • ~register/bin: Commands
    • /cs/share/dns: DNS, including Hesiod
    • /cs/www/moodles/prod/mazkira: mazkira
    • ~register/nuji: Moodle management
    • /cs/listar/scripts: Mailing list management
    • /cs/ww/rails/cs: Rails