当前位置:  技术问答>linux和unix

Solaris下FTP问题(Unix高手请进,在线等待)。

    来源: 互联网  发布时间:2016-01-04

    本文导语:  我现在使用Solaris操作系统,现想开一个FTP,需要限制他用他的用户名与密码登录后仅能在指定的目录下工作,可以上传,删除他的目录下的内容。 该如何做,或者需要安装某软件才行吗?可以不安否? 该用户可否与/...

我现在使用Solaris操作系统,现想开一个FTP,需要限制他用他的用户名与密码登录后仅能在指定的目录下工作,可以上传,删除他的目录下的内容。
该如何做,或者需要安装某软件才行吗?可以不安否?

该用户可否与/etc/passwd下的用户相同呢?

|
First, the user name must be  in  the  password  data  base, 
    /etc/passwd,  and have a password that is not  NULL. A pass- 
    word must always be provided by the client before  any  file 
    operations  may  be performed. The PAM framework (see  SECU- 
    RITY below) is used to verify that the correct password  was 
    entered. 

    Second, if the user name appears in the file  /etc/ftpusers, 
    ftp   access  is  denied.  The  default  list  of  users  in 
    /etc/ftpusers includes all of the accounts in passwd(4). See 
    ftpusers(4). 
    
    Third, ftp access is denied if the user's  shell  is  not  a 
    shell listed in getusershell(3C). 

    Fourth, if the user name is "anonymous" or "ftp",  an  entry 
    for  the  user  name ftp must be present in the password and 
    shadow files.  The  user  is  then  allowed  to  log  in  by 
    specifying any password - by convention this is given as the 
    user's e-mail address (such as  user@host.Sun.COM).  Do  not 
    specify a valid shell in the password entry of the ftp user, 
    and do not give it a valid password (use NP in the encrypted 
    password field of the shadow file). 

my QQ:115926406,please talk about it with me online!

|
+++++++++++++++++++++++++++转贴++++++++++++++++++++++++++++++++++
ftp将用户限制在自己目录下的方法 
 
 
  
在此举两例,RedHat6.0和FreeBSD2.2.7 

--------------------------------------------------------------------- 

例一 系统是REDHAT6.0,使用wuftp 用户名为:testuser 另外前提是你已经建了anonymous ftp server,这通常装好系统就有了。 

1 创建一个组,用groupadd命令,一般可以就用ftp组,或者任何组名.  

-----相关命令: groupadd ftpuser  

-----相关文件: /etc/group  

-----相关帮助: man groupadd 

2 创建一个用户,如testuser,建立用户可用adduser命令.如果你已在先前建立了testuser这个用户,可以直接编辑/etc/passwd文件,把这个用户加入到 ftpuser这个组中.  

-----相关命令: adduser testuser -g ftpuser 

-----相关文件: /etc/passwd 

-----相关帮助: man adduser 

3 修改/etc/ftpaccess文件,加入guestgroup的定义:  

guestgroup ftpuser 

我是这样改的,加的是最后5行 

compress yes all 

tar yes all 

chmod no anonymous 

delete no anonymous 

overwrite no anonymous 

rename no anonymous  


chmod yes guest 

delete yes guest 

overwrite yes guest 

rename yes guest  


guestgroup ftpuser 

除了加 guestgroup ftpuser 这行,其他4行也要加上,否则用户登陆后,虽然 可以达到用户不能返回上级目录的目的,但是却只能上传,不能覆盖、删除文件! 

-----相关命令: vi /etc/ftpaccess 

-----相关文件: /etc/ftpaccess 

-----相关帮助: man ftpaccess,man chroot 

4 向这个用户的根目录下拷贝必要的文件,拷贝ftp server自带的目录,把 /home/ftp/下的bin,lib两个目录拷贝到这个用户的根目录下,因为一些命令(主要是ls)需要Lib支持,否则不能列目录和文件. 

-----相关命令: cp -rf /home/ftp/lib /home/testuser;cp -rf /home/ftp/bin /home/testuse r  

