웹모아 
웹모아  로그인  회원가입   
웹모아
 
폼태그(입력)
 


Samba 3 환경설정
  등록: 2014-06-11 07:46:30 조회:1018
http://web.landmoa.net/?acmode=b_s&curjong=web001001&no=27980


우분투 서버에서 Samba 를 이용하여 파일을 공유할 때 필요한 구체적인 방법을 알아보자. 설정을 어떻게 조합해서 사용할지는 경우의 수가 많기 때문에 여기서는 "사용자 계정별 홈 디렉토리 공유"와 "특정 디렉토리의 공유"방법 2가지만 짚고 넘어가겠다. 일부는 root 계정으로 작업이 가능하다.


1) Samba 관련한 몇가지 명령어 및 실행파일

- Smaba 설치방법 - 링크

- Samba 버젼
root@ubuntu-server:/home/gattaca# smbd --version
Version 3.4.7

- Samba 재기동
root@ubuntu-server:/home/gattaca# /etc/init.d/smbd restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service smbd restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart smbd
smbd start/running, process 2705

- Samba 파라미터 확인
root@ubuntu-server:/home/gattaca# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
server string = %h server (Samba, Ubuntu)
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d

[homes]
comment = Home Directories
read only = Yes
browseable = No
browsable = No

[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
browseable = No
browsable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers


2) 기본 환경설정

root 권한을 획득한 다음 아래와 같이 설정파일을 열어보자. 크게 [global], [homes], [netlogon], [profiles], [printers], [print$], [cdrom] 등의 섹션이 있는데, 우선 [global] 부분에 주석이나 설명을 제외해서 보면 아래와 같은 옵션이 있다.

root@ubuntu:/home/gattaca# cd /etc/samba -- 디렉토리 변경
root@ubuntu:/etc/samba# cp smb.conf smb.conf.20100827 -- 백업
root@ubuntu:/etc/samba
# vi /etc/samba/smb.conf

[global]


workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
; wins server = w.x.y.z
dns proxy = no
; name resolve order = lmhosts host wins bcast
; interfaces = 127.0.0.0/8 eth0
; bind interfaces only = yes
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
; domain logons = yes
; logon path = \\%N\profiles\%U
; logon drive = H:
; logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
; add group script = /usr/sbin/addgroup --force-badname %g
; printing = bsd
; printcap name = /etc/printcap
; printing = cups
; printcap name = cups
; include = /home/samba/etc/smb.conf.%m
; socket options = TCP_NODELAY
; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash
; winbind enum groups = yes
; winbind enum users = yes
; usershare max shares = 100


; 표시는 사용가능한 옵션이지만 주석처리가 된 부분이다. 진하게 표시된 항목만 언급해보면, workgroup 은 네트워크 그룹을 의미하므로 기본값 WORKGROUP 에서 필요하면 다른 이름으로 변경하여도 된다. security는 사용자 별로 접근 제한을 하기 위해서 user를 쓰도록 하고 unix password sync 는 우분투 리눅스의 사용자 계정의 비밀번호와 동기화해서 사용할지에 대한 내용이다.

그 이외에는 암호화 체계, 성능, 로그등의 처리에 대한 내용들이며 대부분 기본값을 그냥 사용하도록 한다.

그 다음 smbpasswd 명령어를 이용해서 비밀번호를 아래와 같이 생성해준다.

root@ubuntu-server:/home2# smbpasswd -a gattaca


3) 사용자 계정별 홈 디렉토리 공유

사용자 계정별로 홈 디렉토리에 대한 설정은 [homes] 섹션에서 할 수 있다.

[homes]
comment = Home Directories
browseable = no
read only = yes
; create mask = 0700
; directory mask = 0700
; valid users = %S

[homes] 섹션에서 browseable 은 사용자의 홈 디렉토리를 화면에 표시할지에(browseable) 대한 내용이며, 접근여부에 대한 설정은 아니기 때문에 권한만 있다면 공유폴더를 열어볼 수 있다.

read only 은 공유된 파일을 읽기전용으로 할 것인지에 대한 내용이다. 쓰기도 가능해야 하니 no 로 변경한다. create mask 나 directory mask 는 파일이나 디렉토리 생성시에 사용자 권한을 어떤 값으로 기본설정할 것인지에 대한 내용이다. 일단 ; 을 제거하자.

Linux/Unix계열에서 파일의 권한표시 체계를 잠깐 훑어보자.

root@ubuntu-server:/etc/samba# ls -al
total 60
drwxr-xr-x 2 root root 4096 2010-08-27 13:15 .
drwxr-xr-x 88 root root 4096 2010-08-27 13:24 ..
-rw-r--r-- 1 root root 8 2010-05-14 21:37 gdbcommands
-rw-r--r-- 1 root root 12576 2010-08-27 12:34 smb.conf

