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 설정에서 윈도우 사용자가 만든 폴더에 읽고 쓰기 권한을 주기에 대한 글 이였습니다.
ubuntu terminal 기본 shell 지정 방법과 .bashrc 가 적용 되지 않을 때 .bashrc 실행되게 하는 방법 (0) | 2014.07.03 |
---|---|
Ubuntu 에 원격데스크탑으로 연결시 화면에 아무것도 나타나지 않는 현상 고치는 방법 (0) | 2014.06.21 |
Ubuntu (Linux) 에서 CPU 정보, Memory 정보, PC 이름, kernel version 알아내기. (0) | 2014.02.24 |
우분투에서 삼바 folder mount(마운트) 하기 / 공유폴더 디스크로 연결하기 (0) | 2014.02.22 |
Makefile 문법 쉽게 설명하기. (기본적인 make file 문법 설명) (0) | 2014.02.20 |