5 另外可别忘了关掉用户的telnet权,否则就白做了噢. 怎么不让用户telnet呢?很简单:  


在/etc/shells里加一行/dev/null ,然后可以直接编辑/etc/passwd文件, 把用户的shell设置为/dev/null就可以了.  

-----相关命令: vi /etc/passwd 

这一步可以在步骤2 创建一个用户时就先做好. 

-----相关命令: adduser testuser -g ftpuser -s /dev/null  

小经验:只要把/home/ftp下的bin和lib目录cp到/etc/skel目录里,以后新建用户都会自动把bin和lib目录CP到用户目录里,当然你也可以加上 public_html目录和cgi-bin目录. 有的资料说建用户的时候把设置的目录为如下格式:/ftp/./incoming ,我在REDHAT6.0中未做此设置,使用正常,其他版本我未试过. (详见man ftpaccuss) 是不是繁了点,也许你你使用其他FTP软件能更简单些,如proftpd  


-------------------------------------------------------------------- 

例二  


系统是FreeBSD2.2.7 用户名为:testuser 另外前提是你已经建了anonymous ftp server,这需要装系统时选择安装.  

1 创建一个组,用/stand/sysinstall命令,在Configure的User Management 里可以加用户或组,这次我们建一个ftpuser,如果用户testuser还没有建立, 同样你可以用/stand/sysinstall命令建立,并且把他放入ftpuser组. 

-----相关命令: /stand/sysinstall  


-----相关文件: /etc/group 

2 创建一个用户,如testuser,建立用户除/stand/sysinstall外,还有adduser 和pw命令.如果你已在先前建立了testuser这个用户, 则你需要用chsh命令来 把他把这个用户加入到ftpuser组,FreeBSD里直接编辑/etc/passwd文件是无效的. 

-----相关命令:/stand/sysinstall 

-----修改命令:chsh testuser 

-----相关文件:/etc/passwd, /etc/master.passwd 

-----相关帮助:man adduser, man pw 

3 编辑一个/etc/ftpchroot文件,通常系统里可能没有这个文件,需要你新建,内容就一句,如下: @ftpuser 然后保存下来,ftpuser就是你需要chroot的组,你也可以加进其他组.  

-----相关命令:vi /etc/ftpchroot  

4 向这个用户的根目录下拷贝必要的文件,拷贝ftp server自带的目录,把 /var/ftp/下的bin目录拷贝到这个用户的根目录下,否则不能列目录和文件.  


-----相关命令: cp -rf /var/ftp/bin /home/testuser 

5 关掉用户的telnet权, 用命令:chsh testuser ,把用户的shell设置为 /sbin/nologin就可以了. 也可以象Redhat6.0里一样,在etc/shells里加一行/dev/null,把用户的shell设置为/dev/null,这一步可以在步骤2创建一个用户时就先做好.  

小经验:把/var/ftp/bin目录cp到FreeBSD2.2.7的/usr/share/skel,以后就省事了.相关选项可在/etc/adduser.conf里修改.  

以上是我在使用中的一些小经验,我看到问这个问题的人很多,就写了这篇小 短文,希望能给大家一些帮助,如果有不对的地方,还请指正.  

|
你试一下就知道了,建一个用户,指定一个密码和用户主目录,然后在其他机子上ftp,只能对用户主目录进行操作,读写。

    
 
 

