Linux/CentOS

samba

Glory-L 2022. 8. 29. 10:32

 

 
samba
- 공유 폴더 제공 서비스
- 익명 공유, 사용자 지정 공유, 그룹 지정 공유가 가능
> 수업에서는 익명 공유와 사용자 지정 공유 진행
 
*정보
 
패키지    : samba-*
데몬        : smb
방화벽    : service=samba
설정 파일    : /etc/samba/smb.conf
 
설정 파일 변경 ->
workgroup = WORKGROUP(변경)
security = user
map to guest = bad user -> 추가하기
 
 
설정 맨 밑에 아래 설정 추가해주기
 
[anonShare] -> 공유 폴더 이름
 
              comment = for all users
             path = /samba/anon -> 내 어떤 디렉토리를 공유 할 것인지 알려주는 경로
              guest ok = Yes -> 익명 사용자 연결 허용
 
 
samba 사용자 명령어
 
smbpasswd -a : add
-x : remove
-e : enable
-d : disable

 

yum -y install samba-*
 

1. 익명 공유 

 

 

7.  workgroup = WORKGROUP -> window 운영체제와 연동하기 위해 변경해준다.

8. map to guest = bad user 추가 -> 익명 연결 정상적으로 가능하게 하도록 설정

 

익명 공유를 위해서 맨 밑에 설정 추가 

 

 40 [anonShare]      ->   공용 폴더의 이름 
     41         comment = for all users      -> 해당 폴더에 mouseover 했을 때 나오는 메세지
     42         path = /samba/anon           -> 내 어떤 디렉토리를 공유해 줄 것인지에 대한 경로 
     43         guest ok = Yes                   -> 익명 사용자의 접속을 허락해주는 설정 

 

※ 공유 디렉토리 생성 , 데몬 재실행, window에서 바로 접근하기 때문에 방화벽 설정
 

 

window 실행창을 켜서 내 리눅스 ip 입력 입력해주기
 
 

리눅스 ip로 접근해서 리눅스의 공유 폴더가 보인다.

 

리눅스에서 생성한 파일 공유

  

 
 

 

 
 

2. 사용자 지정 공유

 

계정 생성

local에 생성되어 있는 사용자 계정에게 samba에서 사용할 계정 생성 

 
 vi /etc/samba/smb.conf
 

 
-> read only 기본 값 Yes -> No 입력
-> wriable 기본 값 No -> Yes 입력 (쓰기 권한을 주지 않으면 딱히 smb를 사용할 이유가 없어서 Yes를 준다.)
-> vaild users = @testuser -> 어느 사용자에게 공유해줄 것인지 설정

 

공유 폴더 생성

-> 데몬 재실행 후 파일 확인

 

samba 설정한 계정 입력

  
-> 파일을 생성하려 하면 거부당함 
-> 해당 디렉터리의 권한이 없기 때문에 
 
 
 

user group 둘다 testuser로 소유권 변경

 

잘 생성된다.

 
 
DHCP
 
  • Dynamic Host Configuration Protocol
 
  • 자동으로 host에게 IP를 할당하는 서비스
 
  • 동작 순서(사용되는 패킷 종류)
* client에 IP가 없는 상태로 진행 (= broadcast를 이용한 통신 진행)
 
총 4개의 패킷 사용
 
Discover : client -> broadcast, 네트워크의 DHCP 서버를 찾는 패킷
 
Offer    : server -> broadcast, discover 패킷을 받은 server가 '어떤 IP를 줄 수 있다' 라는 정보가 담긴 패킷을 전송, 해당 주소를 임시 할당 상태로 분류
Request : client -> broadcast, 제일 먼저 받은 offer를 '사용하겠다'라고 알려주는 패킷
 
Ack : server -> broadcast, offer가 선택된 server가 client에게 IP 주소 정보와 각종 옵션들을 전송하는 패킷(offer가 선택되지 못한 server는 임시 할당 상태인 주소를 다시 미할당 상태로 분류)
 
이 후에 ack 패킷을 받은 client는 IP 주소 정보와 각종 옵션들을 자신의 IP 설정에 적용
 
* client가 할당 받은 IP는 영구 적용 X
 
> 임대 기간이 존재, 기간 만료 전 갱신 작업을 하여 기존 IP를 계속 사용
* 정보

 

패키지        : dhcp-*
데몬            : dhcpd
방화벽        : service=dhcp
설정 파일 : /etc/dhcp/dhcpd.conf
 
 

※ client의 역할로서 dhcp를 사용할 경우에는 이미 설치되어 있기 때문에 필요가 없다. server 역할에서 사용 하려 할 때 패키지 설치 필요 

 

 

설정 파일 경로 확인

 
vi 편집기로 하단에 위와 같이 작성하기

- subnet 192.168.10.0 : vmnet8 사용중인 network address 주소 입력(vmware ip 대역)

 

