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

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

看到有网友讲SCO的ftp采用的是wu-ftp一种由于以前在小型机上曾用过wu-ftp限制过用户登录目录,所以就尝试了一下SCO下的做法,现总结一下,提供给大家参考:

1、修改/etc/passwd,把需要限制的用户的根目录后加上/./

例如:原来的目录为/usr/test, 那么改成/usr/test/./

看起来改后的/etc/passwd该用户的内容像这样子:

test:x:215:50::/usr/test/./:/bin/sh

2、建立并修改相关文件

登录进入root帐户

# 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的组都删了

# exit 退回到root用户

# cd /etc

# vi inetd.conf

找到ftp那行,首先确认行首没有被#号注释掉,然后在末尾加上-a

看起来修改后的inetd.conf中ftp那行内容像这个样子:

ftp stream tcp nowait root /etc/ftpd ftpd -a

存盘退出激活inetd.conf参数:

# ps -e | grep inetd 记下inetd的进程号

# kill -HUP inetd进程号

# vi ftpaccess

找有无guestgroup的行,

有则先确认行首无#号后把test用户的组名(你的用户所属的组名)加上,用空格分隔名字

无则加上一行,看起来像这个样子:

guestgroup group(你用户的组名)

x!强制存盘退出(该文件默认方式是只读)

建议给此类ftp的用户单独建立一个组,以便日后的安全设置

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

对于不想用户取走的文件或不想用户访问的目录,chmod -r把读权限去掉

4、如果想让test用户只能ftp不能telnet,

那么现在可以开始做相应的修改了:

首先/etc/shells里加入一行/bin/false后:

/etc/shells文件内容实例:

#

/bin/csh

/bin/sh

/bin/ksh

/usr/bin/scosh

/bin/false #加入是为了让/bin/false成为系统认可的shell, 无则ftp会提示错误

然后再把/etc/passwd该用户的shell改为/bin/false即可

看起来修改后的/etc/passwd该用户的内容像这个样子:

test:x:215:50::/usr/test/./:/bin/false

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航