免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4269 | 回复: 9
打印 上一主题 下一主题

如何限定用户在自身目录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-02 10:59 |只看该作者 |倒序浏览
新建一个普通用户user之后,想把他限定在/home/user目录下,user用户不能进入上级目录,不能执行系统的任何命令,只能执行/home/user目录下的几个命令,怎么实现了?
我通过设定PATH变量来限制
.profile
#!/bin/sh
export PATH=/home/user:.
这样user用户不能执行系统命令,比如ls
但是可以通过/bin/ls来执行,有什么办法来实现完全限制了?
难道要把系统命令的其它用户的执行权限都去掉?
谢谢!

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
2 [报告]
发表于 2008-09-02 11:01 |只看该作者
chroot,我记得我在我的blog上写过一篇文章,你去找找

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2008-09-02 11:12 |只看该作者
restricted shell

论坛徽章:
0
4 [报告]
发表于 2008-09-02 11:41 |只看该作者
关注一下,也想试试

论坛徽章:
0
5 [报告]
发表于 2008-09-02 14:21 |只看该作者
原帖由 cuci 于 2008-9-2 11:01 发表
chroot,我记得我在我的blog上写过一篇文章,你去找找

我按照你的blog:http://blog.chinaunix.net/u/4515/showart_1094401.html里面的方法进行操作的时候,遇到了下面的问题:
#mkdir -p /home/user/bin
#cd /home/user/bin
#ln -s /bin/sh .
# vi cr.sh
# ./cr.sh /home/user/
BINFMT_FLAT: bad magic/rev (0x202d6620, need 0x4)
BINFMT_FLAT: bad magic/rev (0x202d6620, need 0x4)
cr.sh: applet not found
这是什么原因了?我的系统里面没有chroot命令,是不是不支持啊。

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
6 [报告]
发表于 2008-09-02 14:28 |只看该作者
coreutils-5.2.1-31
这个包没装

论坛徽章:
0
7 [报告]
发表于 2008-09-03 09:53 |只看该作者
原帖由 cuci 于 2008-9-2 14:28 发表
coreutils-5.2.1-31
这个包没装

cuci 谢谢你的回复,但是这样设置的话,系统启动之后就直接转到/home/user目录下,这不是我想要的功能。我是想系统启动还是以root身份启动,user用户通过telnet进入自身的目录,只能在自身的目录进行操作。这时怎么用chroot命令来实现了?谢谢!

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
8 [报告]
发表于 2008-09-03 13:36 |只看该作者
尝试用ftp之类的共享协议,可以么?

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
9 [报告]
发表于 2008-09-03 13:52 |只看该作者
尝试用sudo呢
看怎么样

论坛徽章:
0
10 [报告]
发表于 2008-09-05 10:35 |只看该作者

我改用受限制的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怎么设置了?谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP