- 论坛徽章:
- 0
|
我改用受限制的shell来实现
受限制的shell
在受限模式下运行一个脚本或脚本片断, 将会禁用某些命令, 这些命令在正常模式下都可以运行. 这是一种安全策略, 目的是为了限制脚本用户的权限, 并且能够让运行脚本所导致的危害降低到最小.
使用cd命令更改工作目录.
更改环境变量$PATH, $SHELL, $BASH_ENV, 或$ENV的值.
读取或修改环境变量$SHELLOPTS的值.
输出重定向.
调用的命令路径中包括有一个或多个斜杠(/).
调用exec, 把当前的受限shell替换成另外一个进程.
能够在无意中破坏脚本的命令.
在脚本中企图脱离受限模式的操作
我在单独脚本中能够实现这种功能
#!/bin/sh
set -r
echo "Attempting directory change in restricted mode."
cd ..
echo "Still in `pwd`"
但是如果在passwd中更改admin用户的登陆shell为/bin/sh -r
提示错误:login: cannot run /bin/sh -r: No such file or directory
在admin的用户目录/home/admin下设置.profile文件的shell路径,
#!/bin/sh -r
export PATH=/home/admin:.
设置之后不能限制用户
请问受限的shell怎么设置了?谢谢! |
|