대학생들을 위한 IT

Samba(쌈바~~~) :: 이커시 본문

운영체제/운영체제 그리고 Tip

Samba(쌈바~~~) :: 이커시

phantomik 2019. 2. 18. 12:44

Samba하면 어떤 것이 떠오르나

필자는 축구를 특히 브라질 축구를 좋아한다. 과거에 호나우두, 호나우지뉴는 필자의 우상이기도 했다.

보통 삼바하면 이 노래가 떠오를 것이다. "쌈바~~ 이탤리~~~"하는 그 곡말이다 ㅋㅋㅋㅋㅋㅋㅋ

듣고 싶으면 들어야 한다.

축구화 신고 남미로 떠나보자!!!!

서론이 길었다. 각설하고 컴퓨터 삼바에 대해 알아보자

삼바(samba)는 Windows 운영체제를 사용하는 PC에서 Linux 또는 UNIX 서버에 접속하여 파일이나 프린터를 공유하여 사용할 수 있도록 해 주는 소프트웨어이다.
삼바는 액티브 디렉터리 도메인의 부분이 될 수도 있다. 삼바는 애플사의 맥 오에스 텐 서버(맥 오에스 텐 버전 10.2로 추가되었다)를 포함하여 리눅스, 솔라리스, AIX 그리고 여러 가지 BSD 등과 같은 대부분의 유닉스 및 유닉스 계열 운영 체제에서 동작한다. 삼바는 거의 모든 리눅스 배포판의 표준이며 다른 유닉스 기반의 운영 체제에서도 기본 시스템 서비스로 대부분 포함된다 [위키백과]

윈도우는 SMB(Server Message Block) 방식을 사용하고 리눅스는 NFS(Network File System) 방식을 사용하기에 이 둘을 이어주는 매개체가 필요. 그것이 바로 삼바!
즉, 윈도우와 리눅스 사이에서의 프린트와 파일 공유에 있어서 사용되는 소프트웨어이다.

일반적으로 445/TCP 포트를 사용한다. (445포트는 Microsoft 네트워크용 파일 및 프린터 공유할 때 사용)

실제로 이 삼바를 통해서 편리하게 자원들을 운영체제에 상관없이 공유할 수 있지만, 445 포트를 사용하기에 해킹의 위험성이 크다는 사실을 말씀 드린다.

필자는 현재 진행 중인 프로젝트에 윈도우 xp 환경에서 삼바를 사용해야 하는 상황이 발생하였다. 삼바를 설치하는 도중에, 요즘 블로그에는 윈도우 7, 8, 10 환경에서의 삼바 연결에 대한 포스팅은 많은데 과거 xp에 대한 포스팅은 묻혀서 저 뒤에 있는 현실에, 혹시나 필자와 같은 상황에 놓인 친구들을 위해 xp 환경에서의 삼바 연결을 포스팅 하겠다. 어렵지 않아 따라와!

먼저 samba 소프트웨어를 설치해야겠다. 그렇지?


[칼리 환경에서의 samba 설치]

필자는 대부분 Red Hat 계열이 아닌 Debian 계열, 특히 Kali 리눅스를 쓴다. 그러므로, 같은 리눅스라 하여도 계열에 따라 명령어가 다르니 알아서 잘 따라오시라. Red Hat은 yum install 일 것이다.

자 삼바는 설치가 되었다. 이제 삼바를 사용하는데 있어서, 공유 폴더로 지정할 폴더를 만들어보자


[루트 밑에 만듦]

필자는 루트 디렉터리 바로 아래에 말 그대로 [share]폴더를 만들었다. 이제 이곳에 우리가 공유할 자원들이 쌓일 공간이다.

그 다음 이 디렉터리를 기준으로 삼바 설정을 해주어야 한다. 이름을 보니 smb.conf 이다. SMB는 윈도우 파일 공유 방식인데 리눅스에서 SMB을 사용한다라... 아까 위에서 설명했어야 하는 내용인데, smb라는 글자가 나오지 않아 그냥 패쓰하고 여기에 끄적인다.
리눅스에서 SMB 방식을 사용하게끔 만드는 소프트웨어가 삼바이다. got it?
(반대로 윈도우에서 NFS방식으로 공유할 수도 있다! 이건 포스팅 안 할 듯 하다 하고 싶으면 하겠다)


