본문 바로가기
카테고리 없음

[Linux] Samba서버 Window < = > Linux ②

by 떵해이 2020. 12. 24.
300x250

CentOS 7 버전, 그래픽은 GUI 환경으로, root(관리자)계정으로 실행하였습니다.

관리자 계정으로 실행하시는게 아니라면 명령 앞에 sudo를 사용해주셔야 합니다.


○ 시작 전 설정 과정

이전 글에서 어떻게 설정을 마무리 지었는지 살짝 정리하고 넘어가도록 하겠습니다.

 

먼저 samba 서버 설치 후 설정 파일 설정 내용

samba 전용 계정도 2개를 만들었습니다. (user1, user2)

하지만 설정 파일 내용에는 접근 가능한 계정은 user1

쓰기(수정)이 가능하고, 공유 디렉토리 위치는 /smdir로 설정을 해놓았습니다.

공유 디렉토리 권한도 777로 변경해놓았습니다.

 

접속할 수 있게 방화벽 서비스에 samba추가, selinux 비활성화를 설정하였습니다.

 

○ 윈도우에서 리눅스로 접속 하는 방법

리눅스에서 일단 samba 서비스를 실행해야 합니다.

# systemctl start smb

# systemctl enable smb 시스템 부팅 시에도 자동 실행 설정

 

 

우리 서버의 IP를 알아야 합니다.

# ifconfig 또는 # ip a 명령어를 통해 IP를 알아두도록 합니다.

 

 

위에 설정을 모두 마친 후 윈도우에서 # 윈도우 키 + R 누르시면 실행창이 나옵니다.

그 실행창에 \\[리눅스 삼바 서버 IP]를 치고 접속합니다.

# \\10.10.10.136

 

 

아래와 같은 화면이 나오면 일단 먼저 user1이 아닌 user2로 먼저 접속해봅니다.

비밀번호는 samba계정 등록시 설정했던 비밀번호로 로그인 하시면 됩니다.

 

 

들어가면 우리가 만든 'share'라는 공유 디렉토리와 user2 개인 홈 디렉토리가 있습니다.

user2는 본인 홈 디렉토리는 접속이 가능합니다.

그러나 share인 공유 디렉토리에 접근을 할 수가 없습니다. 

이유는 옵션 valid users에 user1계정만 등록을 해놨기 때문입니다.

 

 

이제 그럼 user1로 접속을 시도해보겠습니다.

다시 똑같이 # 윈도우 키 + R 눌러 실행창으로 리눅스 서버에 접속합니다.

그렇게 하려고 시도하면 캐쉬가 남아있어 user2로 계속 접속하게 됩니다.

 

※ 접속 캐쉬 없애는 법

 

# 윈도우 키 + R 을 통해 실행창을 열어

# cmd 명령 프롬프트 창을 실행시킵니다.

 

 

이제 실행된 윈도우 cmd창에서 캐쉬를 지워보도록 하겠습니다.

# net use 명령을 사용하시면 연결되어 있는 목록들을 출력해줍니다.

# net use \\[ip]\[path] /delete 명령을 통해 삭제를 시켜줍니다.

예) net use \\10.10.10.136\IPC$ /delete

 

여러개가 연결되어 있을 경우

# net use * /del 명령을 통해 한꺼번에 연결된 세션을 종료 할 수 있습니다.

연결이 취소된다고 물어보면 Y(yes)/N(no) 로답을 해주시면 됩니다.

 

 

이렇게 캐쉬를 삭제 후 다시 # 윈도우 키 + R 을 통해 실행창에 IP를 입력하여 접속합니다.

 

 

이번에는 user1로 접속하여 한번 테스트 해보도록 하겠습니다.

 

 

똑같이 share 공유 디렉토리와 user1의 홈 디렉토리가 있습니다.

share디렉토리를 클릭해보니 접속이 됩니다.

이전글에서 만들었던 test파일이 있습니다.

user1로 접속하여 쓰기(수정)권한도 주었기 때문에 test파일을 메모장으로 열어

내용을 작성하여 저장하면 리눅스에서도 확인할 수 있습니다. 한번해보시길 바랍니다.

 

○ 리눅스에서 윈도우로 접속 하는 방법

