限制某些用户仅可执行某些命令

1.创建存放可执行某些命令目录及配置PATH:

mkdir /allow_commands # 放在/root里不行,需要对此路径有读取权限
cp /usr/bin/cat /allow_commands
cp /usr/bin/ls /allow_commands
vim /home/bfmq/.bash_profile修改:
PATH=/allow_commands

不需要source
su - bfmq
之后直接复制可执行的新命令到/allow_commands下即可

此用户在现在状态下是可以直接使用/usr/bin/*所有命令的,即touch file报错,/usr/bin/touch file是可以的,but,机智的小北方早就看透了一切!

 2.setfacl -m u:bfmq:0 /usr/bin/*

setfacl -m u:bfmq:5 /usr/bin/bash

然后你就只能用/allow_commands的命令了

ps:

/allow_commands的命令必须是cp进去的,不用ln -s,cp的时候不要加-p,否则还是执行不了,原因很简单,不解释了

为什么/usr/bin/bash需要5权限,因为需要登录的bash,否则登录不了

原文地址:https://www.cnblogs.com/bfmq/p/6626554.html