ls 를 입력하면 디렉토리나 파일 목록이 나오는데 맨 왼쪽의 내용이 권한이 표시되는 부분이다. d는 디렉토리(directory)를 의미하고 rwx 가 3개씩 묶이는데, 첫번째는 owner (소유자), 두번째는 owner가 속한 group, 세번째는 다른 사용자 (other) 에 대해서 r(읽기)/w(쓰기)/x(실행) 권한을 나타낸다. 권한이 없으면 - 로 표시가 된다.

rwx를 2진수의 자릿수에 따라 r 은 4 w는 2 x 는 1의 값이 되는데, 7은 r, w, x 의 값을 모두 더한 값이므로 rwx권한을 주는 것이다. 777 이라고 하면 rwxrwxrwx 이가 되는 셈이고, rw-r--r-- 은 644 가 되는 셈이다. 0700 은 파일이나 디렉토리 생성시 rwx------ 로 생성되어 owner이외에는 r/w/x 가 되지 않도록 하겠다는 뜻이다.

참고로 0700 은 8진수 체계이며 권한을 변경하려면 chmod 라는 명령어를 사용한다.


4) 특정 디렉토리의 공유

홈 디렉토리가 아닌 특정 디렉토리를 공유하려면 smb.conf 맨하단에 별도의 섹션을 만들어서 [homes] 섹션과 비슷하게 옵션을 주면 된다.


[myShare]
comment = My Share Directories
path = /home2/share
valid users = gattaca
browseable = no
read only = no

네트워크에서 myShare가 폴더명으로 표시가 되고 path는 공유 디렉토리 경로 valid users는 접근가능한 사용자를 입력해 주면 된다.

root@ubuntu-server:/home2# ls -al
total 12
drwxr-xr-x 3 root root 4096 2010-08-27 00:44 .
drwxr-xr-x 23 root root 4096 2010-08-27 00:11 ..
drwxrwxrwx 4 root root 4096 2010-08-27 02:13 share

주의할 점은 share 디렉토리는 root 에 의해서 만들어졌고, gattaca 사용자는 root 입장에서 group 또는 other 사용자이기 때문에 이 디렉토리에 접근하려면 2, 3번째 묶음에 rwx권한을 지정해줘야 한다.

root@ubuntu-server:/home2# chmod 777 share

위와 같이 입력하면 권한이 drwxrwxrwx 로 변경이 된다.

vi 에디터로 변경된 내용을 저장하고 (:wq), testparm 을 입력하여 변경사항이 문제가 없는지 검증을 다시 해보자. 이젠 Samba를 재기동하거나 우분투를 reboot 하면 반영이 된다. browseable 옵션을 no 로 지정하였기 때문에 네트워크에 표시되지 않지만 아래와 같이 접근은 가능하다.


 

 





폼태그(입력)
페이지: 1 / 2   

   select박스에 텍스트 벨류를요 카페에서 메뉴를 484
   iframe 에서 text field 값 얻어 오기601
   select 상자 그룹 예제497
    숫자만, 영문만, 한글만 입력하고 싶을 때878
   INPUT : 숫자만 입력하기571
   입력박스에 특수문자 입력못하게 하려면540
   row 추가 2552
     [RE] row 추가 2 - 테이블이름 지정547
       [RE] row 추가 2 - 테이블이름 지정-삭제492
   추가, 삭제 누르면서 테이블 행추가, 삭제하기 스크526
   row 추가586
   테이불 추가 스크립트652
   입력박스에 안내메세지 넣기(홈마스타)668
   동적으로 객체를 변경하는 자바스크립트(홈마스타)590
   자바스크립트를 써서 폼구문안에 전송(submit)하(홈마스타)502
     [RE] 자바스크립트를 써서 폼구문안에 전송(sub(홈마스타)496
   테이블(표)의 셀 여백 삭제 [border-coll(홈마스타)(1) 721
   폼 양식 요소들의 글자 색상 지정 [font-col(홈마스타)534
   폼 양식 요소안의 글자 정렬 지정 [text-ali(홈마스타)566
   폼 양식 요소들의 글자 크기 지정 [font-siz(홈마스타)511
   아이프레임의 배경을 투명처리하기[allowTrans(홈마스타)616
   iframe의 배경을 투명하게 하는법(홈마스타)521
     [RE] iframe의 배경을 투명하게 하는법(홈마스타)453
   레이어의 현재 마우스 위치(홈마스타)495
   레이어 감추기와 보이기 다른 예제(홈마스타)512
   레이어 감추기와 보이기 - select박스 보이기와(홈마스타)538
     [RE] 레이어 감추기와 보이기 - select박스(홈마스타)727
       [RE] 레이어 감추기와 보이기 - select박(홈마스타)561
     [RE] 레이어 사용시 Select객체에 가려지는 (홈마스타)484
   body 태그 예제(홈마스타)385
≪ [1]  [2]   ≫

복수단어 검색은 공백(space)로 구분해 주세요.



 
최근 글 자료
40
40
57
35
26
34
2775
667
652
825
741
3837
3274
3333
3690
 
인기글 자료
4602
3889
6635
4006
4712
4286
[홈마스타] [RE] input type=\\
6517
4430
3932
4059
5955
3742
3818
[홈마스타] oledb 접근 오류
4390
10082