3. Network 관련 질문들
3.1. 허가된 IP에서만 Network 접속이 가능하게 하려면?
TCP Wrapper Program을 구하셔서 설치하시면 됩니다. 이 Program을 이용하면 telnet, ftp등 대부분의 Service에서 접근을 제어할 수 있습니다.
3.2. Shell을 바꾸었더니 ftp로 Login이 안됩니다.
ftp daemon은 /etc/shells에 등록된 shell을 사용하는 계정만 접속을 허용합니다. 만일 /etc/shells File이 없는 경우에는 /usr/bin/sh, /usr/bin/csh, /usr/bin/ksh, /usr/bin/jsh /bin/sh, /bin/csh, /bin/ksh, /bin/jsh, /sbin/sh, /sbin/jsh만 접속을 허용합니다. 그래서 최근에 많이 사용되는 bash나 tcsh는 File에 적어주지 않으면 ftp로 접속이 되지 않습니다.
3.3. 비밀번호 없이 ftp나 telnet으로 접속하는 방법이 있을까요?
~/.netrc File을 사용하시면 됩니다. 자세한 내용은 man netrc로 살펴보시고, 간단하게 말씀 드리자면, ~/.netrc File을 만들고 내용을 다음과 같이 만듭니다.
위와 같이 작성해 두시면 ftp로 a.example.com을 접속하면 ID와 비밀번호를 묻지 않고 바로 login이 됩니다. 그리고 이 File을 만들때 주의하실 사항은 남들이 이 File을 볼 수 없도록 chmod를 이용하여 소유권을 바꿔야 합니다. 만일 적당하지 않은 소유권으로 되어 있는 경우에는 작동하지 않습니다. 일반적으로 400나, 600를 사용하시면 됩니다. 하지만 가능하면 이 방법은 사용하지 않는 것이 좋습니다. :)
rlogin을 사용하셔도 됩니다. 우선 접속하고자 하는 System의 Home Directory에 .rhosts File을 만들고 ([접속을 허용하는 System 이름] [계정] 쌍으로 만드시면 됩니다.) 접속할 때는 rlogin [원격 System 이름] -l [계정]으로 접속하시면 됩니다. 하지만 보안상 별로 좋은 방법은 아니니, 꼭 필요할 때가 아니면 쓰지 마세요.
3.4. 특정 사용자는 ftp로 접속하지 못하게 하고 싶습니다.
/etc/ftpusers File에 적어주면 됩니다. 만일 aaa와 bbb사용자는 ftp로 접속하지 못하게 하려면 아래와 같이 File을 만들면 됩니다.
3.5. Text File에서 줄의 끝에 ^M이 붙어있습니다.
DOS와 UNIX간에 Text File의 차이 때문입니다. DOS에서는 라인구분을 CR+LF를 사용하고, UNIX에서는 LF만을 사용합니다. 따라서 DOS의 Text File을 UNIX로 보내면 끝에 CR이 보이게 됩니다. (참고로 MAC은 CR만을 사용합니다.)
^M을 안 나오게 하려면 전송할 때 binary대신 ascii로 재전송하거나, dos2unix등의 Program을 이용하거나, vi, sed등을 이용해서 ^M을 제거하면 됩니다. vi를 사용할 때는 :1,$s/^M$// 와 같이 입력하면 되고, sed를 쓸 때는 sed 's/^M$//' oldfile > newfile과 같이 사용하면 각 줄의 끝에 있는 ^M을 지워줍니다. (^M을 입력할 때는 Ctrl키를 누른 상태에서 v와 m을 누르면 됩니다.)
3.6. ftp 사용을 일괄적으로 처리하려면?
가끔 이런 생각을 할 때가 있습니다. ftp를 이용해서 다른 Server에 있는 File을 가져오는데 항상 같은 File을 가져온다면 매번 명령을 직접 입력하는 것이 귀찮아서 한꺼번에 하는 방법이 없을까? 물론 expect를 써서 수행해도 되지만 ftp자체에 일괄적으로 처리하는 방법을 제공합니다. 만일 hostname에 접속해서 userid와 passwd를 입력하고 something이란 File을 가져온 후 something2란 File을 올리고 종료하려면 아래와 같은 File을 만들어서 ftp를 호출하면 됩니다.
3.7. ftp로 어떤 Server에 접속을 하니 File이 하나도 보이지 않습니다.
아마도 특정 내용을 한글로 출력해서 File이 보이지 않는 것 같습니다. 사용자입장에서는 한글로 출력하는 내용을 잘 처리하는 ftp Program을 사용하시면 됩니다. 만일 Server에서 날짜정보를 한글로 출력하지 않으려면 /etc/rc2.d/S72inetsvc에서 맨 밑줄의 /usr/sbin/inetd -s 앞 줄에 LANG=C;export LANG을 추가하시면 됩니다. (이 문제는 Solaris 2.5의 기본적인 in.ftpd에서 생기고, cute-ftp, Netscape에서 동일한 현상이 났습니다.)
3.8. anonymous ftp를 설치하고 싶습니다.
ftpd의 Manual을 보면 잘 나와있지만, 간단히 설치하려면 root Directory에서 실행하시면 됩니다. Solaris 2.5 이상에서는 아래의 작업으로 두 개의 File을 더 복사해 주시면 됩니다.(~ftp를 ftp가 설치된 Directory라고 가정합니다.)
3.9. ftp로 접속해서 만든 File의 Mode는 어떻게 결정되나요?
Solaris 2.6을 사용하고, System의 기본적인 in.ftpd를 사용한다면 /etc/default/ftpd에 UMASK= 부분을 수정하시면 원하는 umask를 설정하실 수 있습니다.
wu-ftpd를 사용한다면 wu-ftpd를 띄울 때 -u Option을 사용하여 변경할 수 있습니다.
3.10. wu-ftpd 2.4에서 last 명령으로 ftp 접속기록이 나오게 하려면?
wu-ftpd 2.4는 기본적으로 utmpx 구조를 지원하지 않습니다. 그 때문에 last 명령으로 ftp 접속기록이 나오지 않습니다. 만일 wu-ftpd 2.4에서 wtmpx 구조를 지원하게 하려면 Patch를 설치하면 됩니다.
3.11. wu-ftpd에서 접속 시 Message를 출력하려면?
/etc/ftpaccess File을 아래와 같이 편집하면 됩니다.
3.12. telnet으로 접속한 상태에서 잠시 local작업을 하려면?
telnet으로 원격 System을 사용하는 도중에 Escape character를 누르시면 telnet prompt가 나타납니다. 여기에서 여러 가지 telnet 명령어들을 사용할 수가 있는데, 그 중에서 z 명령을 사용하시면 telnet Process가 foreground에서 background로 전환됩니다. 이렇게 전환해 두시고 local에서 필요한 작업을 하시고 jobs로 Job ID를 확인한 후 fg %JobID로 돌아오시면 됩니다.
기본적으로 telnet에서 Escape character는 ^]로 되어 있습니다. 이럴 경우 몇 군데 접속했다가 ^]를 사용하면 모두 빠져 나오기 때문에 Escape character를 바꾸고 싶다면 telnet으로 접속하실 때 -e Option을 사용하시면 됩니다. 만일 Ctrl+p를 Escape character로 사용하시려면 다음과 같이 입력하시면 됩니다.
위에서 ^p는 Ctrl이 아닌 단순한 ^키와 p키를 사용하시면 됩니다. -e Option 이외에 Escape character를 변경하는 방법으로는 telnet prompt에서
3.13. telnet등에서 내용을 암호화해서 전송하려면?
telnet이나 rlogin등으로 원격System에 접속을 하면 비밀번호 등이 평문으로 전송되기 때문에 보안에 문제가 될 수 있습니다. 따라서 이 Message를 암호화 해서 보내는 Program들이 많은데 그 중에서 대표적인 Program으로 ssh (Secure Shell)가 있습니다. ssh를 양쪽 System에 설치하고 (ssh는 일반 사용자도 설치해서 쓸 수 있습니다.) ssh, slogin, scp등을 사용하시면 암호화해서 자료를 전송해 줍니다. (Win95나 Mac에서는 ssh를 지원하는 Terminal Program을 사용하시면 됩니다.) 이뿐만 아니라 X Program을 Network에서 실행할 때도 암호화 해 줍니다. ssh에 관한 내용은 참조하세요. (신정식님)
3.14. telnet으로 Hitel 등에서 Program을 Download 받으려면?
z-modem Protocol을 지원하는 ztelnet Program을 사용하시면 됩니다. 하지만 일반적인 Source를 이용해서 Solaris에서 Compile하기는 힘듭니다. SPARC에서 돌아가는 Binary도 SunOS 4.x에서 static으로 Compile한 것들입니다. (Binary가 있는 URL을 알려주시면 좋겠습니다.)
3.15. Web Server를 설치하려면?
여러 가지 Web Server를 설치할 수 있지만 가장 많이 사용되는 apache Web Server를 설치하려면 Apache의 Homepage를 참조하는 것이 좋습니다. 만일 영어에 익숙하지 않다면 한국 apache Server Group을 참조하시기 바랍니다.
3.16. Web Site에 대한 접속통계를 내려면?
Web Server는 Client로 부터의 요청을 log File에 남겨둡니다.(apache의 경우 access_log) 이 로그 File을 이용해서 보기 쉬운 형태로 만들어주는 Program들이 많이 있습니다. 최경렬님은 아래의 세가지를 추천하시더군요.
3.17. System에 Mail이 도착했을 때 다른 계정으로 Mail을 보내려면 어떻게 하면 되나요?
Home Directory에 .forward File을 만들어서 보낼 계정의 전자 Mail 주소를 적어주면 됩니다. 만일 aaa at bbb.com으로 Mail을 보내려면 다음과 같이 만들면 됩니다.
이렇게 설정해 둔 경우 처음 받은 System에 Mail이 없습니다. Redirection도 하고 Mail도 보관을 하려면 계정 앞에 \를 쓰면 됩니다. 아래는 louis@white로 Mail이 왔을 때 louis@taegu로 Mail을 보내고 white에도 보관해 두는 예제입니다.
Mail이 도착했을 때 자동으로 Program이 실행되게 하려면 | 를 사용하면 됩니다. Home Directory에 .forward File을 만들고 아래의 형식으로 적어주시면 됩니다.
아래는 louis@white로 Mail이 왔을 때 /export/home/louis/ttt라는 File의 내용을 louis at kebi.com으로 Mail 보내는 예제입니다.
하지만 관리자가 보안상의 이유로 smrsh를 설치했다면 관리자가 지정한 Program만 위의 방법을 이용해서 실행할 수 있습니다. (최경렬님)
3.18. 계정에 대문자가 들어있는 경우 Mail을 받으려면?
sendmail을 MTA로 사용하시는 경우에 sendmail.cf의 Mlocal로 시작하는 부분에 보시면 F=라고 된 부분이 있습니다. 이곳에 u를 추가하면 대문자로 된 계정에서도 Mail을 받아볼 수 있습니다. 그리고 procmail을 사용하신다면 3.10 이상으로 Upgrade하셔야 합니다. 하지만 계정에는 대문자를 안 쓰는 것이 좋습니다. (특히 NIS+를 쓸 경우 말썽을 많이 부립니다.)
3.19. Mail을 보내는 사람에게 자동으로 일정한 Message를 답장으로 주려면?
잠시 E-mail을 확인하지 못해서, Mail을 보내는 사람들에게 일정한 Message로 답장을 자동으로 보내고 싶을 때가 있습니다. 이때는 /usr/bin/vacation을 사용하면 됩니다. 만일 계정이 louis이라면 .forward File에 아래와 같은 줄을 삽입하면 됩니다. 그리고 편지의 내용은$HOME/.vacation.msg에 적어 넣으면 됩니다.
위와 같이 해 두면 받은 Mail은 Mail Box에 저장되고 자동으로 답장이 보내집니다. 참고로 자세한 내용은 vacation의 Manual을 참조하시기 바랍니다.
3.20. Mail계정만 주고, shell 계정을 안주는 방법
일반 계정에 shell을 noshell등으로 비정상적인 shell을 지정해두면 비슷한 효과를 거둘 수 있습니다. 또한 uid가 같은 계정에서도 Mail을 주고 받는 데는 상관이 없습니다.
3.21. tin에서 News Server지정
NNTPSERVER 환경변수에 지정하시면 됩니다. 만일 csh을 사용한다면 setenv NNTPSERVER [News Server 이름] 과 같이 .cshrc에 지정해 두시면 됩니다.
3.22. Windows환경의 자원을 UNIX에서 사용하려면?
Windows에서 사용하는 SMBProtocol을 UNIX에서 사용할 수 있도록 만든 Samba를 사용하시면 됩니다.
Win98에서는 암호로 DES를 사용하기 때문에 Login이 안됩니다. 이 문제를 해결하려면 Win98에서 DES를 사용하지 않도록 하면 됩니다. NT에서는 HKEY_LOCAL_MACHINE\system\current controlset\services\rdr\parameters에 EnablePlainTextPassword라는 REG_DWORD형의 변수를 만들고 값을 1로 해주면 되고, Win98에서는 HKEY_LOCAL_MACHINE\system\current controlset\Services\VxD\VNETSUP에 EnablePlainTextPassword라는 DWORD형의 변수를 만들고 값을 1로 해주면 됩니다.
3.23. System의 IP Address를 변경하고 싶습니다.
IP Address를 변경할 때 System의 이름과 함께 변경하는 방법과, 이름은 그대로 두고 IP Address만 변경하는 경우가 있습니다. 후자의 경우에는 /etc/hosts에서 System의 이름에 해당하는 IP Address를 바꾸고 재부팅을 하시면 됩니다. 만일 재부팅 할 환경이 안 된다면 ifconfig 명령으로 IP Address를 변경하시면 됩니다. 그리고 System의 이름과 함께 변경한다면 /etc/hostname.hme0나 /etc/hostname.le0에 적힌 System의 이름을 변경하고 /etc/hosts에 변경하면 됩니다. 참고로 IP Address의 설정은 /etc/rcS.d/S30rootusr.sh에서 이루어집니다.
3.24. 하나의 Adapter에 두개의 IP address를 할당하려면?
ifconfig에서 Network 디바이스를 지정할 때 hme0:1 로 해 보세요. 하나 더 추가를 하고 싶다면 hme0:2 로 하면 되겠죠?
3.25. gateway설정은?
Solaris 2.x의 default gateway의 설정은 /etc/rc2.d/S69inet에서 합니다. 이때 /etc/defaultrouter File의 내용을 읽어서 설정합니다. 따라서 default gateway의 설정은 /etc/defaultrouter File을 수정하시면 됩니다.
임시로 gateway를 설정하려면 route명령을 사용하면 됩니다. default gateway가 아닌 gateway설정을 영구히 하려면 /etc/rc2.d/S69inet에 route명령을 사용하여 추가하시기 바랍니다.
3.26. DNSService를 받으려면?
Solaris 2.x에서 DNSService를 받으려면 /etc/resolv.conf File과 /etc/nsswitch.conf File을 수정해야 합니다.
SunOS 4.x에서 DNS Service를 받으려면 NIS관련 Program을 설치해야 합니다. 아래의 절차를 따라서 해 보시기 바랍니다.
이렇게 File을 복사한 후 /var/yp/Makefile을 보면 B=-b와 B= 이라는 부분이 있는데 DNS Service를 받으려면 B= 에 주석을 달고 B=-b에 있는 주석을 제거해야 합니다. 이렇게 설정해 두고 /etc/rc.local 에서 ypxfrd; echo -n ' ypxfrd'의 주석을 제거합니다. 그리고 domainname 명령으로 System의 Domain 이름을 설정한 후 ypinit로 NIS Database를 설치합니다.
위와 같이 입력하면 몇 가지 질문이 나오는데, 환경에 맞게 대답하면 /var/yp에 여러 가지 File이 생성되고 /var/yp/[도메인이름] Directory가 생깁니다. 마지막으로 /etc/resolv.conf File에 DNS Server를 지정한 후 재부팅하면 DNS Service를 받을 수 있습니다. 자세한 내용은 SunOS 4.1.3의 Manual중 NIS에 관련된 내용을 참조하시기 바랍니다.
3.28. 시간 Server를 사용하려면?
Network Server로 부터 시간을 맞추려면 NTP(Network Time Protocol)을 구현한 Program을 사용하면 됩니다.
3.29. Mail Service를 하고 싶습니다.
가장 기본적으로 Mail Service를 하려면 SMTP Server와 POP3 Server를 제공해야 합니다.
'Operating System > Solaris' 카테고리의 다른 글
| System 성능 측정 (0) | 2007/07/16 |
|---|---|
| Network 설정 (정적 Routing) (0) | 2007/07/15 |
| Solaris에 gcc 설치하기 (0) | 2007/07/14 |
| ProFTPD 설치 (0) | 2007/07/13 |
| VI Editor 단축키 (0) | 2007/07/13 |
| System Log File과 Log 기록 삭제 방법 (0) | 2007/07/12 |
| Solaris FAQ (Network 관련 질문들) (0) | 2007/07/12 |
| Solaris FAQ (System 관리에 관한 질문들) (0) | 2007/07/11 |
| Solaris FAQ (일반적인 질문들) (0) | 2007/07/09 |
| Solaris FAQ (Category) (0) | 2007/07/09 |
| ufsdump를 이용한 Backup (0) | 2007/07/01 |