https://onitroad.com 更多教程
解决方法
可以使用文件系统访问控制列表(ACL)技术来防止不必要的访问。
注意: sudo 工具不适用于此目的。
特别是,从允许的 ALL 预设中“减去”一个可执行文件不会按预期工作。
下面的示例阻止用户 john 使用 mkdir 命令来创建目录。
- 找到要控制的命令的绝对路径:
# which mkdir /bin/mkdir
- 显示该程序的当前 ACL:
# getfacl /bin/mkdir # file: bin/mkdir # owner: root # group: root user::rwx group::r-x other::r-x
用户、组和其他条目对应于 chmod 命令管理的传统文件访问权限。
- 为用户 john 添加访问控制规则:
# /bin/setfacl -m u:john:--- /bin/mkdir
- 查看更新的访问控制:
# 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
- 测试设置:
# su - john $ mkdir -bash: /bin/mkdir: Permission denied
问题
如何防止给定用户能够运行特定命令。
在Linux中,如何禁止用户运行某个命令?
日期:2020-09-17 00:13:30 来源:oir作者:oir