在HP-UX下建立ftp账户登录时显示自己目录

 如何建立一个只归属于某个目录下的ftp账户?如ftptest通过ftp登陆到系统时,系统认为/home/ftptest就是他的根(/)。
  
  以下方法在hpux11下测试通过,如在hpux下实现此功能,需要安装wu_ftp这个软件,或者更新你的ftp。
  
  假设要在系统中建立一个ftptest(属于ftptest组),要想在它ftp的时候始终在/home/ftptest目录以及它的子目录下。下面是他的建立步骤。
  
  1。在/etc/passwd中建立相应的ftptest条目,注意他的主目录的写法:

               ftptest:Aci$xi:555:555:ftp user for chroot:/home/ftptest/./:/bin/ksh  (确信/etc/shells中有/bin/ksh,否则请加上,密码由你自己决定 )


  2。在/etc/passwd中建立相应的组ftptest

                  ftptest::555:ftptest


  3。建立/home/ftptest以及相应的目录(主要是~ftp/usr/bin和~/ftp/etc)

      #mkdir /home/ftptest
  #chown ftptest:ftptest /home/ftptest
  #su - ftptest
  $pwd //make sure it is under /home/ftptest
  $mkdir -p usr/bin
  $cp /sbin/ls usr/bin ; cp /bin/pwd usr/bin
  $mkdir etc
  $cp /etc/passwd etc ; cp /etc/group etc (为了安全,你需要修改passwd中的不必要的项,如root)

 

4。编辑/etc/inetd.conf 确信ftp的那一行是这样写的:


  ftp stream tcp nowait root /usr/lbin/ftpd ftp -l -a (一定要加上 -a 这 个参数)


5。重新初始化inetd : 执行: inetd -c


6。产生相应的ftpaccess/ftpgroups文件
  #cd /etc/ftpd
  #touch ftpgroups
  #vi ftpaccess //这个文件的内容大致如下:
  
  -=-=-=-=-= Cut Here =-=-=-=-=-
  class all real,guest,anonymous *
  
  # Define the line that limits the ftponly group to their own directories
  
  # in the ftp-root heirarchy.
  guestgroup ftptest //这里要和你的组ftptest一致。
  
  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 transfers anonymous,real inbound,outbound
  
  shutdown /etc/shutmsg
  
  passwd-check rfc822 warn
  
  -=-=-=-=-= Cut Here =-=-=-=-=-
  

 

HP-UX下FTP的相关配置  

  1. 匿名FTP

             这是最常见的服务:一台机器就是一个单独的FTP服务器。大多数的UNIX版本会自动完成这一设置:通常ftp的根目录为/home/ftp如果由于某些原因,在你的机器上并未设置匿名FTP服务,它的设置工作如下所示:

             以下叙说中的~ftp是在/etc/passwd文件中指定的匿名ftp用户的主目录。

              FTP守护进程,ftpd,会识别出匿名用户并对帐户进行适当地调整,访问的根目录会设置为~ftp。

             这意味着用户最多只能访问~ftp中的文件和目录。当然还可以进行更多的限制。由于文件系统的根已经修改,需要对几个目录和文件进行设置以满足最低的功能要求。

                     ~ftp的属主应为root而且只有root 才能写入。

                    ~ftp/bin的属主也应为root而且只有root 才能写入。它其中应该包含ls程序。

                    ~ftp/bin/ls的属主应为root,其访问权限应该为—x—x—x模式,如果不是这样,可以用chmod 111 ~ftp/bin/ls来修改。

                    ~ftp/lib应该包含libc.so.5。这些内容可以在/lib目录下找到。

            如果打算让列表将用户和组ID翻译成名字,则需要创建~/ftp/etc目录。它应当具有755访问权限,并且应包含将名字和ID相关联的passwd和group文件。

             加密的口令字段并未使用,应当置为空。唯一需要存在的字段是username,UID,和GID。

            上载和下载目录~ftp/pub应该具有755访问模式,并且属主应为ftp。

             这样才能允许其他人向目录中上载内容或从目录中读取内容。当然也可以按自己的期望修改所有权和访问权限

             ftp用户在/etc/passwd中的条目应为:

                        ftp: * : 14: 50 : FTP user : /home/ftp;

              FTP是由inetd控制的服务,因此在/etc/services中也要有一个对应项。一般都是设置好的,如果没有,可以手工加入下一项:

                        ftp  21/tcp

     2.系统中其它的用户的FTP访问

                 当其它用户帐号(不是anonymous或ftp)连接系统时,必须满足三个条件才能授予访问权限。

                               (1)用户名和口令必须有效。

                               (2)用户名必须不在/etc/ftpusers中。

                               (3)用户必须有一个有效的shell,也就是说,他的shell必须出现在/etc/shells列表中。

      3. 设置仅可以进行FTP连接的帐号

             设置用户帐号仅能进行FTP连接是可能的。这些帐号类似于匿名帐号并且能够与之共存。由于根目录已被重置,需要设置bin,lib和etc目录,设置的方法通在匿名帐号种设置它们是一样的。

                    要设置特定的帐号仅可进行FTP访问需要编辑/etc/ftpaccess文件。

                    以下就是一个例子,其中设置了两个用户,ftpbob和jane作为只能使用FTP功能的用户。

#

# /etc/ftpaccess

#

class all real,guest,anonymous *

class ftponly ftpbob,jane *

loginfails 5

readme README * login

readme README * cwd= *

message /welcome.msg login

message .message cwd= *

compress yes all

tar yes all

overwrite yes real

chmod no guest,anonymous

delete no guest,anonymous

rename no guest,anonymous

overwrite no guest,anonymous

guestgroup ftponly

class 行设置用户组和主机匹配模式以匹配远程主机。“*” 号匹配所有主机。

相应的/etc/passwd项为:

jane:9pthxXoQVw:518:518:jane’s FTP-only Acount:/a/ftp/jane:/bin/false

ftpbob:l8Leijpehfp:518:518:Bob’s FTP-only Acount:/a/ftp/ftpbob/./incoming:/bin/fales

这两个用户的shell都是有效的shell,并且还会拒绝shell访问。主目录将变成ftp会话的根目录。除此之外,ftpbob帐号会修改目录到/a/ftp/ftpbob/incoming。

可以注意到ftpaccess文件还设置了其他一些参数。

real是任何有效帐号的关键字,“anonymous”代表任何匿名用户,”guest“指guest级别的访问帐号。

compress和tar项告知ftpd何时允许动态的压缩和解压缩,存档和恢复(tar/untar)。

README和messages项设置文件搜索模式以便在连接和进入目录(README)时候自动显示信息。

在上面的例子中,低级访问帐号(anonymous和guest)不能删除文件、修改文件模式或重新命名文件。

Loginfails完成立所期望的工作、在指令次数的登陆尝试失败后放弃。


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值