Linuxmaster 1 - 삼바 서버 설정

2022. 5. 18. 21:44리눅스마스터1급 - 실기

삼바(SAMBA) 서버

1. SMB(Server Message Block)

- Windows 시스템이 다른 시스템과 자원을 공유 할 수 있도록 만든 프로토콜

- 마이크로소프틍와 인텔에서 개발

 

삼바는 이 SMB 프로토콜을 사용해서 리눅스, 유닉스 계열 운영체제와 윈도우(Windows) 운영체제간의 자료 공유 및 하드웨어 공유 할 수 있습니다.

 

2. CIFS(Common Internet File System)

- 현재 SMB는 CIFS로 확장

- 윈도우와 리눅스 환경을 동시에 지원

- TCP/IP 사용

- NetBIOS 프로토콜 지원

- LanManager 기능 제공

 

3. 사용 데몬

- smbd : 파일과 프린터 공유

- nmbd : WINS를 담당

- 데몬 시작

 

 

- 데몬 동작 상태 확인

 

 

4. 환경 설정 파일 (/etc/samba/smb.conf)

 

 

5. 주요 섹션

[global] :  삼바 서버의 전체적인 환경 설정하는 섹션

 

 

[homes] : 각 사용자들이 자신의 홈 디렉터리로 접근할 때의 권한을 설정하는 섹션

 

 

[printers] : 프린터 관련 권한을 설정하는 섹션

 

 

6. 관련 명령어

  • smbclient : 리눅스 및 유닉스에서 원도 서버로 접근 할 때 사용하는 삼바 클라이언트 명령어입니다.

- smbclient [옵션] [호스트명]

- 호스트명은 ip 주소로도 가능합니다. 

- 호스트명 뒤에 공유 디렉터리를 입력 할 수 있습니다.

- 리눅스에서 smbclient를 사용해서 접속시 윈도에서 사용하는 것보다 2배의 를 사용합니다.

윈도에서 NetBIOS를 이용해서 접속 할 시 파일 탐색기나 웹 브라우저에 \\ip 주소 형태로 접속합니다. 즉 리눅스에서 smbclient로 접속시 \\\\ip 주소 형태로 사용합니다.

- /로 접속 할 경우에는 호스트명에 2개 사용하고 디렉터리 구분에 1개를 사용합니다.

 

다음과 같이 사용합니다.

\\\\192.168.242.128\\newdir

//192.168.242.128/newdir

 

옵션

1. L : 접속하려는 삼바 서버의 공유 디렉터리의 정보를 출력합니다.

2. U : 삼바 서버에 접속할 때 사용자 명을 입력합니다.

3. M : 지정한 호스트명에 메시지를 전송 할 때 사용합니다.

 

smbclient -L 192.168.242.128 -U keum : 192.168.242.128 호스트에 keum 계정으로 접근합니다.

*패스워드가 있는 경우 사용자명뒤에 %패스워드 형식으로 입력해서 바로 접속 하는 방식과 위 명령어 이후에  패스워드를 따로 입력 하는 방식이 있습니다.

 

smbclient -L smbhost -U root%1234 : smbhost 호스트에 root 계정으로 접속합니다. 비번은 1234입니다.

 

smbclient \\\\192.168.242.128\\newdir : 192.168.242.128 호스트의 공유 디렉터리인 newdir에 접속합니다. 여기서 ? 명령어를  사용하면 사용 가능한 명령어 목록을 알 수 있으며 ls 명령어를 통해 공유 디렉터리에 접속한 파일들을 확인 할 수 있습니다.

 

  • smbstatus : 현재 연결된 클라이언트 상태 정보를 출력합니다.
  • testparm : 현재 설정되어 있는 환경 설정 파일인 smb.conf의 설정 여부를 확인 합니다.

 

 

  • nmblookup : WINS 서버에 질의 할 때 사용합니다.
  • mount.cifs : CIFS 기반의 마운트 명령입니다. 주로 윈도우에 공유된 디렉터리를 마운트 할 때 사용합니다.

- mount -t cifs 명령어와 동일합니다.

- mount.cifs  //공유서버/디렉터리 /마운트할 디렉터리

 

  • smbpasswd : 삼바 사용자를 생성 및 삭제, 패스워드 변경, 활성 및 비활성화를 하는 명령입니다.

- 사용자는 추가할 때 패스워드 또한 부여하도록 되어 있습니다.

옵션

1. a : 삼바 사용자 추가 할 때 사용합니다. 추가 하고자 하는 계정은 리눅스 시스템에 존재하는 계정이어야 합니다.

 

 

2. x : 삼바 사용자 제거 할 때 사용합니다.

 

 

3. d : 삼바 사용자를 비활성화 할 때 사용합니다.

 

 

4. e : 삼바 사용자를 활성화 할 때 사용합니다.

 

 

5. n : 패스워드 없이 로그인이 가능하도록 할 때 사용합니다. null password = yes를 추가해주면 됩니다.

 

 

  • pdbedit : 삼바 사용자의 데이터베이스 파일을 관리 해주는 명령입니다.

옵션

1. a : 삼바 사용자를 추가 할 때 사용합니다. smbpasswd의 a 옵션과 같은 기능을 합니다. 이 또한 리눅스 계정에 존재하는 사용자여야만 합니다.

2. L : 삼바 사용자의 정보를 간단하게 출력합니다.

 

 

3. v : 삼바 사용자의 정보를 자세하게 출력합니다. -L 옵션과 함께 사용합니다.

 

 

7. 삼바 공유 디렉터리 설정하기

 

1. 공유하고자 하는 디렉터리 생성 후 권한 부여

 

 

2. 환경 설정 파일에 공유 디렉터리 섹션 추가

 

 

[newdir] : 윈도우에서 접근할 때 보이는 폴더 이름입니다.

comment : 디렉터리에 대한 설명입니다.

path : 공유 디렉터리의 경로입니다.

public = yes : 모든 사용자가 접근 가능 하도록 설정 한것입니다.

valid users = keum chang : keum 사용자와 chang 사용자만이 접근 가능하도록 설정 한 것입니다.

writable = yes : 접근 가능하도록 설정된 사용자들에 파일 생성 및 삭제 권한을 부여합니다.

write list = keum : 파일 생성 및 삭제 권한을 keum 사용자한테만 부여합니다.

write list = @chang : 파일 생성 및 삭제 권한을 chang 그룹에 속한 사용자들만 가능하도록 부여합니다.

 

3. 사용자 추가 후 데몬 시작