Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Our team has a small Mac that we use to display an auto-refreshed web page, but it requires an authenticated user be logged into it.

So the question: how can we show the browser, but have the keyboard and mouse locked from any unauthorized access? Password unlock would be best, but forced log-out might be okay.

As a secondary question: if the current user were on vacation that day, how could another user log into the machine?

[Edit]

The machine will also be used for other things several per week: video conferencing, watching the occasional YouTube video, etc.

It's important that the keyboard and mouse can be used when the machine is "unlocked", and highly desirable that the unlocking can be done quickly (<30 seconds)

share|improve this question

6 Answers 6

Just remove keyboard and mouse altogether and manage the Mac remotely with VNC.

EDIT to remove USB support: You can remove USB support in Terminal with the following commands:

cd /System/Library/Extensions 

TO BE SAFE do this code first:

sudo cp -r IOUSBFamily.kext /Users/<youraccount>/Desktop

Then

sudo rm -r IOUSBFamily.kext

Reboot and USB support is gone. Be sure you have a good VNC or ssh connection first so you can put that .kext file back when you want to be able to use the USB ports again.

share|improve this answer
    
for added security make sure to disable the external USB ports –  Xantec Nov 23 '10 at 16:26
    
that wouldn't preclude them from plugging another into the machine. @Xantec if you can elaborate as an answer, I'd appreciate it (and if it works will accept it). –  NVRAM Nov 23 '10 at 16:57
    
@NVRAM see edit... –  CaseyIT Nov 23 '10 at 17:58
    
Wow. I love this answer! –  msanford Nov 23 '10 at 22:02
    
Thanks, but it sounds like this won't help me: I guess I hadn't stressed that we need to use the kbd somewhat frequently. Mucking with system files and rebooting sounds too slow, and too likely to make the machine unusable. –  NVRAM Nov 25 '10 at 0:10

You could always set up a new account that uses Mac OS X's parental controls to lock down everything. Don't give them access to any files outside their user folder, only let them run the browser, only let them access your particular webpage and have a launchd script set up to keep the browser alive (see TextEdit example here). People would still be able to use the mouse and keyboard, but they wouldn't be able to do much with them.

share|improve this answer

I'm a bit confused—it sounds like you want some extra software on top of the system to catch all keystrokes until someone authenticates. I'm not convinced this is possible or necessary.

I would still suggest removing USB support and/or physically locking down the USB ports and then remote controlling the computer with VNC as @CaseyIT suggested, but it sounds like you don't want to give up the ability to physically control the machine. What is it you gain from this, exactly? VNC on a LAN is perfectly fast enough for all the control uses you mentioned, AND you can control which accounts can access the machine.

The best alternative I can think of is similar to @Scott's, but rather than running a limited user account, you would instead run a browser like Opera in kiosk mode on a regular user account, and set it to activate on login. To allow normal use of the computer (assuming there's no authenticated exiting feature from the kiosk browser) (also, this is where it gets crazy) set up a locally hosted page on the machine (bookmark that page in the kiosk browser), that will run a server-side shell script that kills the kiosk browser itself upon authentication from a privileged user.

share|improve this answer

I am seeking the same type of solution, albeit my reasons for this are different. I use my Mac for video output to an attached video projector. Sometimes I use display number 1 for managing the output of display 2 (a projector), but other times I have things setup for automatic playback with either music videos or visualizers on both monitors.

This is for hosting parties, so when I'm not at the machine, I don't want other people messing around with what's playing. I can always just unplug the keyboard and mouse, but some creatures are smart enough to plug them back in, so some sort of lock-out option would be nice. Just using the screen saver lock-down option or parental controls won't work for this particular need since the video output (especially for display 2) needs to continue operating.

Like the original question, I believe that the answer is additional software (whether it exists or not) that monitors the keyboard and mouse for activity and maybe pops up a password dialog only then. Otherwise, people can see the regular output on the displays, but can not affect the machine without a password.

Although VNC is an option for certain solutions, for this one it would be a bit too much hassle considering how both of these systems are used if I understand the original poster correctly.

share|improve this answer

Lockey will allow both Mac keyboard and mouse/trackpad to be locked whilst screen remains active.

share|improve this answer

Had the same problem! Type this into your terminal:

sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/

And enter your password, press enter. This will disable the internal keyboard temporarily. To restore the keyboard just restart your Mac or type this into the terminal but be sure to copy in a linebreak:

sudo kextload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/

External keyboards will still work. It give me this error but it still works:

S~D~macbook-pro:~ SD$ sudo kextunload /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext/
(kernel) Can't unload kext com.apple.driver.AppleUSBTCKeyboard; classes have instances:
(kernel)     Kext com.apple.driver.AppleUSBTCKeyboard class AppleUSBTCKeyboard has 2 instances.
Failed to unload com.apple.driver.AppleUSBTCKeyboard - (libkern/kext) kext is in use or retained (cannot unload).

Enjoy - I have to use this all the time and just keep a text doc on my desktop with the commands.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.