- range dynamic-bootp 192.168.10.201 192.168.10.220; 

- option routers 192.168.10.2;

- option domain-name-servers 192.168.10.2;

 

-> subnet 대역에 맞춰서 설정한다. 

 

- 전체적인 구성 

 

6. subnet 192.168.10.0 netmask 255.255.255.0 {  -> 어떤 ip에 대한 네트워크 공유를 해줄 것인지 설정, 중괄호 안에 해당 서브넷에 상세한 옵션들을 작성한다.

 7.         range dynamic-bootp 192.168.10.201 192.168.10.220; -> 어느 범위에 ip를 이용 가능하게 할 것인지 설정

      8.         option subnet-mask 255.255.255.0; -> 위에서 설정한 ip 설정 범위에 들어갈 subnetmask 설정 

      9.         option routers 192.168.10.2; -> ip 설정 상에 들어갈 gateway 설정

     10.       option domain-name-servers 192.168.10.2; -> dns 서버 주소 설정, client가 이 server에서 ip를 받았을 때 사용할 dns server 설정

     11.         default-lease-time 345600; -> dhcp 임대기간이 만료 되었을 때 갱신 시도 시간 설정(성공 시 사용시간이 0초부터 시작한다.)

     12.         max-lease-time 691200; -> 갱신 시도가 실패 할 경우 max-lease-time 설정 시간까지 계속 시도 하다가 시간이 끝나면 client쪽에서는 ip 정보를 모두 버리고 discover packet을 server 측에 전달 

 

     13. }

 

저장하고 데몬 재실행

 

※ dhcp 사용을 위해 client 머신 실행

(★ 본인이 dhcp로 본인 ip를 할당 받는 것은 불가능하기 때문에 반드시 client쪽에서 설정한다 ★)

 

프로그램 - 보조 프로그램 - 설정 실행

 

 

 
-> 지금은 자동으로 설정해도 server측에서 설정한 DHCP ip 적용이 안된다.
이유 : VMnet 자체적으로 dhcp 서버가 동작하기 때문이다! 설정을 꺼주고 다시 시도
 
change settings 클릭

해당 메뉴 체크 해제 후 ok

※ 만약 위와 같이 설정했는데 putty가 안되면 linux 환경 안에서 로그인 후 터미널 열어서 진행

 

- dhcp 설정을 위해서 server 쪽에서 방화벽을 열어준다. 

 

 

자동 바꾸고 적용 누르고 네트워크를 한번 껐다가 켜야 적용이 된다.

 
server dhcp에서 설정한 대역인 200번대 대역으로 자동 ip 할당된 모습
설정이 확인된 후에는 다시 virtual networks 설정에 dhcp 체크

 

- client 측에서 ip를 잘 받았는지 server 측에서 확인하는 방법(systemctl status dhcpd)

 

아래쪽에 ip를 할당한 것을 확인

 

 

-> client쪽에서 이 server에 dhcp로 설정한 ip를 받아갔다는 정보를 기록한 설정 파일

 

어떤 ip 대역이 어느 주소의 host에게 가있다는 정보 확인이 가능하다.

 

 

※ 연습하기
 
1. 가상 머신 초기화 후 해보기(server와 client)
 

2. 

범위                           :  192.168.x.0/24

할당 IP                      :  51 ~ 60

Gateway                   :  192.168.x.2

DNS                         :  192.168.x.2

최소임대기간                         :  3일

최대임대기간                         :  6일

 

위의 설정을 갖고 있는 dhcp서버를 재부팅 하고도 동작이 되도록 설정(enable)

 

3. windows에서 client의 공유 폴더 접근하여 메모장 파일 만들어보기 (접속은 testuser로 진행)

 

* 확인할 사항 : DHCP 설정 + 공유폴더 연결한 화면 

 

 

 

- server측 dhcp 구성

 

 

 

할당 ip와 갱신 날짜 외엔 변동 사항 없음
데몬 재실행

 

 

dhcp 설정 해제
자동 바꾸고 네트워크 한번 껐다가 켜서 적용

설정한 dhcp로 할당 받은 것을 확인

 

ssh로 client쪽 접속
 

client쪽에 samba 설치

 

-> samba 공유 설정 전에 vmnet dhcp 설정부터 켜주기 

 

사용자 생성

 
samba 사용자 생성

 

vi /etc/samba/smb.conf 설정 변경

 

맨 밑에 사용자 지정 samba 설정 추가

 

해당 경로 생성, 데몬 재실행, 방화벽 허용 설정 해주기

 

-> window 실행창에서 해당 ip 입력하기 

 

samba 설정한 계정 로그인

 

 

 

testuser로 소유권 변경해야 파일 생성이 가능하다.

 

파일 생성하기
공유한 파일 확인