非常简单的step by step to build a FTP server:
原文链接:
http://en.wikibooks.org/wiki/Solaris/Solaris_FTP_Server_Setup
bash-3.00# svcs | grep ftp
online Nov_29 svc:/network/ftp:default
如果没有返回则说明没有安装ftp。
solaris自带的FTP是ftpd(ftp daemon),但默认不会安装。我用来安装ftpd的安装包是CMP_RSC_ftp_Sol_1-0-0_install_1.spb
也可以使用其他的FTP工具例如vsftpd(very secure ftp daemon),但是一般ftpd就够了。
注意只能在global zone安装ftpd。在子zone上安装时会报错。一旦在global zone安装完毕,每一个子zone就都可以使用ftp server了。但是需要分别start up 服务。
1. Login as root
2. Create a new user "ftp" in /etc/passwd file as follows:
对于上面这行数据的意思,请自行搜索/etc/passwd的说明。
在这里我们并没有给改账户设置密码。
3. Then we need to sync this file with /etc/shadow with:
4. Create a directory for this ftp account like this:
Change the ownership on this directory to:
5. Set permissions on just created directory with 555 permission:
6. Create directory pub where the files will be uploaded and downloaded from:
7. Change permissions on this pub directory to:
8. Modify /etc/ftpd/ftpaccess file by adding the following line:
9. Now start the ftp server. You will need to su, pfexec, or however you have Solaris setup to run this command
10. Test to see if the ftp server is running
bash-3.00# svcs | grep ftp
online Nov_29 svc:/network/ftp:default
之后我们可以使用filezilla或其他的ftp client来连接设置好的ftp server。我们可以使用匿名用户连接,密码是任意的电子邮件地址。也可以使用前面设置的ftp账户,没有密码。
或直接运行ftp,如下则说明ftp server正在工作。
bash-3.00# ftp
ftp>
奇怪的是,此时ftp或匿名账户都不能upload文件。同时,也不知道连接的默认目录到底是哪里。
关于匿名用户,在后面有一点说明。
接下来是一篇FTP基础命令的文章,也很简单。
http://www.cs.colostate.edu/helpdocs/ftp.html
其中需要注意的是刚建立好FTP server后,还可以使用一个匿名用户anonymous。你可以直接使用这个匿名账户登录FTP。
Once you have been logged in, you are in the anonymous directory for the remote machine. This usually contains a number of public files and directories. Again you should be able to move around in these directories. However,you are only able to copy the files from the remote machine to your own local machine; you are not able to write on the remote machine or to delete any files there.
此时如果希望创建其他的ftp用户,我们要做的非常简单。
只需要创建系统用户,这个用户就自动可以访问ftp了。而不是和在windows中一样,需要单独在ftp server上创建用户。
和前面一样,直接在/etc/passwd中添加一行:
lillian:x:126:1:account FTP:/files/input/abrun_ps:/bin/ksh
其中/files/input/abrun_ps是默认的用户home目录,需要提前建好这个目录,并且新建的用户对这个目录必须有访问权限。/bin/ksh是用户的默认shell。
因为x表示使用shadow file,所以之后需要运行pwconv。
此时用户已经创建好,但是没有指定密码。
之后在/etc/ftpd/ftpaccess中加入:
upload /export/home/ftp /pub yes portfolio other 0600 nodirs
之后用passwd l + lillian 设置密码。
bash-3.00$ passwd lillian
Enter existing login password:
完成后在putty中用该用户登录unix,看看是否成功。如果成功则使用filezilla连接ftp,可以看到默认的路径就是/files/input/abrun_ps,而且同时有download和upload权限。