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,否则登录不了