[RHEL6] 서버 및 클라이언트 명령어 3탄(newaliases, nfs, nfsstat, portmap)
본문 바로가기
IT 이야기/Linux 명령어

[RHEL6] 서버 및 클라이언트 명령어 3탄(newaliases, nfs, nfsstat, portmap)

by 찬찬이 아빠 2020. 2. 5.
반응형
  8. newaliases(데이터베이스 갱신)

 1) 경로 : /usr/sbin/newaliases

 2) 요약 : 샌드 메일 서버의 aliases 파일 데이터베이스를 업데이트

 3) 사용 방법 : newaliases

 4) 추가 설명

newaliases 명령어는 /etc/mail/sendmail.cf 파일에서 정의한 AliasFiles 지시자의 /etc/mail/aliases 파일을 업데이트 합니다.

또한 newaliases 명령어는 aliases 파일의 변경 내역을 체크하여 변경된 경우에만 결과값을 반영합니다. 이는 sendmail 명령어의 -bi 옵션과 동일합니다.

 

 

※ /etc/mail.aliases 파일은 배포판 마다 다를 수 있습니다. 정확한 위치는 sendmail.cf 파일의 AliasFiles 지시자를 확인합니다.

 

 

  9.nfs(NFS 서버 서비스)

 1) 경로 : /etc/init.d/nfs

 2) 요약 : NFS 서버를 구동하는 서버 데몬

 3) 추가 설명

NFS(Network File System)를 이용하면 유닉스 시스템 간에 파일 시스템을 원격으로 마운트하여 공유할 수 있습니다. 네트워크 파일 시스템의 공유 설정을 위해서 /etc/exports 파일을 수정해야 합니다.

 

# vim /etc/exports
/hdc1 client.chanchan.co.kr(ro)
/book 192.168.1.2(rw)

 

첫 번째 줄은 client.chanchan.co.kr 호스트가 /hdc1 데릭터리를 읽기 전용, 두 번째 줄은 192.168.1.2 호스트가 /book 디렉터리를 읽기/쓰기용으로 마운트 할 수 있도록 허용하는 설정입니다. 설정 파일에서 괄호 안에 자주 쓰이는 옵션은 다음과 같습니다.

옵션 설명
ro 읽기 전용으로 마운트를 허용. 기본값
rw 읽기/쓰기로 마운트 허용
noaccess 허용된 디렉터리 중 일부 디렉터리에 대해 허가를 제한
root_squash 클라이언트에서의 root 요청을 서버의 nobody와 같은 익명 UID, GID로 지정하여 root 권한으로 접근을 거부. 기본값
no_root_squash root_squash와 ㅂㅏㄴ대로 서버와 클라이언트에서의 root 권한으로 접근을 허용
all_squash root를 제외한 서버와 클라이언트의 사용자 UID, GID를 같은 권한으로 일치시킴
no_all_squash all_squash와 반대로 몯느 사용자의 UID, GID를 nobody로 지정

 

설정을 수정한 후에는 nfs 데몬을 실행합니다.

# /etc/init.d/nfs start
Starting nfs .......... [OK]

 

서버 설정이 에러 없이 끝났다면 유저의 리눅스 시스템에서 아래와 같이 mount -t nfs 명령으로 원격 서버의 파일 시스템을 마운트해 봅니다. 시스템 타입은 nfs로 지정하고, chanchan.co.kr NFS 서버 호스트에서 접근을 허용해 준 /hdc1 디렉터리를 클라이언트의 /mnt/data 디렉터리로 마운트 합니다.

# mount -t nfs chanchan.co.kr:/hdc1 /mnt/data

 

※ 관련 파일 위치

● /var/lib/dpkg/avaliable : 시스템에서 이요할 수 잇는 패키지 정보

● /var/lib/dpkg/status : 시스템에서 이용할 수 있는 패키지 상태 정보

● /etc/apt/sources.list : APT 패키지 소스 목록

● /etc/apt/apt.conf : APT 설정 파일

● /etc/dpkg/dpkg.cfg : dpkg의 기본 옵션을 포함한 설정 파일

● /var/chche/apt/archives : APT 패키지의 캐시 아카이브 파일 디렉터리

 

 

 

  10. nfsstat(NFS 통계)

 1) 경로 : /usr/sbin/nfsstat

 2) 요약 : NFS 통계 리스트를 출력

 3) 사용 방법 : nfsstat [옵션]

 4) 옵션

 -2 : NFS 버전2 통계만 출력. 기본값은 제로 카운트가 아닌 NFS 버전 정보만을 출력

 -3 : NFS 버전3 통계만 출력

 -4 : NFS 버전4 통계만 출력

 -c, --client : 클라이언트 통계만 출력

 -l, --list : 리스트 폼에 있는 정보를 출력

 -m, --mounts : NFS 마운트한 각각의 파티션 정보만 출력. 이 옵션을 사용하면 다른 옵션은 모두 무시됨

 -n, --nfs : NFS 통계만 출력. 기본값은 NFS와 RPC정보 모두 확인

 -o facility : 지정한 기능(facility)의 통계만 출력. 아래 표 제시된 값 중 반드시 하나만 지정

