- 论坛徽章:
- 0
|
原帖由 platinum 于 2006-2-16 11:44 发表
如果做嵌入式的话,恐怕是要自己编程写 shell 程序的吧
应该不用了,正在看profile 的配置,希望有帮助;
另外,楼上的chinaux 那篇贴子,非常值得参考!
唯一担心的就是:
Some commands require library files under /usr/lib, so when such a command is copied, its libary file needs to be copied to the directory /home/xxx/lib as well.
想请问一下chinaux,如果程序被限制进来后,有什么办法不影响程序本身对原有根文件系统的库、文件等资源的访问呢?
比如,我配置了网卡,需要一个程序去修改/etc/sysconfig/network-scripts/XXX等诸如此类的……
我也是参考了下边这段话:
——————————————————————————————————————————————————
4.受限shell
bash本身也有一定的限制功能,就是通过其(受限shell)restricted shell功能,所做的限制包括:
阻止用户改变目录和环境变量;
重定向输出;
使用绝对路径运行命令;
使用exec命令和其它一些操作。
如果bash是以rbash为名启动,或者使用-r选项运行,它就称为受限shell。受限shell能够使系统环境更好控制。如果启动受限shell,以下操作将被禁止:
使用cd命令切换目录;
设置或者取消SHELL、PATH、ENV或者BASH_ENV环境变量;
以绝对路径运行命令; 使用绝对路径指定的文件名作为内置命令.的参数;
使用绝对路径指定的文件名作为内置命令hash的参数;
在启动时,从shell环境导入函数的定义;
在启动时,解析SHELLOPTS的值; 使用>、>|、<>、>&、&>和>>等重定向操作重定向输出;
使用exec命令使其它的命令代替当前shell;
使用-f和-d选项打开/关闭内置命令;
对内置命令使用-p选项;
关闭受限模式。
下面我们实际试验一下:
#aduser nixe0n
#passwd nixe0n
#ln -s /bin/bash /bin/rbash
#echo "/bin/rbash">>/etc/shells
#chsh -s /bin/rbash nixe0n
#cd ~nixe0n
#su nixe0n
$
然后,执行: $cd / 就会出现以下错误: rbash: cd: restricted
[ 本帖最后由 独孤九贱 于 2006-2-16 12:30 编辑 ] |
|