假设有这样一种需求:某些普通用户允许通过telnet登陆上系统,默认情况下该用户的HOME目录是/home/username。如果我想让该用户只能在该目录下活动,也就是该用户不能通过cd命令切换的其他的目录,该如何实现?希望大家多提想法?
个人意见:一个用户可以cd到一个目录,是因为该用户对该目录有r权限,那么可以通过对目录权限的设置而达到对用户权限的限制。但是这种方法是否太繁琐?
大猫 回复于:2003-01-27 15:04:22
改default umask为027,在把/home,/的改为750
johnsons 回复于:2003-01-27 15:04:31
anybody knows?
哈哈,速速回答。。。。
大猫 回复于:2003-01-27 15:05:43
any problem?
johnsons 回复于:2003-01-27 15:08:34
umask改成027只能说控制该用户在创建新的目录的时候权限位为750,文件为640,但是现有的文件或者目录权限位不会受到影响,你说把/home,/的改为750,但是,其他的目录呢?比如/usr,/tmp,/datafs等等已经存在于系统中的文件系统。
老农a 回复于:2003-01-27 15:10:17
有x权限就可以cd的:)
大猫的做法应该可行,因为cd上不去了,但要注意group的权限问题,把该用户另设一个group。
johnsons 回复于:2003-01-27 15:17:21
我有一个问题想问一下,如果我在/home目录下做cd /usr,那么是不是系统是先执行cd(切换到/),然后再执行cd /usr?
老农a 回复于:2003-01-27 15:21:33
如果他知道目录名的话,应该还是可以的:(
不过我们可以把这些目录都设成750嘛, chmod -R 750。
johnsons 回复于:2003-01-27 15:54:20
刚才测试了一下,chmod 750 /(还不敢加-R参数),用test登陆就发现错误,说是fail to running loging shell。这样做估计不行,改回来以后,我chmod 750 /home,用test登陆可以,但是pwd和ls等执行就不行了。加上chmod 757 /home/test(为test用户)后,可以做ls和执行脚本,但是还是无法pwd。但是可以cd /或者cd /usr之类的。大猫兄的方法有没有实际测试过?
johnsons 回复于:2003-01-27 15:58:02
老农兄有何看法?
larryh 回复于:2003-01-27 15:58:49
把他的SHELL改为/bin/ksh -r
johnsons 回复于:2003-01-27 16:26:53
larryh,我刚才修改了test用户的.profile,加了一行/usr/bin/ksh -r,然后用test登陆就发现该用户无法切换目录了,但是我发现了一个新的问题,如果我敲入exit,然后就发现可以执行cd /之类的,如何解决?
johnsons 回复于:2003-01-27 16:36:41
刚才修改了/usr/lib/security/mkuser.default中的shell默认值,还是会出现可以通过exit跳出限制的问题。
johnsons 回复于:2003-01-27 17:01:50
已经彻底解决,我发现可以通过修改/etc/passwd文件中对应用户的SHELL,就不会出现上面的问题了,完全解决!!!
老农a 回复于:2003-01-27 17:14:24
谢谢,帮大家验证了一些问题:)
larryh 就是厉害:)
larryh 回复于:2003-01-27 18:58:50
呵呵,刚巧,以前有人提出过这样的要求。当时想到只有在shell里加限制能解决问题,但是TCB实在限制太多,太麻烦,就看看各个shell有没有这样的功能,看到ksh -r参数,搞定。
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 问题 方面 安全 一个 回复 用户 目录 shell 可以 johnsons |
注册
个人空间
