iT邦幫忙

0

如何只允许用户运行指定的命令

我有一个用户 a,我只想让他可以运行 cat 和 exit 命令,我应该怎么做?

我尝试过改 visudo 但好像不行,不知道是不是我改错了。

操作系统 Redhat/CentOS 8

1 個回答

0
暐翰
iT邦大師 1 級 ‧ 2020-09-01 19:27:09

可以使用 Restricted shell
請參考
shell - How can I restrict the normal user to run only limited set of commands in RHEL? - Unix & Linux Stack Exchange

  1. 創建一個user給使用者
  2. 創建restricted shell
# cp /bin/bash /bin/rbash
  1. 用戶修改為restricted shell
# usermod -s /bin/rbash localuser
  1. /home/localuser/下創建一個目錄,例如
# mkdir /home/localuser/programs
  1. 添加命令權限
ln -s /bin/cat /home/localuser/programs/ 
ln -s /bin/exit /home/localuser/programs/

注意: 仍然允許使用全路徑名稱訪問所有命令,因此存在非常有缺陷的問題,只對一般使用者有效

我要發表回答

立即登入回答