Operating System/Solaris2007/07/30 23:19

13장. FTP

13.1 anonymous FTP install

* 쉽게 설치하기 위한 방법 : prompt상에서 "man ftpd"하면 FTPD의 설명과 함께 Example로 포함된 Script부분이 있다.

이 부분을 축출하여 실행 Script로 만들고, man page 에 설명된 설치방법에 따라 수행하면, 간단히 Anonymous FTP를 설치 할 수가 있다.

!) ftp server를 설치해놓고, anonymous로 접속하면 ls,get..등 기본명령이 안 된다.

can't create data socket(0.0.0.0,20) : no such file or directory

- device or library 의 문제일 가능성

다음은 ~ftp아래에 있어야 할 목록들이다.

ftpmgr은 ftp관리용 계정이고, 임의의 걸로 해도 됨.

각 directory Permission에 주의할 것.

~ftp/etc

>ls -al

drwxr-xr-x    9    ftpmgr    adm    512    Apr    19    09:58    ./
drwxr-xr-x     5    root    root    512    Mar    31    15:08    ../
d--x--x—x    2    root    root    512    Apr    19    09:56    bin/
dr-xr-xr-x    2    root    root    512    Apr    19    09:49    dev/
dr-xr-xr-x    2    root    root    512    Apr    19    09:45    etc/
drwxrwxrwt    3    ftpmgr    adm    512    Apr    16    09:57    incoming/
drwxr-xr-x    2    root    root    512    Apr    19    09:58    outgoing/
drwxr-xr-x    9    ftpmgr    adm    512    Apr    17    16:33    pub/
drwxr-xr-x    4    root    root    512    Apr    19    09:51    usr/

> ls -al bin

d--x--x—x    2    root    root    512    Apr    19    09:56    ./
drwxr-xr-x    9    ftpmgr    adm    512    Apr    19    09:58    ../
lrwxrwxrwx    1    root    root    13    Apr    19    09:56    ls -> ../usr/bin/ls*

> ls -al dev

dr-xr-xr-x    2    root    root    512    Apr    19    09:49    ./
drwxr-xr-x    9    ftpmgr    adm    512    Apr    19    09:58    ../
crw-r--r--    1    root    root    11, 42    Apr    19    09:47    tcp
crw-r--r--    1    root    root    99, 1    Apr    19    09:49    ticotsord
crw-r--r--    1    root    root    11, 41    Apr    19    09:47    udp
crw-r--r--    1    root    root    13, 12    Apr    19    09:47    zero

위는 device file들이고, 아래처럼 mknod 명령으로 만들어준다.

mknod [filename] [type] [major] [minor]

예) mknod zero c 13 12
mknod tcp c 11 42

....

>ls -al usr

drwxr-xr-x    4    root    root    512    Apr    19    09:51    ./
drwxr-xr-x    9    ftpmgr    adm    512    Apr    19    09:58    ../
d--x--x--x    2    root    root    512    Apr    19    09:51    bin/
dr-xr-xr-x    2    root    root    512    Apr    19    09:54    lib/

> ls -al usr/bin

total 16

d--x--x--x    2    root    root    512    Apr    19    09:51    ./
drwxr-xr-x    4    root    root    512    Apr    19    09:51    ../
-r-xr-xr-x    1    root    root    13400    Apr    19    09:51    ls*

/usr/bin/ls를 cp하면 되고, 보다 엄밀하게는 새로 Compile 하는 게 좋다.

만약 Compile시 CFLAGS 와 LDFLAGS Option에 –B static (or -static in gcc)로 한다.

ls 외에도 gzip, gtar,,, 등의 Utility도 있으면 준비해 놓을 것.

> ls -al usr/lib

total 2652

dr-xr-xr-x    2    root    root    512    Apr    19    09:54    ./
drwxr-xr-x    4    root    root    512    Apr    19    09:51    ../
-rwxr-xr-x    1    root    root    112104    Apr    19    09:52    ld.so.1*
-rwxr-xr-x    1    root    root    621576    Apr    19    09:52    libc.so*
-rwxr-xr-x    1    root    root    621576    Apr    19    09:52    libc.so.1*
-rwxr-xr-x    1    root    root    2644    Apr    19    09:52    libdl.so*
-rwxr-xr-x    1    root    root    2644    Apr    19    09:52    libdl.so.1*
-rwxr-xr-x    1    root    root    14060    Apr    19    09:52    libintl.so*
-rwxr-xr-x    1    root    root    14060    Apr    19    09:52    libintl.so.1*
-rwxr-xr-x    1    root    root    473140    Apr    19    09:53    libnsl.so*
-rwxr-xr-x    1    root    root    473140    Apr    19    09:53    libnsl.so.1*
-rwxr-xr-x    1    root    root    67928    Apr    19    09:53    libsocket.so*
-rwxr-xr-x    1    root    root    67928    Apr    19    09:53    libsocket.so.1*
-rwxr-xr-x    1    root    root    44848    Apr    19    09:53    libw.so*
-rwxr-xr-x    1    root    root    44848    Apr    19    09:53    libw.so.1*
-rwxr-xr-x    1    root    root    10492    Apr    19    09:53    nss_dns.so.1*
-rwxr-xr-x    1    root    root    20980    Apr    19    09:53    nss_files.so.1*
-rwxr-xr-x    1    root    root    23344    Apr    19    09:54    nss_nis.so.1*
-rwxr-xr-x    1    root    root    26680    Apr    19    09:54    nss_nisplus.so.1*
-rwxr-xr-x    1    root    root    8068    Apr    19    09:54    straddr.so*
-rwxr-xr-x    1    root    root    8068    Apr    19    09:54    straddr.so.2*

lib에는 System에서 제공하는 loader, shared library를 복사하면 됨.

기본적으로 /usr/lib 아래에 있고, cp 하면 된다.

File Permission에 특히 주의하고, incoming Service를 한다면, "chmod 1777 incoming" 로 Sticky Bit를 사용하면 anonymous로 올릴 수는 있는데 지우지는 못하도록 할 수 있다.

File과 Directory 소유권도 중요.

ftp가 소유권을 가지게 되면, 운 없으면(Permission 설정 잘못하면) 어느 날 ftp가 안 되는 사태가 올 수도 있다.

마지막으로, ftpd는 /etc/inetd.conf에서 정의되니, 설치 후 inetd daemon를 restart해야 함.

Creative Commons License

'Operating System > Solaris' 카테고리의 다른 글

POWER ADMIN for SUN (Unix C-Shell Programming)  (0) 2007/08/04
POWER ADMIN for SUN (sed)  (0) 2007/08/03
POWER ADMIN for SUN (AWK)  (0) 2007/08/02
POWER ADMIN for SUN (System Tuning)  (0) 2007/08/01
POWER ADMIN for SUN (PPP)  (0) 2007/07/31
POWER ADMIN for SUN (FTP)  (0) 2007/07/30
POWER ADMIN for SUN (NFS)  (0) 2007/07/29
POWER ADMIN for SUN (DNS)  (0) 2007/07/28
POWER ADMIN for SUN (POP Server)  (0) 2007/07/27
POWER ADMIN for SUN (Mail)  (0) 2007/07/26
POWER ADMIN for SUN (Swap)  (0) 2007/07/25
Posted by BLUEDAY™