限制SCO非匿名ftp用户在自己目录中的办法

发表于:2007-05-26来源:作者:点击数: 标签:
看到有网友讲SCO的ftp采用的是wu-ftp一种, 由于以前在小型机上曾用过wu-ftp限制过用户登录目录, 所以就尝试了一下SCO下的做法,现总结一下,提供给大家参考: 1、修改/etc/passwd,把需要限制的用户的根目录后加上/./ 例如:原来的目录为/usr/test,那么改

看到有网友讲SCO的ftp采用的是wu-ftp一种,
由于以前在小型机上曾用过wu-ftp限制过用户登录目录,
所以就尝试了一下SCO下的做法,现总结一下,提供给大家参考:
1、修改/etc/passwd,把需要限制的用户的根目录后加上/./
例如:原来的目录为/usr/test, 那么改成/usr/test/./
看起来改后的/etc/passwd该用户的内容像这样子:
[code:1:747fd91a4e]
test:x:215:50::/usr/test/./:/bin/sh
[/code:1:747fd91a4e]

2、建立并修改相关文件
登录进入root帐户
[code:1:747fd91a4e]
# su - test(你的用户名)
$ mkdir bin
$ cp /bin/ls bin
$ mkdir lib
$ cp /lib/libprot.so.1 lib
$ mkdir -p usr/lib
$ cp /usr/lib/libc.so.1 usr/lib
$ cp /usr/lib/libsocket.so.1 usr/lib
$ mkdir etc
$ cp /etc/passwd etc
$ cp /etc/group etc
$ cd etc
$ vi passwd 把不用ftp的用户都删了
$ vi group 把不用ftp的组都删了
[/code:1:747fd91a4e]
# exit 退回到root用户
# cd /etc
# vi .netd.conf
找到ftp那行,首先确认行首没有被#号注释掉,然后在末尾加上-a
看起来修改后的inetd.conf中ftp那行内容像这个样子:
[code:1:747fd91a4e]
ftp stream  tcp nowait  root    /etc/ftpd   ftpd -a
[/code:1:747fd91a4e]
存盘退出激活inetd.conf参数:
[code:1:747fd91a4e]
# ps  -e | grep inetd 记下inetd的进程号
# kill  -HUP  inetd进程号
[/code:1:747fd91a4e]
# vi ftpaclearcase/" target="_blank" >ccess
找有无guestgroup的行,
有则先确认行首无#号后把test用户的组名(你的用户所属的组名)加上,用空格分隔名字
无则加上一行,看起来像这个样子:
[code:1:747fd91a4e]
guestgroup group(你用户的组名)
[/code:1:747fd91a4e]
x!强制存盘退出(该文件默认方式是只读)
建议给此类ftp的用户单独建立一个组,以便日后的安全设置

3、对于不想用户修改内容的目录或文件,把写权限用chmod -w 去掉即可
对于不想用户取走的文件或不想用户访问的目录,chmod -r把读权限去掉

4、如果想让test用户只能ftp不能telnet,
那么现在可以开始做相应的修改了:
首先/etc/shells里加入一行/bin/false后:
[code:1:747fd91a4e]
/etc/shells文件内容实例:
#
/bin/csh
/bin/sh
/bin/ksh
/usr/bin/scosh
/bin/false #加入是为了让/bin/false成为系统认可的shell, 无则ftp会提示错误
[/code:1:747fd91a4e]
然后再把/etc/passwd该用户的shell改为/bin/false即可
看起来修改后的/etc/passwd该用户的内容像这个样子:
[code:1:747fd91a4e]
test:x:215:50::/usr/test/./:/bin/false
[/code:1:747fd91a4e]

到这里就可以进行测试了。

 xxhe 回复于:2004-10-06 20:00:02
试一下。

 lw371 回复于:2004-10-07 18:26:25
好东西!在网上搜了半天也没找到SCO下怎么做,不错!

 UnKnow365 回复于:2004-10-07 20:27:30
收藏!并致谢!

 htldm 回复于:2004-10-08 07:40:52
确实好东西。帮顶!

 meteor06 回复于:2004-10-08 13:17:50
试了一下,果然好用,非常感谢  :em02: 

[code:1:9cbf081757]
修改/etc/passwd,把需要限制的用户的根目录后加上/./ 
例如:原来的目录为/usr/test, 那么改成/usr/test/./ 
看起来改后的/etc/passwd该用户的内容像这样子:
..... 
[/code:1:9cbf081757]
我测试的时候,这一部分做与不做,限制都一样,不知道其他人测试结果如何?

 CNL 回复于:2004-10-08 14:18:06
不加也可,/./后还可加上ftp默认登录的子目录名,如果没有设置,在SCO里都可去掉

 meteor06 回复于:2004-10-08 15:28:55
[quote:8117e3f7f8="CNL"]不加也可,/./后还可加上ftp默认登录的子目录名,如果没有设置,在SCO里都可去掉[/quote:8117e3f7f8]
果然,再次感谢  :P

 j26lwq 回复于:2004-10-08 16:49:04
还好

原文转自:http://www.ltesting.net