unix操作系统,如何在unix作系统上搭建ftp server

时间:2021-06-28 17:28 作者:IIS7 admin

    首先需要确定机器上是否已经安装了FTP
    bash-3.00#svcs|grepftp
    online        Nov_29  svc:/network/ftp:default
    如果没有返回则说明没有安装ftp。
    安装ftp
    solaris自带的FTP是ftpd(ftpdaemon),但默认不会安装。我用来安装ftpd的安装包是CMP_RSC_ftp_Sol_1-0-0_install_1.spb
    也可以使用其他的FTP工具例如vsftpd(verysecureftpdaemon),但是一般ftpd就够了。
    注意只能在globalzone安装ftpd。在子zone上安装时会报错。一旦在globalzone安装完毕,每一个子zone就都可以使用ftpserver了。但是需要分别startup服务。
    安装后启动ftpserver
    1.Loginasroot
    2.Createanewuser"ftp"in/etc/passwdfileasfollows:
    ftp:x:123:1:AnonymousFTP:/export/home/ftp:/bin/true
    这一步实际是创建一个系统级的用户ftp。在/etc/passwd中直接添加用户,和直接使用useradd命令加用户是一样的。
    对于上面这行数据的意思,请自行搜索/etc/passwd的说明。
    在这里我们并没有给改账户设置密码。
    3.Thenweneedtosyncthisfilewith/etc/shadowwith:
    pwconv
    直接运行上面的命令就好。
    4.Createadirectoryforthisftpaccountlikethis:
    mkdir/export/home/ftp
    Changetheownershiponthisdirectoryto:
    chown-Rroot:other/export/home/ftp
    这步其实是给ftp用户创建一个home目录。
    5.Setpermissionsonjustcreateddirectorywith555permission:
    chmod555/export/home/ftp
    6.Createdirectorypubwherethefileswillbeuploadedanddownloadedfrom:
    mkdir/export/home/ftp/pub
    7.Changepermissionsonthispubdirectoryto:
    chmod777/export/home/ftp/pub
    8.Modify/etc/ftpd/ftpaccessfilebyaddingthefollowingline:
    upload/export/home/ftp/pubyesftpother0600nodirs
    9.Nowstarttheftpserver.Youwillneedtosu,pfexec,orhoweveryouhaveSolarissetuptorunthiscommand
    inetadm-eftp
    10.Testtoseeiftheftpserverisrunning
    inetadm|grepftp
    bash-3.00#svcs|grepftp
    online        Nov_29  svc:/network/ftp:default
    验证是否可以使用
    之后我们可以使用filezilla或其他的ftpclient来连接设置好的ftpserver。我们可以使用匿名用户连接,密码是任意的电子邮件地址。也可以使用前面设置的ftp账户,没有密码。
    或直接运行ftp,如下则说明ftpserver正在工作。
    bash-3.00#ftp
    ftp>
    奇怪的是,此时ftp或匿名账户都不能upload文件。同时,也不知道连接的默认目录到底是哪里。
    关于匿名用户,在后面有一点说明。
    接下来是一篇FTP基础命令的文章,也很简单。
    http://www.cs.colostate.edu/helpdocs/ftp.html
    其中需要注意的是刚建立好FTPserver后,还可以使用一个匿名用户anonymous。你可以直接使用这个匿名账户登录FTP。
    创建其他ftp用户
    此时如果希望创建其他的ftp用户,我们要做的非常简单。
    只需要创建系统用户,这个用户就自动可以访问ftp了。而不是和在windows中一样,需要单独在ftpserver上创建用户。
    和前面一样,直接在/etc/passwd中添加一行:
    lillian:x:126:1:accountFTP:/files/input/abrun_ps:/bin/ksh
    其中/files/input/abrun_ps是默认的用户home目录,需要提前建好这个目录,并且新建的用户对这个目录必须有访问权限。/bin/ksh是用户的默认shell。
    因为x表示使用shadowfile,所以之后需要运行pwconv。
    此时用户已经创建好,但是没有指定密码。
    之后在/etc/ftpd/ftpaccess中加入:
    upload/export/home/ftp/pubyesportfolioother0600nodirs
    之后用passwdl+lillian设置密码。
    bash-3.00$passwdlillian
    Enterexistingloginpassword:
    完成后在putty中用该用户登录unix,看看是否成功。如果成功则使用filezilla连接ftp,可以看到默认的路径就是/files/input/abrun_ps,而且同时有download和upload权限。
 
    原文链接:https://blog.csdn.net/OnlyQi/article/details/7024073