[smb.conf 기본 경로]

저곳에 들어가서 공유 설정을 해주자.


[삼바 설정]

vi /etc/samba/smb.conf를 쳐서 들어가면 위 그림처럼 창이 뜰 것이다. 그러면 다 무시하고 맨 아래로 내려와 아까 만든 디렉터리 이름을 기준으로 설정을 해주자.

cf.
삼바 설정 파일은 크게 두가지로 나뉜다.

[global] : 삼바 영역 전체
[share] : 개별적 공유

또한 [global]에서 security 항목에서 [user | share] 중 어떤 것을 선택하느냐에 따라도 다르긴 한데. 머 대동소이하다.

user를 선택하면 필자가 설정한 그림에서 valid user 항목만 추가해주면 된다. (즉, 필자는 걍 share모드)

쓰다보니 미안하게 되었다. 본래 이 블로그는 컴퓨터 전공생이 아니어도 쉽게 따라할 수 있게 만들며, 그냥 복붙한 내용으로 부실한 블로그에 대한 경멸과 환멸로 만든 본래 취지를 내 스스로 저버린 것 같다. 다시 한번 사과하며 자세히 써보겠다.

[global] = share

  • comment : 어쩌고 저쩌고

  • path : 절대경로 (필자의 경우 루트 디렉터리 밑에 share 디렉터리 --> /share)

  • browseable : 브라우저에 공유폴더 이름 표시

  • writeable : 쓰기 허용

[global] = user

  • comment

  • path

  • browsealbe

  • writeable

  • valid user : 허용하고자 하는 [리눅스 ID]

혹시 몰라 자세히 설명해 놓은 블로그를 소개하겠다. 여기엔 설정관련한 내용들을 자세히 잘 써놨다. 몇가지는 버전 업데이트에 따라 조금씩 다를 수 있다는 점만 참고하길  --> https://dev.jpblog.co.kr/25

다시 본론으로 돌아와서 설정파일에 아까 만든 [share]디렉터리 이름으로 설정을 마친 후에,


[share 디렉터리 설정]


[share 디렉터리 권한 상승]

(지난 포스팅에서도 그랬지만, 필자는 루트 권한으로 리눅스를 실행시킨 것으로, 다른 블로그에선 왜 sudo를 앞에 붙이는데 여긴 안 붙이냐에 대한 질문은 무의미하다. 필자가 곧 루트이니라.)
권한에 있어서 필자처럼 관대하게 777 먹이면 위험하다. 그러니 권한 상승 부분에 대해 관대해지길 마시길.....


[루트 밑 share 디렉터리의 권한이 777로 바뀜 --> 초록색 바탕의 글로 바뀐 것 확인)]

설정을 마쳤으니, 삼바를 재시작하자. 그 전에 시작을 안했을 수도 있으니 서비스를 시작해 주어야 함.

service smbd restart

이제 윈도우 화면으로 넘어가 보자!

윈도우에서 + R 키를 눌러 [실행] 창을 열어보자!

거기서 앞에 \\를 붙이고 칼리 리눅스의 아이피를 적어서 공유 폴더에 접근해보자


[share 디렉터리에 접근하기 위한 주문]

아이피 뒤에 /share 해서 바로 share 디렉터리에 들어갈 수도 있다.


[저기 우리가 만든 share 디렉터리가 보인다]


[abc.txt 라는 글을 만들어서 share 디렉터리 안에 넣어봤다]

필자 xp는 [확장자 숨기기] 모드가 체크 되어 있는 줄도 모르고 이름 자체에다가 .txt를 붙였다... 리눅스에서 보면 아마 abc.txt.txt로 표시 될 것이다...


[공유 완료]

역시나 abc.txt.txt로 저장되었다.. 하지만 공유가 잘 되어 있다는 걸 확인 할 수 있다.
이렇게 공유 폴더를 만들어 리눅스-윈도우 간에 쉽고 빠른 자원 공유가 가능하다.

여윽시 잼있는 포스팅이었다. 아디오스!

Comments