도메인 네임 서버에 질의하여 결과값을 돌려받는 명령어이다.

사용법 : nslookup [-옵션...] [host_to_find | -서버] 

nslookup은 네임서버 설정을 점검하는 좋은 명령어다. /etc/resolv.conf에 지정되어 있는 네임서버를 기본값으로 인식하여 쿼리를 보낸다.
네임 서버에 대한 자세한 설명은 데몬 설명 부분을 참고 하자.

# cat /etc/resolv.conf 
nameserver 61.77.63.1 
nameserver 168.126.63.1 

noninteractive 모드로 찾고자 하는 호스트의 address를 쿼리를 할 수 있다. 만일 아래와 같은 에러 메시지가 나온다면 제대로된 네임서버 설정이 제대로 안된 결과이므로, 관련 설정을 살펴보아야 한다.

# nslookup linux.net 
** server can't find linuxroot.co.kr: NXDOMAIN 

아래와 같이, Name은 linux.net로 Address는 61.77.63.1로 /etc/resolv.conf의 내용과 동일하게 나오므로 네임서버의 설정이 이상 없음을 알 수 있다.

# nslookup linux.net 
Note:  nslookup is deprecated and may be removed from future releases. 
Consider using the `dig' or `host' programs instead.  Run nslookup with 
the `-sil[ent]' option to prevent this message from appearing. 
Server:         61.77.63.1 
Address:        61.77.63.1#53 

Name:   linux.net 
Address: 207.36.86.73 

interactiv 모드로 DNS 레코드 유형에 대해 자세한 쿼리를 할 수 있다. 이는, nslookup 명령 후 나타나는 ">" 입력 부분에 네임서버의 쿼리를 위한 레코드를 set type형태로 지정하여, 자세한 정보를 볼 수 있다.
먼저 set type=SOA 모드로 linux.net에 쿼리를 해 보자. 이를 통해 네임서버의 포워드 존 파일의 SOA 레코드 값들을 살펴 볼 수 있다.

# nslookup 
Note:  nslookup is deprecated and may be removed from future releases. 
Consider using the `dig' or `host' programs instead.  Run nslookup with 
the `-sil[ent]' option to prevent this message from appearing. 
> set type=type 
unknown query type: type 
> linux.net 
Server:         61.77.63.1 
Address:        61.77.63.1#53 

Non-authoritative answer: 
Name:   linux.net 
Address: 207.36.86.73 

Name:   realname 
Address: 211.106.67.221 
> set type=SOA 
> linux.net 
Server:         61.77.63.1 
Address:        61.77.63.1#53 

linux.net 
        origin = ns1.primarydns.com 
        mail addr = hostmaster.primarydns.com 
        serial = 200404060 
        refresh = 10800 
        retry = 3600 
        expire = 21600 
        minimum = 3600 



set type=MX 모드로 MX레코드를 쿼리해 보자.


> linux.net 
Server:         61.77.63.1 
Address:        61.77.63.1#53 

linux.net       mail exchanger = 0 sitemail.everyone.net. 
> 

type ANY 옵션으로 주어진 호스트명과 관련된 모든 리소스 레코드를 볼 수 있다.
관련 type 값은 다음과 같다.

> set type=ANY 
> linux.net 
Server:         61.77.63.1 
Address:        61.77.63.1#53 

Non-authoritative answer: 
linux.net       nameserver = ns1.primarydns.com. 
linux.net       nameserver = ns2.primarydns.com. 
Name:   linux.net 
Address: 207.36.86.73 
linux.net 
        origin = ns1.primarydns.com 
        mail addr = hostmaster.primarydns.com 
        serial = 200404060 
        refresh = 10800 
        retry = 3600 
        expire = 21600 
        minimum = 3600 
linux.net       mail exchanger = 0 sitemail.everyone.net. 

Authoritative answers can be found from: 
linux.net       nameserver = ns1.primarydns.com. 
linux.net       nameserver = ns2.primarydns.com. 
ns1.primarydns.com      internet address = 216.219.239.7 
ns2.primarydns.com      internet address = 216.219.239.8 
sitemail.everyone.net   internet address = 216.200.145.35 

참고로 set type에 지정 가능한 관련 type 값을 살펴보자.
A : 호스트 어드레스
ANY : 대부분 관련된 정보
CNAME : 알리아스와 관련된 CNAME(Canonical name) 레코드 정보
HINFO : 호스트의 CPU와 운영체제를 지정하는 HINFO 레코드 정보
MD : MD(Mail Destination)레코드 정보
MG : MG(Mail group member)레코드 정보
MINFO : 메일박스나 메일리스트 관련인 MINFO(Mailbox or mail list information)레코드 정보
MR : MR(Mail rename)레코드 정보
MX : MX(Mail exchanger)레코드 정보
NS : NS(Nameserver)레코드 정보
PTR : 호스트 네임 지정 PTR 레코드 정보
SOA : SOA(Domain start-of-authortiy)레코드 정보
UINFO : UINFO(User information)레코드 정보
2005/06/17 15:32 2005/06/17 15:32
파일의 내용을 8진수 또는 다른 형식으로 덤프하여 보여준다.

사용법 : od [옵션] [FILE]... 
-a : 바이트를 문자로 표시한다. 
-b : 바이트를 부호 없는 8진수로 표시한다. 
-c : 바이트를 아스키문자 혹은 이스케이프 문자를 사용하여 표시한다. 
-d : 2바이트를 부호없는 (unsigned)십진수로 표시한다. 
-f : 4바이트를 부동소수점으로 표시한다. 
-h : 2바이트를 16진수로 표시한다. 
-i : 2바이트를 10진수로 표시한다. 
-l : 4바이트를 10진수로 표시한다. 
-o : 2바이트를 8진수로 표시한다. 
-x : 2바이트를 16진수로 표시한다. 
--help : 도움말을 보여준다. 
--version : 버전정보를 보여준다. 

파일을 원하는 형식으로 보여준다.
2005/06/17 15:29 2005/06/17 15:29
사용자 패스워드를 변경하는 명령어

사용법 : passwd [옵션] [사용자] 
-l : 지정한 사용자에게 락을 걸어 더 이상 접근하지 못하게 한다. 
-u : -l 옵션으로 락이 걸린 사용자에게 락을 풀어 준다. 
-d : 사용자의 패스워드를 삭제한다. 
-S : 지정한 사용자의 패스워드 암호화 정보를 보여준다. 

passwd 명령은 사용자의 패스워드를 변경한다. 시스템 관리에서 패스워드 보안에 매우 중요하다. 주기적으로 passwd 명령을 사용하여 패스워드를 변경함으로써 보안의 위험을 최소화할 수 있다. 또한 root는 자신뿐만 아니라 일반 사용자의 패스워드도 임의로 변경할 수 있다.
한 가지 유의할 것은 useradd 명령으로 사용자를 추가한 후 반드시 passwd 명령으로 패스워드를 생성해야 한다. 그렇지 않은 경우, 추가된 사용자는 로그인을 할 수 없다. 현재 root로 로그인하였으므로, 수퍼 유저의 패스워드를 변경하게 된다.

# passwd 
New password: 
Retype new password: 
password: all authentication tokens updated successfully 

수퍼유저는 사용자의 패스워드를 변경할 수도 있다.
passwd admin 명령으로 admin의 새로운 패스워드를 변경하여 보자.

# passwd admin 
New password: 
Retype new password: 
password: all authentication tokens updated successfully 

passwd 명령과 밀접한 관련이 있는 /etc/passwd의 형식을 한번 살펴 보자.
/etc/passwd은 username:password:uid:gid:gecos:homedir:shell의 형태로 되어 있다.

각필드는 다음과 같다.
------------------------------------------------------
username : 고유한 계정을 구별하는 사용자 아이디
password : 사용자의 패스워드가 암호화된 형태로, 사용자가 읽을 수 있다.
uid : 사용자 ID로써 계정을 구별하는 값이다.
gid : 그룹 ID로써 /etc/group과 관련된다.
gecos : 사용자의 실제이름, 주소, 전화번호 등의 정보가 있다.
homedir : 사용자의 홈 디렉토리
shell : 사용자가 로그인할 때의 셀
-------------------------------------------------------
2005/06/17 15:29 2005/06/17 15:29