Linux – Loadkeys gives permission denied for normal user

consolekeyboard-layoutlinux

I am trying to perform loadkeys operation. For normal user, I am getting permission denied
error.

the error is as follows.

<tim@testps>~% loadkeys mykeys
Loading /usr/tim/mykeys
Keymap 0: Permission denied
Keymap 1: Permission denied
Keymap 2: Permission denied
KDSKBENT: Operation not permitted
loadkeys: could not deallocate keymap 3

Best Answer

You need root capabilities to use loadkeys. It is common to set the setuid permission bit on loadkeys. Setting this bit will cause any processes spawned by executing the loadkeys file to run as the owner of the file (usually root).

For added security, you should change loadkeys's permissions to 750, make a group for it, and add any users that need to use loadkeys to that group.

$ groupadd loadkeys             # you can use any group name 
$ chgrp loadkeys /bin/loadkeys
$ chmod 4750 /bin/loadkeys      # setuid, group- and user-only read and execution
$ gpasswd -a user loadkeys      # add user to the group
Related Question