반대로 똑같이 실행을 할 수 있습니다. 필자는 윈도우 10에서 진행하였습니다.

 

윈도우에서도 비슷한 설정을 해주어야 합니다.

 

1. 똑같이 접속할 계정을 만들어야 합니다.

제어판 -> 사용자 계정 -> 다른 계정 관리를 클릭

 

하단에 보면 PC설정에서 새 사용자 추가

 

 

PC에 다른 사용자 추가를 클릭합니다.

 

 

아래 화면에 표시된 부분인 '이 사람의 로그인 정보를 가지고 있지 않습니다.'를 클릭하시면 됩니다.

 

 

Microsoft 계정 없이 사용자 추가 클릭하시면 됩니다.

 

 

사용할 계정 입력하시고, 비밀번호도 입력해주시면 됩니다.

아래의 내용을 모두 기입 후 다음 눌러주시면 로컬 계정이 만들어집니다.

 

 

2. 공유할 폴더를 내 컴퓨터 -> 로컬C드라이브 -> 사용자 폴더 안에 test폴더를 만들어줍니다.

 

 

방금 만든 test폴더 안에 테스트 용도로 메모장으로 smbtest이름으로 저장해서 하나 만들어 줍니다.

 

 

3. test폴더 우클릭 -> 속성에 들어가서 공유 탭에서 공유를 눌러 만들어 놓았던 계정을 추가

 

 

계정 추가 (예시로 Everyone 추가함) 권한도 읽기/쓰기 바로 옆에서 설정할 수 있습니다.

 

 

폴더를 공유시켰습니다.

 

 

그러고 난 뒤 이제 리눅스로 돌아옵니다.

# mkdir /window 명령어로 window라는 디렉토리를 하나 생성합니다.

 

 

VMware8 이름으로 연결되어 있는 IP를 윈도우에서 찾으면 됩니다.

# 윈도우 키 + R 실행창을 띄워서 # cmd 를 실행시킵니다.

# ipconfig 명령을 통해 ip를 찾습니다.

 

 

이제 리눅스에 방금 위에서 만든 디렉토리(/window)로 파일을 생성하려면 마운트를 해줘야 합니다.

# mount -t cifs -o user=[윈도우에서 만든 계정] //[윈도우 연결 IP]/[공유 폴더 경로] /[리눅스 디렉토리 경로]

마운트를 자세하게 아시고시픈 분은 참조하시길 바랍니다.

-t 옵션으로 파일 시스템 형식 지정 (cifs는 이전 글에서 설명한 samba에 사용되는 프로토콜)

user=아까 만든 로컬 계정을 쓰시면 됩니다.

윈도우 연결 IP는 위에서 찾은 VMnet8 IPv4 사용하시면 됩니다.

공유 폴더 경로는 속성에 보면 경로를 자세히 알 수 있습니다.

 

 

# mount -t cifs -o user=smbuser //10.10.10.1/Users/test /window

명령어를 입력하고 나면 비밀번호를 입력하라고 문구가 나옵니다.

아까 윈도우에서 smbuser계정을 만들 때 사용했던 비밀번호를 입력하면 마운트가 성공됩니다.

 

 

※ 영구 등록하기 위해서 간단하게 적어놓겠습니다.

# vi /etc/fstab

//[공유할 윈도우 IP] /[리눅스 마운트 포인트] cifs defaults 0 0

//10.10.10.1 /window cifs defaults 0 0

이렇게만 기입하시면 됩니다.

(단, 부팅시에 마운트는 사라지기 때문에 영구 등록을 하고 싶으면 /etc/fstab에 등록해야 합니다.

구체적으로 궁금하시면 참조하시길 바랍니다.)

 

 

 

# cd /window 

# ls 

명령으로 잘 연결이 된것을 확인 할 수 있었습니다.

 

 

혹시 이렇게 했는데 안된다면..?

윈도우 제어판 -> 프로그램 및 기능에서 windows 기능 켜기/끄기에 들어갑니다.

 

SMB 1.0/CIFS 파일 공유 지원 부분을 체크해주시고 확인 누르시고 다시 시도해보시면 됩니다.

 

반응형

댓글