- 2014.12.17
1. NFS_autofs 실습
기존에 사용하던 VMware 모두 제거하고 압축(class2) 2개 풀기
server client
1. HDD 1G, SCSI
2. automount 600, 400
3. Packages nfs nfs, autofs
4. mount 600(normal nfs), 400(autofs)
5. daemon O O
6. user 600(user1), 400(user2)
server VM 에 SCSI HDD 추가
각각 root password 재설정, init 5 부팅, grub 암호 설정
network setting 및 putty 연결 설정
1) server
HDD fdisk 및 포맷
# fdisk -l
# fdisk /dev/sdb
# mkfs.ext4 /dev/sdb1
# mkfs.ext4 /dev/sdb2
automount 설정 및 확인
# mkdir /sdb1 /sdb2
# vi /etc/fstab
19 /dev/sdb1 /sdb1 ext4 defaults 1 2
20 /dev/sdb2 /sdb2 ext4 defaults 1 2
# mount -a
# df -h
공유 설정
# vi /etc/exports
1 /sdb1 192.168.1.141(rw,no_root_squash,sync)
2 /sdb2 192.168.1.141(rw,no_root_squash,sync)
작동 잘 되는지 확인
# exportfs -ra
# exportfs -v
# rpcinfo -p
NFS 서비스에 대한 방화벽 설정
# system-config-firewall
NFS4 체크
111 / tcp 추가 : portmap 인데 추가 안하면 Client 측에서 확인이 불가하나, NFS4 만 해도 서비스는 가능하다.
daemon 설정 후 NFS 서비스 마지막으로 재시작
# chkconfig nfs on
= # ntsysv 에서 nfs 체크
# /etc/rc.d/init.d/nfs restart
2) client
Package 확인 및 설치
# rpm -qa | grep nfs
# rpm -qa | grep autofs
normal nfs 방식으로 mount
# mkdir /nfs_sdb1
# mount -t nfs 192.168.1.140:/sdb1 /nfs_sdb1
# df -h
autofs 방식으로 마운트
# vi /etc/autofs.conf
38 browse_mode = yes
# vi /etc/auto.misc
16 nfs_sdb2 -rw,hard,intr 192.168.1.140:/sdb2
daemon 설정 및 autofs 재시작
# chkconfig nfs on
# chkconfig autofs on
# /etc/rc.d/init.d/autofs restart
autofs 방식 mount 확인
# ll /misc/nfs_sdb2/
# df -h
사용자 추가
# useradd -d /nfs_sdb1/user1 user1
# useradd -d /misc/nfs_sdb2/user2 user2
# passwd user1
# passwd user2
하지만 user의 홈 디렉터리를 보면 skel 들의 소유자가 nobody 이다.
그 이유는 클라이언트 쪽에서 사용자를 만들었지만 그 사용자를 서버에선 알지 못하기 때문이다.
서버에 같은 user를 추가한다.
# useradd -d /sdb1/user1 -u 501 user1
# useradd -d /sdb2/user2 -u 502 user2
하지만 실제로 이런 방식을 사용하지 않는다.
부팅 시 자동 마운트 되도록 설정하려면 아래처럼 설정한다.
# vi /etc/fstab
19 192.168.1.140:/sdb1 /nfs_sdb1 nfs defaults 1 2
2. DNS
DNS : Domain Name Server(Service)
IP Address 를 사용자가 알기 쉬운 Domain 형식으로 변환해주는 인터넷에 있어 가장 중심적이고 핵심적인 서비스이다.
Domain Name?
네트워크에 연결되어 있는 모든 시스템에는 숫자의 조합으로 구성된 주소를 가지고 있다. 하지만 이러한 주소를 다 외우기란 불가능하므로 알파벳으로 이루어진 도메인 이름을 사용한다.
도메인 등록 원칙
도메인 이름은 영문자(a-z) 26개, 숫자(0-9) 10개, 특수기호 (-) 1개를 합쳐 총 37개의 글자 조합으로 나타낼 수 있다. 영문자의 경우 대문자 소문자의 구별은 하지 않으며 특수기호인 (-)은 도메인의 처음과 끝에 올 수 없다.
도메인의 이름의 체계는 피라미드 구조를 하고 있으며, 각 단계별로 독자적으로 관리한다.
www.whois.co.kr 에서 Domain 정보 확인 가능
1) /etc/hosts 파일 내용
# vi /etc/hosts
3 #[IP-Address] [FQDN] [Alias]
4 192.168.1.140 www.mydomain.co.kr mydomain
2) /etc/resolv.conf 파일 내용
호스트가 사용할 DNS 서버의 주소를 설정하여 준다.
자신의 호스트가 DNS 서버라면 자신의 IP 주소를 적어줘야 한다.
# vi /etc/resolv.conf
1 # Generated by NetworkManager
2 domain mydomain.co.kr
3 search mydomain.co.kr
4 nameserver 192.168.1.140 NS_IP
5 nameserver 192.168.1.2 NS_GW
6 nameserver 168.126.63.1 Super DNS
위 순서대로 적용되기 때문에 이대로 적어줘야 한다.
시스템 종료되면 /etc/resolv.conf 파일은 초기화 된다.
자세한 /etc/resolv.conf 실습은 다음 시간에 이어서 한다.
'Study > CentOS' 카테고리의 다른 글
| [32] DNS 실습 with VNC (0) | 2015.04.06 |
|---|---|
| [31] bind, DNS실습 (0) | 2015.04.06 |
| [29] autofs(2), su - 명령어 제한 (0) | 2015.04.04 |
| [28] nfs(2), nfs auto mount, autofs(1) (0) | 2015.04.04 |
| [27] auto mount, 응급복구, nfs(1) (0) | 2015.03.28 |
- 2014.12.16
1. autofs
[환경설정]
HDD : 1G, SCSI
Partition : 100, 200, 300, 400
automount 및 autofs 설정, userpartition : 100M
모든 설정 완료 후 계정 samadal의 정보를 변경하세요~~!!!
시스템 종료하고 HDD 추가, 다시 켠 다음 fdisk로 파티션설정 후 mkfs로 포맷
mount point(/SCSI/sdb1~4) 생성 후 automount 설정
# vi /etc/fstab
19 /dev/sdb1 /SCSI/sdb1 ext4 defaults 1 2
20 /dev/sdb2 /SCSI/sdb2 ext4 defaults 1 2
21 /dev/sdb3 /SCSI/sdb3 ext4 defaults 1 2
22 /dev/sdb4 /SCSI/sdb4 ext4 defaults 1 2
마운트 잘 되나 확인
# mount -a
# df -h
fstab 의 경우는 재부팅 해주는 것이 좋다.
# init 6
[autofs server 측 설정]
nfs service 설치 되어있나 확인 후 nfs 설정 및 서비스 시작
# rpm -qa | grep nfs
# vi /etc/exports
1 /SCSI/sdb1 192.168.1.0/24(rw,no_root_squash,sync)
2 /SCSI/sdb2 192.168.1.139(rw,no_root_squash,sync)
3 /SCSI/sdb3 192.168.1.139(rw,no_root_squash,sync)
4 /SCSI/sdb4 *(rw,no_root_squash,sync)
# /etc/rc.d/init.d/nfs restart
exports 변경에 대한 적용은 restart 말고 아래 명령어로도 진행 가능하다.
# exportfs -ra
시스템 시작 시 nfs 및 autofs 서비스 자동 실행 설정
# chkconfig nfs on
# chkconfig autofs on
다시 한번 전체적으로 확인
# exportfs -ra
# exportfs -v
# rpcinfo -p
[autofs client 측 설정]
autofs 사용 설정
# vi /etc/autofs.conf
38 browse_mode = yes
마운트 설정 적용 후 데몬 재시작
# vi /etc/auto.misc
17 sdb1 -rw,hard,intr 192.168.1.139:/SCSI/sdb1
18 sdb2 -rw,hard,intr 192.168.1.139:/SCSI/sdb2
19 sdb3 -rw,hard,intr 192.168.1.139:/SCSI/sdb3
20 sdb4 -rw,hard,intr 192.168.1.139:/SCSI/sdb4
# /etc/rc.d/init.d/autofs restart
설정 잘 되었는지 확인
# ll /misc/
# mount
mount 로 확인하려면 디렉터리에 접근 후 확인 가능하다. 일정시간 지나거나 접근이 없으면 마운트를 자동 해제하기 때문.
# df -h /misc/sdb1
[실습]
위 파티션 에 200(user1), 400(user2) 생성
# useradd -d /misc/sdb2/user1 user1
# useradd -d /misc/sdb4/user2 user2
# passwd user1
# passwd user2
* autofs 특징
일정 시간 이용하지 않으면 마운트 해제하여 리소스를 줄여준다.
다시 접근하려고 하면 다시 마운트 한다.
[문제]
기존 사용자는 유지
SCSI HDD 제거 후 아래와 같이 작업.
HDD(1G, IDE) : 500(Pri.), 300(Log.), 200(Pri.)
normal nfs : 500(samadal)
autofs : 300(user1), 200(user2)
client 측 기존 사용자 설정 백업
# mv /misc/sdb1/samadal/ /home/
# mv /misc/sdb2/user1/ /home/
# mv /misc/sdb4/user2/ /home/
server 측 설정
기존 설정들 주석 처리
# vi /etc/fstab
# vi /etc/exports
# vi /etc/auto.misc
시스템 종료하고 하드 추가, fdisk 및 mkfs 설정
mkdir(/IDE/sda1,3,5 /nfs_client/sda1 후 automount 설정
# vi /etc/fstab
23 /dev/sda1 /IDE/sda1 ext4 defaults 1 2
24 /dev/sda3 /IDE/sda3 ext4 defaults 1 2
25 /dev/sda5 /IDE/sda5 ext4 defaults 1 2
# vi /etc/exports
4 /IDE/sda1 192.168.1.139(rw,no_root_squash,sync)
5 /IDE/sda3 192.168.1.139(rw,no_root_squash,sync)
6 /IDE/sda5 192.168.1.139(rw,no_root_squash,sync)
재설정한 exports 항목 적용
# exportfs -ra
# exportfs -v
client 측 설정
서버측 설정 확인
# rpcinfo -p 192.168.1.139
normal nfs 방식으로 sda1 mount 및 확인
# mount -t nfs 192.168.1.139:/IDE/sda1 /nfs_client/sda1
# df -h
autofs 방식을 sda3, sda5 마운트
# vi /etc/auto.misc
21 IDE_sda3 -rw,hard,intr 192.168.1.139:/IDE/sda3
22 IDE_sda5 -rw,hard,intr 192.168.1.139:/IDE/sda5
server의 nfs, client의 autofs 서비스 재시작
# /etc/rc.d/init.d/autofs restart
# /etc/rc.d/init.d/nfs restart
사용자 계정 살리기
# mv /home/samadal/ /nfs_client/sda1/
# mv /home/user1/ /misc/IDE_sda5/
# mv /home/user2/ /misc/IDE_sda3/
# usermod -d /nfs_client/sda1/samadal samadal
# usermod -d /misc/IDE_sda5/user1 user1
# usermod -d /misc/IDE_sda3/user2 user2
헌데 user1도, user2도 su - 명령어로 root 권한 얻을 수 있다.
특정 사용자만 관리자 권한 얻을 수 있도록 변경해보자.
2. su - 명령어 제한
ssh 보안 접속 되는 계정 : user1
ssh 보안 접속 안되는 계정 : 그 외 계정
먼저 su 명령어 위치 확인해야한다.
# find / -name su -exec ls -l {} ;
/bin/su 에 있는 것을 알았다. 정보를 보니 SetUID 설정 되어 있는 것 확인 가능.
wheel 이라는 기존 그룹을 통해 관리자 명령어를 쓸 수 있게 해주자.
(다른 임의의 그룹을 통해 진행해도 된다.)
# chown .wheel /bin/su
# chmod 4750 /bin/su
# usermod -G wheel user1
'Study > CentOS' 카테고리의 다른 글
| [31] bind, DNS실습 (0) | 2015.04.06 |
|---|---|
| [30] nfs_autofs 실습, dns (0) | 2015.04.06 |
| [28] nfs(2), nfs auto mount, autofs(1) (0) | 2015.04.04 |
| [27] auto mount, 응급복구, nfs(1) (0) | 2015.03.28 |
| [26] vnc(2), vnc with ssh, ftp (0) | 2015.03.28 |
- 2014.12.15
1. nfs Server
NFS : Network File System
1) /etc/export 설정
NFS Service 를 구성하기 위한 설정내용을 작성하는 NFS의 주 설정 파일이며, 기본적으로 아무런 데이터도 입력되어 있지 않다.
아래 내용 입력
# vi /etc/exports
1 # NFS configure file (/etc/exports)
2
3 # [Share dir] [access allow host/network] (option)
4 /nfs_server 192.168.1.134 (ro,no_root_squash,sync)
5 # /nfs_server1 192.168.1.0/255.255.255.0 (rw,sync)
6 # /nfs_server2 *(sync) //all network allow
공유 디렉터리 Client ip (option)
※ nfs option
ro : 읽기 전용으로만 연결을 허용한다.
rw : 읽기 쓰기 가능하게 연결을 허용한다.
root_squash : NFS 설정 시 기본값이 되며 클라이언트측에 관리자가 접속 요청을 했을 때 익명 계정으로 연결을 허용한다.
no_root_squash : 클라이언트 측에 관리자가 접속 요청을 했을 때 서버 측에서의 관리자 계정으로 매핑을 시켜 연결을 허용한다.
no_all_squash : NFS 설정 시 기본값이 되며 클라이언트 측에 사용자가 접속 요청을 했을 때 서버 측에 동일한 사용자가 있으면 동일한 계정으로 연결을 허용한다.
해당 계정이 존재하지 않을 경우는 클라이언트의 UID, GID 값이 동일한 사용자로 연결 허용한다.
all_squash : 클라이언트 측에서 사용자로 접근 요청 했을 떄 익명 계정으로 연결을 허용한다.
anonuid=[UID] : 클라이언트 측에서 익명으로 접근 요청 시 지정한 UID 값의 계정으로 연결하게 된다.
anongid=[GID] : 클라이언트 측에서 익명으로 접근 요청 시 지정한 GID 값의 그룹으로 연결하게 된다.
noaccess : 공유 디렉터리 내에서 접근을 거부할 디렉터리가 있으면 사용한다.
sync : server & client 동기화시키기.
2) portmap 데몬의 동작 여부 확인
5 이전 버전의 경우 portmap service를 따로 재시작 해줘야한다.
# /etc/rc.d/init.d/portmap restart
portmap 데몬의 동작 여부 확인
# rpminfo -p
3) NFS 데몬 실행
portmap 동작이 확인 되었으면 NFS 서비스를 동작 시킨다.
# /etc/rc.d/init.d/nfs restart
헌데 아래와 같은 오류 메세지가 출력된다.
exportfs: Failed to stat /nfs_server: No such file or directory
exportfs: No host name given with /nfs_server (ro,no_root_squash,sync), suggest *(ro,no_root_squash,sync) to avoid warning
exportfs: Failed to stat /nfs_server: No such file or directory
먼저는 /nfs_server 라는 디렉터리가 없다고 하니 디렉터리 생성 후에 다시 재시작 해보자.
# mkdir /nfs_server
# /etc/rc.d/init.d/nfs restart
하지만 여전히 나오는 에러 메세지. read only 옵션이 문제인가? 해서 rw로 수정.
exportfs: No host name given with /nfs_server (ro,no_root_squash,sync), suggest *(ro,no_root_squash,sync) to avoid warning
# vi /etc/exports
4 /nfs_server 192.168.1.134 (rw,no_root_squash,sync)
# /etc/rc.d/init.d/nfs restart
여전히 오류난다.
알고보니 ip 와 옵션() 사이에 공백이 있으면 안되는 것. 공백 수정 후 리스타트하면 성공이다.
# vi /etc/exports
4 /nfs_server 192.168.1.134(rw,no_root_squash,sync)
4) NFS 동작 여부 확인
# netstat -lntup | grep nfs
NFS 서비스는 netstat으로 확인 불가하다. 아래 명령어로 확인 가능하다.
# rpcinfo -p
5) NFS 서버 확인
공유정보 확인
# exportfs -v
NFS의 설정(/etc/exports) 정보가 변경되었을 경우 NFS 서비스를 재시작 할 필요 없이 아래 명령어를 사용하여 변경된 내용을 적용할 수 있다.
# exportfs -ra
2. nfs - Client
NFS 서버가 정상적으로 동작하는지 확인
# rpcinfo -p 192.168.1.134
서버 ip
마운트포인트 생성
# mkdir /nfs_client/
# mount -t nfs 192.168.1.134:/nfs_server /nfs_client
type option server client mp
마운트 내역 확인
# df -h
[실습]
samadal 계정정보를 마운트시킨 /nfs_client 로 정보변경 후 samadal이 정상 로그인되는지 확인
# cp ./* ./.* /nfs_client
# mv /export/home/samadal/ /nfs_client/
# usermod -d /nfs_client/samadal samadal
# df -h
Filesystem Size Used Avail Use% Mounted on
192.168.1.134:/nfs_server
7.6G 336M 6.9G 5% /nfs_client
근데 최상위가 있는 파티션을 빌려줬다...?
=> nfs는 디렉터리를 빌려주는 것이 아니라 마운트 된 디렉터리가 있는 파티션을 빌려주기 때문.
[문제]
samadal을 제외한 모든 사용자 삭제 및 IDE HDD 제거하신 후 HDD SCSI 1G : 100(user1), 200, 300, 400
자동마운트, nfs server 설정 후 user1 생성하세요
/etc/fstab 내용에 추가한 것 삭제하여 부팅 시 오류 발생을 막는다.
# vi /etc/fstab
계정 삭제 위해 계정 정보 확인
# tail /etc/passwd
# userdel -r user1
# userdel -r clang1
# userdel -r clang2
# userdel -r linux1
# userdel -r linux2
# userdel -r ms1
# userdel -r ms2
# userdel -r na
# userdel -r np
시스템 종료
# init 0
HDD 삭제 및 추가, 재부팅 하여 필요 없는 mount point 삭제
# rm -rf /Anon/ /Clang/ /Linux/ /Ms/ /Net/
새로 추가한 HDD의 파티션 및 포맷 설정
# fdisk -l
# fdisk /dev/sdb
# mkfs.ext4 /dev/sdb 1~4
mount point 생성 후 auto mount 설정
# mkdir /SCSI/
# cd /SCSI/
# mkdir sdb1 sdb2 sdb3 sdb4
# vi /etc/fstab
19 /dev/sdb1 /SCSI/sdb1 ext4 defaults 1 2
20 /dev/sdb2 /SCSI/sdb2 ext4 defaults 1 2
21 /dev/sdb3 /SCSI/sdb3 ext4 defaults 1 2
22 /dev/sdb4 /SCSI/sdb4 ext4 defaults 1 2
# mount -a
# df -h
마운트 되는 것 확인하면 재부팅 해보는 것이 좋다.
[NFS Server 측 설정]
# vi /etc/exports
4 /SCSI/sdb1 192.168.1.134(rw,no_root_squash,sync)
5 /SCSI/sdb2 192.168.1.0/255.255.255.0(rw,no_root_squash,sync)
6 /SCSI/sdb3 *(rw,no_root_squash,sync)
7 /SCSI/sdb4 192.168.1.0/24(rw,no_root_squash,sync)
변경사항 적용 및 확인
# exportfs -ra
# exportfs -v
[NFS Client 측 설정]
Server 및 mount point 확인
# rpcinfo -p 192.168.1.134
# cd /nfs_client
# mkdir sdb1 sdb2 sdb3 sdb4
마운트 후 확인
# mount -t nfs 192.168.1.134:/SCSI/sdb1 /nfs_client/sdb1
# df -h
계정 추가
# useradd -d /nfs_client/sdb1/user1 user1
# passwd user1
[ nfs auto mount ]
서버 재부팅 후에도 자동으로 마운트 되도록 설정할 수 있다.
그렇다면 서버측에서 nfs 서비스를 서버 재시작 시 자동 실행되게끔 해야한다.
# chkconfig nfs on
[문제]
기존 HDD SCSI 1G : 100(user1), 200(samadal), 300(user2), 400(user3)
자동마운트, nfs server 설정 후 사용자 생성하세요
/etc/fstab 의 마운트 타입을 수정하여 기재.
# vi /etc/fstab
23 192.168.1.134:/SCSI/sdb1 /nfs_client/sdb1 nfs defaults 1 2
24 192.168.1.134:/SCSI/sdb2 /nfs_client/sdb2 nfs defaults 1 2
25 192.168.1.134:/SCSI/sdb3 /nfs_client/sdb3 nfs defaults 1 2
26 192.168.1.134:/SCSI/sdb4 /nfs_client/sdb4 nfs defaults 1 2
계정 정보 설정
# mv /nfs_server/samadal/ /nfs_client/sdb2/
# usermod -d /nfs_client/sdb2/samadal samadal
# useradd -d /nfs_client/sdb3/user2 user2
# useradd -d /nfs_client/sdb4/user3 user3
특정 마운트 용량 확인
# df -h /nfs_client/sdb1
3. autofs
[실습 전 작업]
기존 VMware 삭제, 기존에 client 로 남겨두었던 VMware 실행
putty로 root 정상 로그인 되도록 설정
test 계정 삭제, samadal 계정 생성
이전엔 ssh로의 root 접근을 막았다.
root로 접근 가능하도록 42번줄 앞에 # 붙이기
# vi /etc/ssh/sshd_config
42 #PermitRootLogin yes
# userdel -r test
# useradd samadal
# passwd samadal
[autofs 란?
자동 마운트 데몬의 작동을 제어하는 프로그램
자동 마운트 데몬은 자동으로 사용 시 파일 시스템을 마운트로 하고 일정시간동안 사용을 하지 않으면 언마운트 하는 데몬
주로 NFS나 cd/dvd rom 장치, floopy 등의 자주 사용되지 않는 마운트 할 때 사용하는 데몬
[Client 쪽 설정]
6.5 버전 까지는 /etc/sysconfig/autofs 였으나
6.6 부터는 /etc/autofs.conf 파일이다.
autofs 사용 여부, 사용할 것이니 yes로 변경
# vi /etc/autofs.conf
38 browse_mode = yes
실제 마운트에 관한 정보 입력
# vi /etc/auto.misc
16 /nfs_client -ro,hard,intr 192.168.1.139:/nfs_server
Client 측 option Server측
실제 마운트시킬 디렉터리와 mount point 생성
# mkdir /nfs_server/ /nfs_client/
재시작 시 autofs 자동 실행 되도록 설정
# chkconfig autofs on
헌데 재부팅 했는데도 마운트가 되지 않는다. 혹시나 해서 -ro -> -rw 로 변경 후 재부팅
# vi /etc/auto.misc
16 /nfs_client -rw,hard,intr 192.168.1.139:/nfs_server
하지만 여전히 안됨.
# ll /misc/
디렉터리 내용물 한번 확인(?) 해보고 다시 auto.misc 파일 수정. client 측 주소에서 / 를 뺐다.
# vi /etc/auto.misc
16 nfs_client -rw,hard,intr 192.168.1.139:/nfs_server
하지만 또 안된다.
아까 확인했던 디렉터리 가보니 nfs_client 디렉터리가 생성되었다.
# ll /misc/
합계 0
dr-xr-xr-x 2 root root 0 2014-12-15 15:14 cd
dr-xr-xr-x 2 root root 0 2014-12-15 15:14 nfs_client
기존에 만들었던 mount point를 삭제
# rm -rf /nfs_client/
/etc/auto.master 파일 보면 auto.misc에 있는 내용을 /misc에다 알아서 적용하라는 내용이 있다.
즉, /misc = autofs base mount point
# vi /etc/auto.master
7 /misc /etc/auto.misc
/etc/auto.misc 에만 적으면 mount point 따로 만들어 줄 필요 없이 자동으로 master에 적혀있는 위치에 자동으로 mount point를 만들어준다.
autofs에 관한 자세한 설명은 다음 시간에 계속
[다음 실습을 위한 준비]
samadal 계정의 홈 디렉터리를 /misc/nfs_client/ 로 설정
# mv /home/samadal/ /misc/nfs_client/
'Study > CentOS' 카테고리의 다른 글
| [30] nfs_autofs 실습, dns (0) | 2015.04.06 |
|---|---|
| [29] autofs(2), su - 명령어 제한 (0) | 2015.04.04 |
| [27] auto mount, 응급복구, nfs(1) (0) | 2015.03.28 |
| [26] vnc(2), vnc with ssh, ftp (0) | 2015.03.28 |
| [25] vnc(1) (0) | 2015.03.28 |