기능 설명
nfs nfs RCP 콜로 분리한 NFS 프로토콜 정보
rpc 일반적인 RPC 정보
net 받은 패킷 수나 TCP 연결 개수 등의 네트워크 레이어 통계
fh lookups의 전체 수나 히트나 실패 수를 포함하여 서버의 파일 핸들 캐시의 정보를 출력
rc lookups의 전체 수나 히트나 실패 수를 포함하여 서버의 요청 응답(request reply) 캐시 정보를 출력
all 위의 기능을 모두 출력

 -r, --rpc : RPC 통계만 출력

 -s, --server : 서버의 통계만을 출력. 기본값은 서버와 클라이언트 통계를 출력

 -S, --since file : 현재 통계를 출력하지 않고, 파일(file)로부터 추출한 통계와 현재 통계와의 차이를 출력. 입력 파일(file)의 형태는 /proc/net/rpc/nfs이나 /proc/net/prc/nfsd, 그리고 nfsstat에서 출력한 내용의 파일 형태이어야 함. 잘못된 nfsstat 출력 파일은 없는 것으로 취급

 -v, --verbose : -o all 옵션과 같음

 -Z[interval], --sleep=[interval] : 현재의 통계를 출력하고 바로 빠져 나오지 않고, 현재의 통계를 스냅샷으로 찍은 후 대기 상태가 됨. 추가적인 SIGINT(Ctrl+C) 입력 시점에 또 다른 스냅샷을 찍은 후 둘 사이의 차이를 출력. 만일 간겨(interval)을 지정하면, nfsstat 명령어는 이전의 기록 이후부터 NFS 콜로 만들어진 수를 출력하고 매 간격(interval) 초마다 반복적으로 통계 정보를 출력

 

 5) 추가 설명

nfsstat 명령어는 NFS 서버와 클라이언트의 종합적인 통계 자료를 확인할 수 있습니다. 만일 NFS 서버와 관련하여 문제점을 확인하거나 해결할 때 반드시 필요한 명령어입니다.

// 서버 정보 출력
# nfsstat -s

// 클라이언트 정보 출력
# nfsstat -c

// 마운트한 NFS 파일시스템 정보 출력
# nfsstat -m

// NFS 버전별 정보를 모두 출력
# nfsstat -verbose -234
# nfsstat -o all -234

// NFS 버전3의 NFS 통계를 출력
# nfsstat-nfs-server -3

 

 

 

  11. portmap(포트 번호 변환)

 1) 경로 : /sbin/portmap

 2) 요약 : RPC 프로그램 이름을 DARPA 프로토콜 포트 번호로 변환

 3) 사용 방법 : portmap [-d][-f][-t dir][-v][-V][-i address][-l][-u uid][-g gid]

 4) 옵션

 -d : 디버깅 정보를 출력

 -f : 포그라운드로 실행하고, 명령행에 로그 메시지를 출력

 -i address : 지정한 주소(address)로 포트맵을 바인딩. 만인 127.0.0.1로 지정하면 로프백 인터페이스로 바인딩

 -l : 포트맵을 루프백 주소인 127.0.0.1로 바인딩. 이는 -i 127.0.0.1과 같음

 -t dir : 지정한 디렉터리(dir)로 루트 디렉터리를 변경. 디렉터리는 비어 잇어야 하며 데몬 사용자에게 쓰기 권한을 부여하면 안됨. 파일 시스템은 읽기 전용, noexec, nodev, nosuid로 지정하는 것이 바람직함

 -u uid, -g gid : 사용자 IO(uid)와 그룹 ID(gid) 권한으로 실행

 -v : 상세 정보를 출력

 -V : 버전 정보를 출력

 

 5) 추가 설명

portmap 명령어는 RPC(Remote Process Call) 프로그램 번호를  TCP/IP(또는 UDP/IP) 프로토콜 번호로 변환합니다. 보통 RPC 기반에서 동작하는 NFS 서버를 매핑하기 위해서 사용합니다. RPC 서버가 시작하면 Listen 모드가 되고 포트 번호를 포트맵에게 알려줍니다. 이 때 클라이언트에서는 RPC 서버에 접속하여 RPC 패킷을 어디로 보낼지 결정합니다. 

 

아래는 /etc/init.d에 있는 포트맵 데몬을 service 명령으로 실행합니다.

# service portmap start
portmap start/running, process 7325

# service portmap stop
portmap stop/waiting

 

아래와 같이 portmap 명령으로 서버 데몬을 실행할 수도 있습니다. -v 옵션은 디버깅을 포함한 상세 정보를 출력합니다.

# portmap -v
# ps aux | grep portmap
daemon 7365 0.0.0.0 1808 612 ? Ss 15:57 0:00 portmap
user 7413 0.0.0.0 3064 816 pts/0 S+ 15:58 0:00 grep --color=auto portmap
반응형

댓글