免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3675 | 回复: 0

限制FTP工作目录,禁止使用TELNET LOGIN操作系统 [复制链接]

论坛徽章:
0
发表于 2009-12-22 09:16 |显示全部楼层

限制FTP工作目录,禁止使用TELNET LOGIN操作系统

需求:
1. 要求创建一个用户,可以ftp至hpux主机,但不能login系统.
2. 此用户登录ftp后只能被限制在某一指定的目录中(例如用户的home目录).

配置方法如下:

1.创建ftp_user组.

2.创建ftp_user用户.

3.编辑/etc/passwd文件,将ftp_user用户这一行改成如下格式:
ftp_user:*:200:200::/home/ftp_user/./:/bin/false
(注:此处home路径./可省略;shell也可写成/usr/bin/ksh,但与此同时要在ftp_user用户的.profile文件首行加上 exit 即可禁止登陆。)

4.编辑/etc/group文件,将ftp_user组这一行改成如下格式:
ftp_user::200:ftp_user

5.编辑/etc/inetd.conf文件,将ftp stream tcp nowait root /usr/lbin/ftpd ftpd -l改成:
ftp stream tcp nowait root /usr/lbin/ftpd ftpd -l -a

6.到/home/ftp_user目录中创建相关目录并复制所需文件:
# cd /home/ftp_user
# mkdir -p usr/bin
# mkdir -p etc
# cp /etc/passwd etc/ (把passwd中除ftp_user的用户条目删掉)
# cp /etc/group etc/  (把group中除ftp_user的条目删掉)
# cp /usr/bin/ls usr/bin/
# cp /usr/bin/pwd usr/bin/

7.到/etc/ftpd目录
# cd /etc/ftpd
# cp /usr/newconfig/etc/ftpd/examples/ftpgroups ./
# cp /usr/newconfig/etc/ftpd/examples/ftpaccess ./

8.编辑/etc/ftpd/ftpgroups,/etc/ftpd/ftpaccess文件,文件内容可以使用以下模板:
# vi /etc/ftpd/ftpgroups
ftp_user:ENCRYPTED PASSWORD HERE:archive
# vi /etc/ftpd/ftpaccess
class   all   real,guest,anonymous  *
limit   all   10   Any              /etc/msgs/msg.dead
guestgroup cdalog
loginfails 5
readme  README*    login
readme  README*    cwd=*
message /welcome.msg            login
message .message                cwd=*
compress        yes             all
tar             yes             all
chmod no guest,anonymous
delete no guest,anonymous
overwrite no guest,anonymous
rename no guest,anonymous
log commands real
log transfers anonymous,real inbound,outbound
shutdown /etc/shutmsg

ftpaccess模版:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# @(#)B.11.11_LR
#
# 登陆失败次数
loginfails 2
# 定义一个名叫all的类,包含所有实际的,guest,anonymous用戶,可以从任何地点登录
class all real,guest,anonymous *
# 注:(class local real 111.111.111.*  
# 定义一个名叫local的类,包含所有的本系统实际帐号(real),而且这个类只能从
# 111.111.111.1-111.111.111.254登录)
# 最大允许本地任何的20个用户ftp登录Server
limit local 20 Any /etc/msgs/msg.toomany
limit remote 100 SaSu|Any1800-0600 /etc/msgs/msg.toomany
limit remote 60 Any /etc/msgs/msg.toomany
readme README* login
readme README* cwd=*
# message是当ftp用戶产生某个动作操作时,自動记载到 /home/ftp_user/.login文件中
message /.login login
message /welcome.msg login
message .message cwd=*
# 允许压缩-解压模式,使用戶可以通过服务器得到解压文件
compress yes local remote
tar yes local remote
# allow use of private file for SITE GROUP and SITE GPASS?
private yes
# 对匿名用户的口令进行校验,rfc822表示口令必须是一个标准的email帐号,还有另外两个选项是none(表示不检查)和trival(口令中至少有一个@符号);warn表示发现口令不合法时对用户产生告警信息,但仍然允许登陆,可以使用enforce选项表示一旦口令形式不合法就禁止登陆。
# passwd-check []
passwd-check rfc822 warn
# 记录用户传输的文件,被记录的用户是匿名和实际帐号,记录的方向包括上传和下载
log commands real
log transfers anonymous,real inbound,outbound
# 一般没什么用,但放着也没关系
shutdown /etc/shutmsg
# 定义用戶是否可以使用chmod,overwrite,rename,delete等方法改变服務器上的文件,上面的定义是只有真正
的用戶帐号才可以使用上述方式,而guest和anonymous用户沒有(no)这个权力。
# all the following default to "yes" for everybody
delete no guest,anonymous                               # delete permission?
overwrite no guest,anonymous                            # overwrite permission?
rename no guest,anonymous                               # rename permission?
chmod no guest,anonymous                                # chmod permission?
umask no guest,anonymous                                # umask permission?
# 定义上载方式,/home/ftp_user目录下的所有/incoming*目录都可以(yes)上传,上载文件属组为ftp_user用戶,ftp_user用户组,上载文件的属性自动设置为0600,用户可以建立自己的子目录(dirs,否则为nodirs)
# specify the upload directory information
upload /home/ftp_user /incoming* yes ftp ftp 0600 dirs  
upload /var/ftp * no
upload /var/ftp /incoming yes root daemon 0600 dirs
upload /var/ftp /bin no
upload /var/ftp /etc no
# directory aliases
alias inc /incoming
# cdpath
cdpath /incoming
cdpath /pub
cdpath /
# path-filter...
path-filter anonymous /etc/pathmsg ^[-A-Za-z0-9_\.]*$ ^\. ^-
path-filter guest /etc/pathmsg ^[-A-Za-z0-9_\.]*$ ^\. ^-
# specify which group of users will be treated as "guests".
guestgroup ftp_user
# 另外,/etc/ftpusers定义了不允许ftp的用户列表
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

9.编辑/etc/shells文件,文件内容如下:
/bin/false
/sbin/sh
/usr/bin/ksh

10.重启inetd进程:
# cd /sbin/init.d
# ./inetd -c

配置完毕,测试功能.

参考资料:
http://bbs.chinaunix.net/archiver/tid-1193906.html

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/86716/showart_2127576.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP