상세 컨텐츠

본문 제목

samba 설정에서 윈도우 사용자가 만든 폴더에 읽고 쓰기 권한을 주기

IT : Ubuntu

by 휀스 2014. 6. 13. 02:07

본문



samba 설정에서 윈도우 사용자가 만든 폴더에 읽고 쓰기 권한을 주기


Ubuntu 에서 samba를 설치하고 나면 기본 설정을 해 줍니다. 각 사용자의 공유폴더를 만들고 사용자 마다 smbpasswd 명령으로 비번을 설정하는 등 작업을 해 주어야 합니다.



하지만 기본 설정으로 samba 서비스를 할때 전체 공유를 해야하는 폴더일 경우 윈도우 사용자는 정상적인 사용이 어렵습니다. 이유는 기본 권한 설정에 문제가 있기 때문입니다.


문제가 되는 설정값은


create mask = 0700


입니다.


0700 에서 700 은 owner, group, everyone 순서 입니다.

owner 에게는 7 나머지 그룹에는 0 의 권한을 준다는 것이죠.


create mask 의 이 값 하나를 설정하는 방법은 아래와 같습니다.

이진법을 사용하여 값을 정하니 모든 bit 가 1로 세팅되면 7의 값을 갖는 것 입니다.

               2
               |
       4 <--- ||| ---> 1
              111  <------------ Binary Number 111 (3 digits)
    Read <--- ||| ---> Execute
               |
             Write        

그러니 create mask = 700 의 내용은 owner 에게만 모든 권한을 주고 다른 사람에게는 open 하지 않겠다는 뜻 입니다.

그럼 이 값을 가진 상태로 파일이나 폴더를 만들면 그 파일을 만든 사용자 외에는 접근이 불가능하게 되는 것 입니다.


이것을 보고 create mask = 766 으로 설정 하였다고 하여도 문제가 발생합니다. 바로 directory 를 생성했을 때 입니다.

create mask 는 파일에만 적용되는 권한 설정이라 directory 에 대한 것은 따로 설정해 주어야 합니다.


설정 방법은 directory mask 입니다.


directory mask = 766


으로 해 주면 owner 에게는 모든 권한을 주며 나머지 읽기/쓰기 권한을 준다는 것입니다. 이렇게 설정해 놓으면 공유된 폴더에 모든 사용자가 읽고/쓰기를 할 수 있게 됩니다.


자신 이외의 다른 사람에게는 읽기 권한만을 주고 싶다면 744 로 세팅을 하여야 합니다. 사용하는 파일이 ubuntu 용 실행파일일 경우 execute 권한도 주어야 사용이 가능하므로 대부분 755 로 세팅을 하고 사용합니다.


이렇게 smb.conf 파일의 세팅을 마치고 나면 


$ sudo service smbd restart 


명령으로 samba service 를 재 실행해 주어야 합니다.


이상 samba 설정에서 윈도우 사용자가 만든 폴더에 읽고 쓰기 권한을 주기에 대한 글 이였습니다.



관련글 더보기