https://onitroad.com 更多教程

解决方法

可以使用文件系统访问控制列表(ACL)技术来防止不必要的访问。

注意: sudo 工具不适用于此目的。
特别是,从允许的 ALL 预设中“减去”一个可执行文件不会按预期工作。

下面的示例阻止用户 john 使用 mkdir 命令来创建目录。

  1. 找到要控制的命令的绝对路径:
# which mkdir
/bin/mkdir
  1. 显示该程序的当前 ACL:
# getfacl /bin/mkdir
# file: bin/mkdir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

用户、组和其他条目对应于 chmod 命令管理的传统文件访问权限。

  1. 为用户 john 添加访问控制规则:
# /bin/setfacl -m u:john:--- /bin/mkdir
  1. 查看更新的访问控制:
# getfacl /bin/mkdir
getfacl: Removing leading '/' from absolute path names
# file: bin/mkdir
# owner: root
# group: root
user::rwx
user:john:--
group::r-x
mask::rwx
other::r-x
  1. 测试设置:
# su - john
$ mkdir
-bash: /bin/mkdir: Permission denied

问题

如何防止给定用户能够运行特定命令。
在Linux中,如何禁止用户运行某个命令?

如何在 Linux 中禁用特定用户的特定命令
日期:2020-09-17 00:13:30 来源:oir作者:oir