Slashdot Mirror


Ask Slashdot: Ubuntu Lockdown Options?

First time accepted submitter clava writes "We have a desktop Java testing application that is going to be administering tests to students on lab computers running Ubuntu 10.x. These computers are used by the students for other purposes and we're not allowed to create special users or change the OS configuration. When the testing app is launched, we need to restrict users from exiting the app so they can't do things like search the internet for answers or use other applications. Is there a good way to put an Ubuntu machine in kiosk mode or something via our application and have exiting kiosk mode be password protected? Any ideas are appreciated."

14 of 387 comments (clear)

  1. Depends how locked-down by Anonymous Coward · · Score: 5, Informative

    I'm afraid if you want it actually locked-down, you're pretty screwed. You can't really disable things like switching to a tty with ctrl-alt-f1 without "changing the OS configuration."

    1. Re:Depends how locked-down by adamdoyle · · Score: 5, Insightful

      If you ask me, you don't really need to prevent users from doing those things. You just need to tell they're not allowed to, and then have your java app detect if those things have occurred and then take action from there. By "take action," I mean that you could either (a) make some kind of notation in the database so that you can penalize them, or (b) send an SMS message or email or something to the test administrator to alert them of the situation so that they can walk over and determine if the student is attempting to cheat.

    2. Re:Depends how locked-down by c++0xFF · · Score: 5, Informative

      Disabling TTY switching is a pretty simple change, though, and won't affect the general use of the system.

      In fact, you might as well use this to your advantage: start up a new X server instance, but don't start up the window manager. Run your java app in this server.

      Now all a student can do is take the test -- there's no way to do anything besides take the test unless they can switch using ctrl-alt-F*, which has been disabled.

      That's as near to a "kiosk mode" as I can figure.

  2. Boot from USB or CD-ROM? by hawguy · · Score: 5, Informative

    Create your own custom locked down kiosk boot image and require users to boot from that? Keep in mind that users might take the boot media home with them so they'll have a copy of the test app if you store it locally (as opposed to retrieving it from a website)

    Here's an example:

    http://jacob.steelsmith.org/content/ubuntu-kiosk-based-910

    (I'm not vouching for this particular implementation, I just found it through a quick google search).

    1. Re:Boot from USB or CD-ROM? by phoenix_rizzen · · Score: 5, Informative

      That's what we do. All our Linux stations boot off the network and use NFS mounts for everything. For government exams, teachers reboot the stations into "Exam Mode" which disables everything possible, launches a bare-bones X11 session with Firefox as the "WM", with all settings locked in, including an add-on that let's you specify a list of sites that are accessible, blocking access to everything else.

      Took a few iterations to get the configuration locked down completely, but there's really no better way to find the holes than watch a class of students try to break it. :)

      It's not bullet-proof, but we've made it hard enough that it's very obvious when a student is trying to break out of the box that anyone watching the lab will notice. :)

      If you can't change the OS config, you can't lock it down.

  3. LiveCD? by grahamsaa · · Score: 5, Informative

    Not sure how hard this would be to do, but it seems like it would be fairly easy to boot from a livecd/usb key. If you remove packages you don't want the end user to have access to (it's hard to browse the web for test answers if there's no browser installed) that should address at least some of your concerns. An added bonus is that if you need to repurpose the machine, or if it doesn't need to be in test mode all the time, a simple reboot could restore it to a vanilla version of the OS.

    --
    Facts have a liberal bias.
  4. Chortle! by MrBandersnatch · · Score: 5, Insightful

    Pull out the Ethernet connection. TADA!

  5. Just use Unity. by Anonymous Coward · · Score: 5, Funny

    Just use the default Unity desktop bundled with recent Ubuntu releases. It's so fucking unusable in every respect that malicious and benign users alike will want nothing to do with it. They'll use only the Java testing application solely to avoid having to deal with Unity.

    You'll never have to worry about them using Facebook, or adding additional users, or installing their own software. Even long-time Unity users have a whole fuck of a lot of trouble doing those things. Many just learn to accept that they never be able to.

    1. Re:Just use Unity. by PixetaledPikachu · · Score: 5, Funny

      Even long-time Unity users have a whole fuck of a lot of trouble doing those things. Many just learn to accept that they never be able to.

      There's no such thing as "long-time unity users"

    2. Re:Just use Unity. by Lumpy · · Score: 5, Funny

      yes there is, Anyone that has used unity for more than 1 hour and has not went on a murderous spree because the interface made them go completely insane.

      --
      Do not look at laser with remaining good eye.
  6. Re:Why? by pmgarvey · · Score: 5, Insightful

    Firstly the submitter didn't say if this was a programming exam, or what it was. It could be a test on memorising the capitals of African countries.

    But more importantly is that allowing access to the internet doesn't just allow things like documentation, and other resources I might have in the workplace, but might allow me to ask my friend to email the entire solution, or even send the question to a guy in India and get the solution back for a fee. It's a comprimise between testing some memorisation and in the cases of some students, testing nothing at all.

  7. Re:Homework by elsurexiste · · Score: 5, Insightful

    Hey, asshole. Ever occurred to you that, given clava's high UID, he/she isn't a geek and don't know enough of Linux/technology to do this? Look at how this question was redacted: it's obvious that he/she is not in control of the system, and is looking for some info here, where people with knowledge gather. Just answer the question if you can help and don't be pompous.

    --
    I rarely respond to comments. Also, don't ask for clarifications: a brain and Google are faster, believe me!
  8. Social Solution by RedLeg · · Score: 5, Interesting

    No Technology required:

    1. Announce anyone caught cheating WILL fail the course.

    2. Post exactly ONE proctor at the rear of the room. His job is to catch the FIRST cheat.

    3. The first cheat should be escorted from the room, and given the following choice: become the proctor and catch another cheat, or fail. If you catch a cheat, you may retake the test and the cheat becomes the proctor with the same choice.

    Lather, Rinse, Repeat.

    I recommend you film for future entertainment value.

    Red