您可能感兴趣的文章:

  • 哪里有免费的solaris的下载:::再线等待加200分
  • solaris命令行下如何增加用户及设口令,在线等待
  • 关于SOLARIS机子上CP执行等待
  • 在线等待求教:sun solaris8 下如何安装g++。高分
  • Solaris上每个进程最大打开文件数的问题,急,在线等待
  • solaris改ip问题,在线等待
  • 救命呀!solaris上不了网,在线等待
  • 等待高手,百分求助:patchadd时出错(for solaris9)[在线等]
  • solaris9下怎么查看oracle服务是否启动,以及怎么启动,在线等待。
  • 请能告诉我solaris的x86版怎么安装啊!在线等待
  • 急!一个关于jspSmartUpload在Solaris(Unix)上载路径设置的问题!?在线等待!
  • 请教solaris高手一个solaris安装问题
  • 请问高手,在Solaris 8 gcc3.1编译的 *.o 和库文件 *.a ,可以提供在Solaris 7,9下使用吗?
  • 我装了Solaris后,98和2000都找不到了,启动时直接进入Solaris,该怎么办,请高手指点!
  • 专门为难solaris高手,之solaris10的修改最大TCP连接数问题
  • Solaris高手请进
  • solaris11安装后不能进人(高手请进)
  • 请教有关Solaris上NameService的问题,望高手赐教
  • 请问高手在solaris上开发c++程序用什么呀,还是vi么!
  • 那位高手知道solaris10 for x86 下,把tomcat添加到服务中去???
  • Solaris如何安装Qmail,请高手指教。
  • 高手指教:solaris硬盘分区问题
  • sun solaris中存在的telnet问题?急!急!急!急!请高手指点,高分相赠!
  • 一个solaris8不能正常关机的问题,高手请入内...
  • 高手请进:solaris下启动程序报错
  • 关于solaris系统halt命令,高手帮忙,十万火急
  • 请问各位高手,怎么样在windows上通过批处理脚步启动solaris上的编译器,实现自动编译?(solaris通过telnet登陆)?
  • 救命,linux或solaris高手请进!
  • 第一次装solaris遇到问题,请高手帮忙
  • 各位高手,请推荐几本学习Solaris的书籍
  • 高分相送:恳请高手请教一下:solaris下做什么最有前途和“钱”图呢?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • solaris 8上能用gcc for solaris7 或 solaris9的版本吗?
  • Solaris菜鸟!!!请问Solaris SPARC和Solaris x86这两个版本之间有什么具体的差异吗?
  • 请问Solaris现在最高的版本是多少?Solaris8.0价格如何?Solaris8.0和Red Hat Enterprise Linux AS 3.0有何区别?
  • solaris 10下的多线程和solaris 5.8下多线程编译有什么区别??
  • 听说在solaris上运行java飞快,solaris有多大,如果不大,我想下载,哪有下载?
  • 请问:SOLARIS(for intel)如何装d-link网卡。哪儿下Solaris电子文档。
  • Solaris for X86 和Solaris for Sparc主要区别在哪?
  • 请问Solaris的优势?Solaris下开发相关及系统管理相关资料是否有提供?谢谢
  • telnet 进去的时候我看写着SUN OS5.8,这个是不是Solaris?我找不到Solaris5.8的软件?
  • 没有光碟,怎样从solaris8升级到solaris9?
  • solaris 10能不能远程桌面连接Solaris 10(或 Linux) ,不要安装其他软件
  • solaris开发一窍不通,如何开发Solaris下的c程序?
  • 想用Virtual PC虚拟UNIX,求Solaris 10 ,Solaris 10 for x86版或已经设置好的虚拟文件?
  • 怎么修改IP(SOLARIS),怎么在WIN上用EXTRX!X连上SOLARIS
  • solaris 10 下怎么安装jdk-6u5-solaris-i586.sh? ftp上传大文件中断怎么解决?
  • solaris root 的shell搞错了,提示 no shell root 进不了!(solaris 8 for x86)
  • 请问:PC版本的solaris9与sun的solaris9的区别,并且哪里有PC版本SOLARIS9的下载?
  • 双系统windows和solaris,windows下有两个分区c盘和d盘,在solaris下可以挂在c盘,但找不到d盘
  • 我在Solaris8上安装了gcc3.3Solaris8,但是总是出错!错误如下:gcc: syntax error at line 1: `(' unexpected
  • 请问在solaris X86 的安装中,应该如何分区呢?其大小应该如何定呢?可否存在windows和solaris两种系统在一块硬盘上?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3