Loadkeys 为普通用户提供权限被拒绝

sta*_*any 6 linux console keyboard-layout

我正在尝试执行 loadkeys 操作。对于普通用户,我收到权限被拒绝错误。

错误如下。

<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
Run Code Online (Sandbox Code Playgroud)

小智 7

您需要 root 权限才能使用loadkeys. 这是常见的设置setuid权限位loadkeys。设置此位将导致通过执行loadkeys文件产生的任何进程作为文件的所有者(通常是 root)运行。

为了增加安全性,您应该将loadkeys的权限更改为750,为其创建一个组,并将需要使用的任何用户添加loadkeys到该组中。

$ 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
Run Code Online (Sandbox Code Playgroud)