3. 네트웍 관련 질문들
3.1 허가된 IP에서만 네트웍접속이 가능하게 하려면?
TCP Wrapper프로그램을 구하셔서 설치하시면 됩니다. 이 프로그램을 이용하면 telnet, ftp등 대부분의 서비스에서 접근을 제어할 수 있습니다.
3.2 Shell을 바꾸었더니 ftp로 로긴이 안됩니다.
ftp daemon은 /etc/shells에 등록된 shell을 사용하는 계정만 접속을 허용합니다. 만일 /etc/shells파일이 없는경우에는 /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는 파일에 적어주지 않으면 ftp로 접속이 되지 않습니다.
3.3 비밀번호없이 ftp나 telnet으로 접속하는 방법이 있을까요?
~/.netrc파일을 사용하시면 됩니다. 자세한 내용은 man netrc로 살펴보시고, 간단하게 말씀드리자면, ~/.netrc파일을 만들고 내용을 다음과 같이 만듭니다.
% cat ~/.netrc
machine a.example.com
login guest
password 1234
machine b.example.com
..
%
위와 같이 작성해 두시면 ftp로 a.example.com을 접속하면 ID와 비밀번호를 묻지 않고 바로 login이 됩니다. 그리고 이 파일을 만들때 주의하실 사항은 남들이 이 파일을 볼 수 없도록 chmod를 이용하여 소유권을 바꿔야 합니다. 만일 적당하지 않은 소유권으로 되어 있는경우에는 작동하지 않습니다. 일반적으로 400나, 600를 사용하시면 됩니다. 하지만 가능하면 이 방법은 사용하지 않는게 좋습니다. :)
rlogin을 사용하셔도 됩니다. 우선 접속하고자 하는 시스템의 홈디렉토리에 .rhost파일을 만들고 (접속을 허용하는 시스템이름 계정 쌍으로 만드시면 됩니다.) 접속할때는 rlogin 원격시스템이름 -l 계정으로 접속하시면 됩니다. 하지만 보안상 별로 좋은 방법은 아니니, 꼭 필요할때가 아니면 쓰지 마세요.
3.4 특정사용자는 ftp로 접속하지 못하게 하고싶습니다.
/etc/ftpusers파일에 적어주면 됩니다. 만일 aaa와 bbb사용자는 ftp로 접속하지 못하게 하려면 아래와 같이 파일을 만들면 됩니다.
% cat /etc/ftpusers
aaa
bbb
%
3.5 텍스트 파일에서 줄의 끝에 ^M이 붙어있습니다.
DOS와 UNIX간에 텍스트파일의 차이때문입니다. DOS에서는 라인구분을 CR+LF를 사용하고, UNIX에서는 LF만을 사용합니다. 따라서 DOS의 텍스트파일을 UNIX로 보내면 끝에 CR이 보이게 됩니다. (참고로 맥은 CR만을 사용합니다.)
^M을 안나오게 하려면 전송할때 binary대신 ascii로 재전송하거나, dos2unix등의 프로그램을 이용하거나, vi, sed등을 이용해서 ^M을 제거하면 됩니다. vi를 사용할때는 :1,$s/^M$// 와 같이 입력하면 되고, sed를 쓸 때는 sed 's/^M$//' oldfile > newfile과 같이 사용하면 각 줄의 끝에 있는 ^M을 지워줍니다. (^M을 입력할때는 Ctrl키를 누른상태에서 v와 m을 누르면 됩니다.)
3.6 ftp 사용을 일괄적으로 처리하려면?
가끔 이런 생각을 할때가 있습니다. ftp를 이용해서 다른 서버에 있는 파일을 가져오는데 항상 같은 파일을 가져온다면 매번 명령을 직접 입력하는게 귀찮아서 한꺼번에 하는 방법이 없을까? 라구요. 물론 expect를 써서 수행해도 되지만 ftp자체에 일괄적으로 처리하는 방법을 제공합니다. 만일 hostname에 접속해서 userid와 passwd를 입력하고 something이란 파일을 가져온 후 something2란 파일을 올리고 종료하려면 아래와 같은 파일을 만들어서 ftp를 호출하면 됩니다.
$ cat ftp.cmd
open hostname
user userid passwd
get something
put something2
bye
$ cat ftp.cmd | ftp -n
3.7 ftp로 어떤 서버에 접속을 하니 파일이 하나도 보이지 않습니다.
아마도 특정내용을 한글로 출력해서 파일이 보이지 않는것 같습니다. 사용자입장에서는 한글로 출력하는 내용을 잘 처리하는 ftp 프로그램을 사용하시면 됩니다. 만일 서버에서 날짜정보를 한글로 출력하지 않으려면 /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의 메뉴얼을 보면 잘 나와있지만, 간단히 설치하려면 ftp://ftp.math.fsu.edu/pub/solaris/ftp.anon를 root디렉토리에서 실행하시면 됩니다. Solaris 2.5 이상에서는 아래의 작업으로 두개의 파일을 더 복사해 주시면 됩니다.(~ftp를 ftp가 설치된 디렉토리라고 가정합니다.)
% cp /devices/pseudo/tl@0:ticlts ~ftp/dev/ticlts
% chmod 666 ~ftp/dev/ticlts
% cp /usr/lib/libmp.so.* ~ftp/usr/lib
3.9 ftp로 접속해서 만든 파일의 모드는 어떻게 결정되나요?
Solaris 2.6을 사용하고, 시스템의 기본적인 in.ftpd를 사용한다면 /etc/default/ftpd에 UMASK= 부분을 수정하시면 원하는 umask를 설정하실 수 있습니다.
wu-ftpd를 사용한다면 wu-ftpd를 띄울때 -u 옵션을 사용하여 변경할 수 있습니다.
3.10 wu-ftpd 2.4에서 last명령으로 ftp접속기록이 나오게 하려면?
wu-ftpd 2.4는 기본적으로 utmpx 구조를 지원하지 않습니다. 그 때문에 last명령으로 ftp접속기록이 나오지 않습니다. 만일 wu-ftpd 2.4에서 wtmpx구조를 지원하게 하려면 ftp://ftp.wins.uva.nl/pub/solaris에 있는 패치를 설치하면 됩니다.
3.11 wu-ftpd에서 접속시 메시지를 출력하려면?
/etc/ftpaccess파일을 아래와 같이 편집하면 됩니다.
message /.welcome login # 사용자가 로긴할때 나오는 메시지
message .message cwd=* # 특정 디렉토리에를 접근할 때 나오는 메시지
banner /.banner # 서버에 접속할때 나오는 메시지
3.12 telnet으로 접속한 상태에서 잠시 local작업을 하려면?
telnet으로 원격시스템을 사용하는 도중에 Escape character를 누르시면 telnet prompt가 나타납니다. 여기에서 여러가지 telnet명령어들을 사용할 수 가 있는데, 그중에서 z명령을 사용하시면 telnet프로세스가 foreground에서 background로 전환됩니다. 이렇게 전환해 두시고 local에서 필요한 작업을 하시고 jobs로 Job ID를 확인한 후 fg %JobID 로 돌아오시면 됩니다.
기본적으로 telnet에서 Escape character는 ^]로 되어 있습니다. 이럴경우 몇군데 접속했다가 ^]를 사용하면 모두 빠져나오기 때문에 Escape character를 바꾸고 싶다면 telnet으로 접속하실때 -e 옵션을 사용하시면 됩니다. 만일 Ctrl+p를 Escape character로 사용하시려면 다음과 같이 입력하시면 됩니다.
% telnet -e ^p hostname
위에서 ^p 는 Ctrl이 아닌 단순한 ^키와 p키를 사용하시면 됩니다.
-e 옵션 이외에 Escape character를 변경하는 방법으로는 telnet prompt에서
--------------------------------------------------------------------------------
set escape ^p
--------------------------------------------------------------------------------
를 입력하거나, ~/.telnetrc에 hostname set escape ^p 한줄을 넣어두면 hostname에 접속할때는 Escape character가 ^p가 됩니다.
3.13 telnet등에서 내용을 암호화해서 전송하려면?
telnet이나 rlogin등으로 원격시스템에 접속을 하면 비밀번호등이 평문으로 전송되기 때문에 보안에 문제가 될 수 있습니다. 따라서 이 메시지를 암호화 해서 보내는 프로그램들이 많은데 그중에서 대표적인 프로그램으로 ssh(Secure Shell)가 있습니다.
ssh를 양쪽 시스템에 설치하고 (ssh는 일반사용자도 설치해서 쓸 수 있습니다.) ssh, slogin, scp등을 사용하시면 암호화해서 자료를 전송해 줍니다. (Win95나 Mac에서는 ssh를 지원하는 터미널 프로그램을 사용하시면 됩니다.) 이뿐만 아니라 X 프로그램을 Network에서 실행할 때도 암호화 해 줍니다. ssh에 관한 내용은 http://www.cs.hut.fi/ssh/와 http://www.uni-karlsruhe.de/~ig25/ssh-faq/를 참조하세요. (신정식님)
3.14 telnet으로 하이텔등에서 프로그램을 다운로드 받으려면?
z-modem 프로토콜을 지원하는 ztelnet프로그램을 사용하시면 됩니다. ztelnet은 ftp://ftp.nuri.net/pub/hangul/network/ 에서 소스를 받을 수 있습니다.
3.15 웹서버를 설치하려면?
여러가지 웹서버를 설치할 수 있지만 가장 많이 사용되는 apache웹서버를 설치하려면 Apache의 홈페이지 http://www.apache.org를 참조하는게 좋습니다. 만일 영어에 익숙하지 않다면 한국 apache서버그룹 http://www.uriel.net/~intexp/apache를 참조하시기 바랍니다.
3.16 웹사이트에 대한 접속통계를 내려면?
웹서버는 클라이언트로 부터의 요청을 log파일에 남겨둡니다.(apache의 경우 access_log) 이 로그파일을 이용해서 보기쉬운 형태로 만들어주는 프로그램들이 많이 있습니다. 최경렬님은 아래의 세가지를 추천하시더군요. http://webtrends.advernet.co.kr http://www.mrunix.net/webalizer http://www.ics.uci.edu/pub/websoft/wwwstat
3.17 시스템에 메일이 도착했을때 다른 계정으로 메일을 보내려면 어떻게 하면 되나요?
홈디렉토리에 .forward파일을 만들어서 보낼 계정의 전자메일주소를 적어주면 됩니다. 만일 aaa@bbb.com으로 메일을 보내려면 다음과 같이 만들면 됩니다.
% cat $HOME/.forward
aaa@bbb.com
이렇게 설정해 둔 경우 처음 받은 시스템에 메일이 없습니다. 리다이렉션도하고 메일도 보관을 하려면 계정앞에 \ 를 쓰면 됩니다. 아래는 louis@white로 메일이 왔을때 louis@taegu로 메일을 보내고 white에도 보관해 두는 예제입니다.
% cat ~/.forward
\louis@white
louis@taegu
%
메일이 도착했을때 자동으로 프로그램이 실행되게 하려면 | 를 사용하면 됩니다. 홈디렉토리에 .forward파일을 만들고 아래의 형식으로 적어주시면 됩니다.
|program
아래는 louis@white로 메일이 왔을때 /export/home/louis/ttt라는 파일 의 내용을 louis@kebi.com으로 메일보내는 예제입니다.
% hostname
white
% cat ~/.forward
|/export/home/louis/act
% cat /export/home/louis/act
#!/sbin/sh
PATH=/sbin:/usr/bin
mail louis@kebi.com > /export/home/louis/ttt
하지만 관리자가 보안상의 이유로 smrsh를 설치했다면 관리자가 지정한 프로그램만 위의방법을 이용해서 실행할 수 있습니다. (최경렬님)
3.18 계정명에 대문자가 들어있는경우 메일을 받으려면?
sendmail을 MTA로 사용하시는 경우에 sendmail.cf의 Mlocal로 시작하는 부분에 보시면 F=이라고 된 부분이 있습니다. 이곳에 u를 추가하면 대문자로 된 계정에서도 메일을 받아볼 수 있습니다. 그리고 procmail을 사용하신다면 3.10이상으로 업그래이드하셔야 합니다. 하지만 계정에는 대문자를 안 쓰시는게 좋습니다. (특히 NIS+를 쓸경우 말썽을 많이 부립니다.)
3.19 메일을 보내는 사람에게 자동으로 일정한 메시지를 답장으로 주려면?
잠시 E-mail을 확인하지 못해서, 메일을 보내는 사람들에게 일정한 메시지로 답장을 자동으로 보내고 싶을때가 있습니다. 이때는 /usr/bin/vacation을 사용하면 됩니다. 만일 계정이 louis이라면 .forward파일에 아래와 같은 줄을 삽입하면 됩니다. 그리고 편지의 내용은 $HOME/.vacation.msg에 적어넣으면 됩니다.
% cat $HOME/.forward
\louis
"|/usr/bin/vacation louis"
%
위와 같이 해 두면 받은 메일은 메일박스에 저장되고 자동으로 답장이 보내집니다. 참고로 자세한 내용은 vacation의 메뉴얼을 참조하시기 바랍니다.
3.20 메일계정만 주고, shell계정을 안주는 방법
일반 계정에 shell을 noshell등으로 비정상적인 shell을 지정해두면 비슷한 효과를 거둘 수 있습니다. 또한 uid가 같은 계정에서도 메일을 주고 받는데는 상관이 없습니다.
3.21 tin에서 뉴스서버지정
NNTPSERVER 환경변수에 지정하시면 됩니다. 만일 csh을 사용한다면 setenv NNTPSERVER 뉴스서버 이름 과 같이 .cshrc에 지정해 두시면 됩니다.
3.22 Windows환경의 자원을 UNIX에서 사용하려면?
Windows에서 사용하는 SMB프로토콜을 UNIX에서 사용할 수 있도록 만든 Samba를 사용하시면 됩니다. Samba에 관한 내용은 박재호님의 http://www.kies.co.kr/~jhpark/Samba/samba/samba.html를 참고하시기 바랍니다.
Win98에서는 암호로 DES를 사용하기 때문에 로긴이 안됩니다. 이문제를 해결하려면 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 시스템의 IP Address를 변경하고 싶습니다.
IP Address를 변경할때 시스템의 이름과 함께 변경하는 방법과, 이름은 그대로 두고 IP Address만 변경하는 경우가 있습니다. 후자의 경우에는 /etc/hosts에서 시스템의 이름에 해당하는 IP Address를 바꾸고 재부팅을 하시면 됩니다. 만일 재부팅 할 환경이 안된다면 ifconfig명령으로 IP Address를 변경하시면 됩니다. 그리고 시스템의 이름과 함께 변경한다면 /etc/hostname.hme0나 /etc/hostname.le0에 적힌 시스템의 이름을 변경하고 /etc/hosts에 변경하면 됩니다. 참고로 IP Address의 설정은 /etc/rcS.d/S30rootusr.sh에서 이루어집니다.
3.24 하나의 Adapter에 두개의 IP address를 할당하려면?
ifconfig에서 네트웍 디바이스를 지정할 때 hme0:1 로 해 보세요. 하나 더 추가를 하고 싶다면 hme0:2 로 하면 되겠죠?
% ifconfig hme0:1 xxx.xxx.xxx.xxx 255.255.255.0 up
3.25 gateway설정은?
Solaris 2.x의 default gateway의 설정은 /etc/rc2.d/S69inet에서 합니다. 이때 /etc/defaultrouter파일의 내용을 읽어서 설정합니다. 따라서 default gateway의 설정은 /etc/defaultrouter파일을 수정하시면 됩니다.
임시로 gateway를 설정하려면 route명령을 사용하면 됩니다.
default gateway가 아닌 gateway설정을 영구히 하려면 /etc/rc2.d/S69inet 에 route명령을 사용하여 추가하시기 바랍니다.
3.26 DNS서비스를 받으려면?
Solaris 2.x에서 DNS서비스를 받으려면 /etc/resolv.conf파일과 /etc/nsswitch.conf파일을 수정해야 합니다.
% cat /etc/resolv.conf
search [도메인이름]
nameserver [서버의 IP주소]
% cat /etc/nsswitch.conf
.
hosts: files dns
.
SunOS 4.x에서 DNS서비스를 받으려면 NIS관련 프로그램을 설치해야 합니다. 아래의 절차를 따라해 보시기 바랍니다.
# mkdir /var/yp
# cp /usr/lib/NIS.Makefile /var/yp/Makefile
이렇게 파일을 복사한 후 /var/yp/Makefile을 보면 B=-b와 B= 이라는 부분이 있는데 DNS서비스를 받을려면 B= 에 주석을 달고 B=-b에 있는 주석을 제거해야 합니다. 이렇게 설정해 두고 /etc/rc.local 에서 ypxfrd; echo -n ' ypxfrd'의 주석을 제거합니다. 그리고 domainname명령으로 시스템의 도메인이름을 설정한 후 ypinit로 NIS 데이터베이스를 설치합니다.
# /usr/etc/yp/ypinit -m
위와 같이 입력하면 몇가지 질문이 나오는데, 환경에 맞게 대답하면 /var/yp에 여러가지 파일이 생성되고/var/yp/도메인이름 디렉토리가 생깁니다. 마지막으로 /etc/resolv.conf파일에 DNS 서버를 지정한 후 재부팅하면 DNS서비스를 받을 수 있습니다. 자세한 내용은 SunOS 4.1.3의 메뉴얼중 NIS에 관련된 내용을 참조하시기 바랍니다.
3.27 공개 NMS를 구하려면?
http://netman.cit.buffalo.edu에 가시면 공개 NMS를 받을 수 있습니다.
3.1 허가된 IP에서만 네트웍접속이 가능하게 하려면?
TCP Wrapper프로그램을 구하셔서 설치하시면 됩니다. 이 프로그램을 이용하면 telnet, ftp등 대부분의 서비스에서 접근을 제어할 수 있습니다.
3.2 Shell을 바꾸었더니 ftp로 로긴이 안됩니다.
ftp daemon은 /etc/shells에 등록된 shell을 사용하는 계정만 접속을 허용합니다. 만일 /etc/shells파일이 없는경우에는 /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는 파일에 적어주지 않으면 ftp로 접속이 되지 않습니다.
3.3 비밀번호없이 ftp나 telnet으로 접속하는 방법이 있을까요?
~/.netrc파일을 사용하시면 됩니다. 자세한 내용은 man netrc로 살펴보시고, 간단하게 말씀드리자면, ~/.netrc파일을 만들고 내용을 다음과 같이 만듭니다.
% cat ~/.netrc
machine a.example.com
login guest
password 1234
machine b.example.com
..
%
위와 같이 작성해 두시면 ftp로 a.example.com을 접속하면 ID와 비밀번호를 묻지 않고 바로 login이 됩니다. 그리고 이 파일을 만들때 주의하실 사항은 남들이 이 파일을 볼 수 없도록 chmod를 이용하여 소유권을 바꿔야 합니다. 만일 적당하지 않은 소유권으로 되어 있는경우에는 작동하지 않습니다. 일반적으로 400나, 600를 사용하시면 됩니다. 하지만 가능하면 이 방법은 사용하지 않는게 좋습니다. :)
rlogin을 사용하셔도 됩니다. 우선 접속하고자 하는 시스템의 홈디렉토리에 .rhost파일을 만들고 (접속을 허용하는 시스템이름 계정 쌍으로 만드시면 됩니다.) 접속할때는 rlogin 원격시스템이름 -l 계정으로 접속하시면 됩니다. 하지만 보안상 별로 좋은 방법은 아니니, 꼭 필요할때가 아니면 쓰지 마세요.
3.4 특정사용자는 ftp로 접속하지 못하게 하고싶습니다.
/etc/ftpusers파일에 적어주면 됩니다. 만일 aaa와 bbb사용자는 ftp로 접속하지 못하게 하려면 아래와 같이 파일을 만들면 됩니다.
% cat /etc/ftpusers
aaa
bbb
%
3.5 텍스트 파일에서 줄의 끝에 ^M이 붙어있습니다.
DOS와 UNIX간에 텍스트파일의 차이때문입니다. DOS에서는 라인구분을 CR+LF를 사용하고, UNIX에서는 LF만을 사용합니다. 따라서 DOS의 텍스트파일을 UNIX로 보내면 끝에 CR이 보이게 됩니다. (참고로 맥은 CR만을 사용합니다.)
^M을 안나오게 하려면 전송할때 binary대신 ascii로 재전송하거나, dos2unix등의 프로그램을 이용하거나, vi, sed등을 이용해서 ^M을 제거하면 됩니다. vi를 사용할때는 :1,$s/^M$// 와 같이 입력하면 되고, sed를 쓸 때는 sed 's/^M$//' oldfile > newfile과 같이 사용하면 각 줄의 끝에 있는 ^M을 지워줍니다. (^M을 입력할때는 Ctrl키를 누른상태에서 v와 m을 누르면 됩니다.)
3.6 ftp 사용을 일괄적으로 처리하려면?
가끔 이런 생각을 할때가 있습니다. ftp를 이용해서 다른 서버에 있는 파일을 가져오는데 항상 같은 파일을 가져온다면 매번 명령을 직접 입력하는게 귀찮아서 한꺼번에 하는 방법이 없을까? 라구요. 물론 expect를 써서 수행해도 되지만 ftp자체에 일괄적으로 처리하는 방법을 제공합니다. 만일 hostname에 접속해서 userid와 passwd를 입력하고 something이란 파일을 가져온 후 something2란 파일을 올리고 종료하려면 아래와 같은 파일을 만들어서 ftp를 호출하면 됩니다.
$ cat ftp.cmd
open hostname
user userid passwd
get something
put something2
bye
$ cat ftp.cmd | ftp -n
3.7 ftp로 어떤 서버에 접속을 하니 파일이 하나도 보이지 않습니다.
아마도 특정내용을 한글로 출력해서 파일이 보이지 않는것 같습니다. 사용자입장에서는 한글로 출력하는 내용을 잘 처리하는 ftp 프로그램을 사용하시면 됩니다. 만일 서버에서 날짜정보를 한글로 출력하지 않으려면 /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의 메뉴얼을 보면 잘 나와있지만, 간단히 설치하려면 ftp://ftp.math.fsu.edu/pub/solaris/ftp.anon를 root디렉토리에서 실행하시면 됩니다. Solaris 2.5 이상에서는 아래의 작업으로 두개의 파일을 더 복사해 주시면 됩니다.(~ftp를 ftp가 설치된 디렉토리라고 가정합니다.)
% cp /devices/pseudo/tl@0:ticlts ~ftp/dev/ticlts
% chmod 666 ~ftp/dev/ticlts
% cp /usr/lib/libmp.so.* ~ftp/usr/lib
3.9 ftp로 접속해서 만든 파일의 모드는 어떻게 결정되나요?
Solaris 2.6을 사용하고, 시스템의 기본적인 in.ftpd를 사용한다면 /etc/default/ftpd에 UMASK= 부분을 수정하시면 원하는 umask를 설정하실 수 있습니다.
wu-ftpd를 사용한다면 wu-ftpd를 띄울때 -u 옵션을 사용하여 변경할 수 있습니다.
3.10 wu-ftpd 2.4에서 last명령으로 ftp접속기록이 나오게 하려면?
wu-ftpd 2.4는 기본적으로 utmpx 구조를 지원하지 않습니다. 그 때문에 last명령으로 ftp접속기록이 나오지 않습니다. 만일 wu-ftpd 2.4에서 wtmpx구조를 지원하게 하려면 ftp://ftp.wins.uva.nl/pub/solaris에 있는 패치를 설치하면 됩니다.
3.11 wu-ftpd에서 접속시 메시지를 출력하려면?
/etc/ftpaccess파일을 아래와 같이 편집하면 됩니다.
message /.welcome login # 사용자가 로긴할때 나오는 메시지
message .message cwd=* # 특정 디렉토리에를 접근할 때 나오는 메시지
banner /.banner # 서버에 접속할때 나오는 메시지
3.12 telnet으로 접속한 상태에서 잠시 local작업을 하려면?
telnet으로 원격시스템을 사용하는 도중에 Escape character를 누르시면 telnet prompt가 나타납니다. 여기에서 여러가지 telnet명령어들을 사용할 수 가 있는데, 그중에서 z명령을 사용하시면 telnet프로세스가 foreground에서 background로 전환됩니다. 이렇게 전환해 두시고 local에서 필요한 작업을 하시고 jobs로 Job ID를 확인한 후 fg %JobID 로 돌아오시면 됩니다.
기본적으로 telnet에서 Escape character는 ^]로 되어 있습니다. 이럴경우 몇군데 접속했다가 ^]를 사용하면 모두 빠져나오기 때문에 Escape character를 바꾸고 싶다면 telnet으로 접속하실때 -e 옵션을 사용하시면 됩니다. 만일 Ctrl+p를 Escape character로 사용하시려면 다음과 같이 입력하시면 됩니다.
% telnet -e ^p hostname
위에서 ^p 는 Ctrl이 아닌 단순한 ^키와 p키를 사용하시면 됩니다.
-e 옵션 이외에 Escape character를 변경하는 방법으로는 telnet prompt에서
--------------------------------------------------------------------------------
set escape ^p
--------------------------------------------------------------------------------
를 입력하거나, ~/.telnetrc에 hostname set escape ^p 한줄을 넣어두면 hostname에 접속할때는 Escape character가 ^p가 됩니다.
3.13 telnet등에서 내용을 암호화해서 전송하려면?
telnet이나 rlogin등으로 원격시스템에 접속을 하면 비밀번호등이 평문으로 전송되기 때문에 보안에 문제가 될 수 있습니다. 따라서 이 메시지를 암호화 해서 보내는 프로그램들이 많은데 그중에서 대표적인 프로그램으로 ssh(Secure Shell)가 있습니다.
ssh를 양쪽 시스템에 설치하고 (ssh는 일반사용자도 설치해서 쓸 수 있습니다.) ssh, slogin, scp등을 사용하시면 암호화해서 자료를 전송해 줍니다. (Win95나 Mac에서는 ssh를 지원하는 터미널 프로그램을 사용하시면 됩니다.) 이뿐만 아니라 X 프로그램을 Network에서 실행할 때도 암호화 해 줍니다. ssh에 관한 내용은 http://www.cs.hut.fi/ssh/와 http://www.uni-karlsruhe.de/~ig25/ssh-faq/를 참조하세요. (신정식님)
3.14 telnet으로 하이텔등에서 프로그램을 다운로드 받으려면?
z-modem 프로토콜을 지원하는 ztelnet프로그램을 사용하시면 됩니다. ztelnet은 ftp://ftp.nuri.net/pub/hangul/network/ 에서 소스를 받을 수 있습니다.
3.15 웹서버를 설치하려면?
여러가지 웹서버를 설치할 수 있지만 가장 많이 사용되는 apache웹서버를 설치하려면 Apache의 홈페이지 http://www.apache.org를 참조하는게 좋습니다. 만일 영어에 익숙하지 않다면 한국 apache서버그룹 http://www.uriel.net/~intexp/apache를 참조하시기 바랍니다.
3.16 웹사이트에 대한 접속통계를 내려면?
웹서버는 클라이언트로 부터의 요청을 log파일에 남겨둡니다.(apache의 경우 access_log) 이 로그파일을 이용해서 보기쉬운 형태로 만들어주는 프로그램들이 많이 있습니다. 최경렬님은 아래의 세가지를 추천하시더군요. http://webtrends.advernet.co.kr http://www.mrunix.net/webalizer http://www.ics.uci.edu/pub/websoft/wwwstat
3.17 시스템에 메일이 도착했을때 다른 계정으로 메일을 보내려면 어떻게 하면 되나요?
홈디렉토리에 .forward파일을 만들어서 보낼 계정의 전자메일주소를 적어주면 됩니다. 만일 aaa@bbb.com으로 메일을 보내려면 다음과 같이 만들면 됩니다.
% cat $HOME/.forward
aaa@bbb.com
이렇게 설정해 둔 경우 처음 받은 시스템에 메일이 없습니다. 리다이렉션도하고 메일도 보관을 하려면 계정앞에 \ 를 쓰면 됩니다. 아래는 louis@white로 메일이 왔을때 louis@taegu로 메일을 보내고 white에도 보관해 두는 예제입니다.
% cat ~/.forward
\louis@white
louis@taegu
%
메일이 도착했을때 자동으로 프로그램이 실행되게 하려면 | 를 사용하면 됩니다. 홈디렉토리에 .forward파일을 만들고 아래의 형식으로 적어주시면 됩니다.
|program
아래는 louis@white로 메일이 왔을때 /export/home/louis/ttt라는 파일 의 내용을 louis@kebi.com으로 메일보내는 예제입니다.
% hostname
white
% cat ~/.forward
|/export/home/louis/act
% cat /export/home/louis/act
#!/sbin/sh
PATH=/sbin:/usr/bin
mail louis@kebi.com > /export/home/louis/ttt
하지만 관리자가 보안상의 이유로 smrsh를 설치했다면 관리자가 지정한 프로그램만 위의방법을 이용해서 실행할 수 있습니다. (최경렬님)
3.18 계정명에 대문자가 들어있는경우 메일을 받으려면?
sendmail을 MTA로 사용하시는 경우에 sendmail.cf의 Mlocal로 시작하는 부분에 보시면 F=이라고 된 부분이 있습니다. 이곳에 u를 추가하면 대문자로 된 계정에서도 메일을 받아볼 수 있습니다. 그리고 procmail을 사용하신다면 3.10이상으로 업그래이드하셔야 합니다. 하지만 계정에는 대문자를 안 쓰시는게 좋습니다. (특히 NIS+를 쓸경우 말썽을 많이 부립니다.)
3.19 메일을 보내는 사람에게 자동으로 일정한 메시지를 답장으로 주려면?
잠시 E-mail을 확인하지 못해서, 메일을 보내는 사람들에게 일정한 메시지로 답장을 자동으로 보내고 싶을때가 있습니다. 이때는 /usr/bin/vacation을 사용하면 됩니다. 만일 계정이 louis이라면 .forward파일에 아래와 같은 줄을 삽입하면 됩니다. 그리고 편지의 내용은 $HOME/.vacation.msg에 적어넣으면 됩니다.
% cat $HOME/.forward
\louis
"|/usr/bin/vacation louis"
%
위와 같이 해 두면 받은 메일은 메일박스에 저장되고 자동으로 답장이 보내집니다. 참고로 자세한 내용은 vacation의 메뉴얼을 참조하시기 바랍니다.
3.20 메일계정만 주고, shell계정을 안주는 방법
일반 계정에 shell을 noshell등으로 비정상적인 shell을 지정해두면 비슷한 효과를 거둘 수 있습니다. 또한 uid가 같은 계정에서도 메일을 주고 받는데는 상관이 없습니다.
3.21 tin에서 뉴스서버지정
NNTPSERVER 환경변수에 지정하시면 됩니다. 만일 csh을 사용한다면 setenv NNTPSERVER 뉴스서버 이름 과 같이 .cshrc에 지정해 두시면 됩니다.
3.22 Windows환경의 자원을 UNIX에서 사용하려면?
Windows에서 사용하는 SMB프로토콜을 UNIX에서 사용할 수 있도록 만든 Samba를 사용하시면 됩니다. Samba에 관한 내용은 박재호님의 http://www.kies.co.kr/~jhpark/Samba/samba/samba.html를 참고하시기 바랍니다.
Win98에서는 암호로 DES를 사용하기 때문에 로긴이 안됩니다. 이문제를 해결하려면 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 시스템의 IP Address를 변경하고 싶습니다.
IP Address를 변경할때 시스템의 이름과 함께 변경하는 방법과, 이름은 그대로 두고 IP Address만 변경하는 경우가 있습니다. 후자의 경우에는 /etc/hosts에서 시스템의 이름에 해당하는 IP Address를 바꾸고 재부팅을 하시면 됩니다. 만일 재부팅 할 환경이 안된다면 ifconfig명령으로 IP Address를 변경하시면 됩니다. 그리고 시스템의 이름과 함께 변경한다면 /etc/hostname.hme0나 /etc/hostname.le0에 적힌 시스템의 이름을 변경하고 /etc/hosts에 변경하면 됩니다. 참고로 IP Address의 설정은 /etc/rcS.d/S30rootusr.sh에서 이루어집니다.
3.24 하나의 Adapter에 두개의 IP address를 할당하려면?
ifconfig에서 네트웍 디바이스를 지정할 때 hme0:1 로 해 보세요. 하나 더 추가를 하고 싶다면 hme0:2 로 하면 되겠죠?
% ifconfig hme0:1 xxx.xxx.xxx.xxx 255.255.255.0 up
3.25 gateway설정은?
Solaris 2.x의 default gateway의 설정은 /etc/rc2.d/S69inet에서 합니다. 이때 /etc/defaultrouter파일의 내용을 읽어서 설정합니다. 따라서 default gateway의 설정은 /etc/defaultrouter파일을 수정하시면 됩니다.
임시로 gateway를 설정하려면 route명령을 사용하면 됩니다.
default gateway가 아닌 gateway설정을 영구히 하려면 /etc/rc2.d/S69inet 에 route명령을 사용하여 추가하시기 바랍니다.
3.26 DNS서비스를 받으려면?
Solaris 2.x에서 DNS서비스를 받으려면 /etc/resolv.conf파일과 /etc/nsswitch.conf파일을 수정해야 합니다.
% cat /etc/resolv.conf
search [도메인이름]
nameserver [서버의 IP주소]
% cat /etc/nsswitch.conf
.
hosts: files dns
.
SunOS 4.x에서 DNS서비스를 받으려면 NIS관련 프로그램을 설치해야 합니다. 아래의 절차를 따라해 보시기 바랍니다.
# mkdir /var/yp
# cp /usr/lib/NIS.Makefile /var/yp/Makefile
이렇게 파일을 복사한 후 /var/yp/Makefile을 보면 B=-b와 B= 이라는 부분이 있는데 DNS서비스를 받을려면 B= 에 주석을 달고 B=-b에 있는 주석을 제거해야 합니다. 이렇게 설정해 두고 /etc/rc.local 에서 ypxfrd; echo -n ' ypxfrd'의 주석을 제거합니다. 그리고 domainname명령으로 시스템의 도메인이름을 설정한 후 ypinit로 NIS 데이터베이스를 설치합니다.
# /usr/etc/yp/ypinit -m
위와 같이 입력하면 몇가지 질문이 나오는데, 환경에 맞게 대답하면 /var/yp에 여러가지 파일이 생성되고/var/yp/도메인이름 디렉토리가 생깁니다. 마지막으로 /etc/resolv.conf파일에 DNS 서버를 지정한 후 재부팅하면 DNS서비스를 받을 수 있습니다. 자세한 내용은 SunOS 4.1.3의 메뉴얼중 NIS에 관련된 내용을 참조하시기 바랍니다.
3.27 공개 NMS를 구하려면?
http://netman.cit.buffalo.edu에 가시면 공개 NMS를 받을 수 있습니다.