小弟为了要让别人能够利用 Anonymous FTP,将资料upload给我,因此想建立 一个Anonymous FTP. 要建立 Anonymous FTP,可以利用 WU-FTP 这套软体来 建立, 然而小弟在 Solaris 上却 make 不起来. 後来去查了一些 document 才发现, 在 solaris 上可以不用安装 WU-FTP,而直接建立 Anonymous FTP. 其建立的详细方法,可以去 man ftpd 来看看. 以下则简述其建立的方法.
对於 Anonymous FTP 的使用者, in.ftpd 限定了该使用者的一些使用特权. 要建立一个Anonymous FTP, 建议依下列的步骤来设定.
1. 建立一个 Anonymous FTP 的 home directory. 这个目录是Anonymous FTP 的根目录, 所有 Anonymous 所能存取的档案,都在这个目录以下. 假设我们叫这个目录为 ~ftp (例如建立在 /export/ftp). 这个目录 的拥有者需为 root, 且对任何人都不能有写的权限.
2. 建立 ~ftp/bin 这个目录是用来放 Anonymous 所能使用的指令. 一般 来说, 放入 ls 和 pwd 即可.这个目录的拥有者需为 root, 且对任何人 都不能有写的权限. 目录内, 档案的 mod 需为 111.(ex. %chmod 111 * )
3. 建立 ~ftp/usr/lib 这个目录是用来存放当 Anonymous 使用者在使用 FTP时,所会使用到的 library. 这个目录的拥有者需为 root, 且对任何人 都不能有写的权限. 你可以把存在 /usr/lib 的下列档案拷贝到这个目录内.
ld.so.1* libc.so.1* libdl.so.1* libmp.so.2* libnsl.so.1* libsocket.so.1* nss_compat.so.1* nss_dns.so.1* nss_files.so.1* nss_nis.so.1* nss_nisplus.so.1* nss_xfn.so.1* straddr.so* straddr.so.2*
4. 建立 ~ftp/etc 这个目录是用来存放 FTP 使用者及权限.这个目录的 拥有者需为 root, 且对任何人都不能有写的权限. 你可以把 /etc/passwd /etc/group 以及 /etc/netconfig 拷贝到这个目录中. 并且修改 passwd及 group. 在 passwd 这个档中, 你只需留 root,daemon,uucp,ftp这几个 user. 内容 如下: (请依自己的环境设定)
root:x:0:1:Super-User:: daemon:x:1:1::: uucp:x:5:5:uucp Admin:: ftp:x:30000:400:Anonymous FTP::
在 group 进个档中, 你只需留必需的 group . 如 other (root,daemon的 group),uucp (uucp 的 group),ftp (ftp 的group). 内容如下: (请依自 己的环境设定) other::1: uucp::5:root,uucp ftp::400:
5. 建立 ~ftp/pub 这个目录是给 Anonymous 存取档案的地方, 也就是一般 我们用 Anonymous FTP 时, 所可以 download file 的地方. 此目录的拥有 者为 ftp 的理者. 而其 mod 需设为 755.
6. 建立 ~ftp/dev 这个目录是当Anonymous FTP使用者在执行指令行, 所需用 到的装置. 要建立这些装置, 要先以 ls -lL 来看下列四个装置的属性.
/dev/zero /dev/tcp /dev/udp /dev/ticotsord
然後再利用 mknod , 在 ~ftp/dev 内建立这四个装置.
例如: % ls -lL /dev/zero crw-rw-rw- 1 root root 13, 12 Feb 19 15:00 /dev/zero ^^^ ^^^ ^^^ ^^^^ 则建立 zero 这个 device 的方法为 % mknod zero c 13 12
建立好了之後, 必需将其 mod 设为 666 才不会产生 "permission denied" 的错误息.
7. 建立 ~ftp/usr/share/lib/zoneinfo 这个目录是让 Anonymous 在使用 ls -l 时, 会显示出正确的时间及日期. 需将其 mod 设为 555
8. in.ftpd 利用 pam 来对使用者做 认,计费管理及session的管理. pam的 设定档存放在 /etc/pam.conf .你必需把以下三行加入 pam.conf这个档案 里头.
ftp auth required /usr/lib/security/pam_unix.so.1 ftp account required /usr/lib/security/pam_unix.so.1 ftp session required /usr/lib/security/pam_unix.so.1
9. 最後, 要设定 Anonymous FTP 的步骤, 就是开一个 Anonymous 的帐号. 假设 Anonymous FTP 的 root 为 /export/ftp . 则你必需在 /etc/passwd 中加入以下这一行:
ftp:x:30000:30000:Anonymous FTP:/export/ftp:/nosuchshell 并且, 在 /etc/shadow 中加入以下这行:
ftp:NP:6445::::::
加好了以後, 你就可以用 Anonymous 来做 FTP 了.....
如果你要一开放一个 upload 区, 可以依下列的方式做.
1. 建立一个 ~ftp/upload 的目录, 拥有者为 root , group 为 ftp 的 group 2. 将 upload 的 mod 设为 777 即可. |