IT기술/Linux

10-4 Samba 서버 구축

dobbby 2013. 9. 16. 15:15
반응형

● Samba 서버 구축


  - Samba 서버 : 서로 다른 OS에서 데이타 및 장치가 공유되도록 만들어 주는 서버


  1. Windows가 공유한 폴더를 리눅스에 사용하는 방법 => Samba Client

     => Samba Client 프로그램이 설치 되어 있어야 된다.


       ]# rpm -qa | grep samba-client

       ]# yum -y install samba-client   => 설치 안된 경우




    1) Windows에서 폴더를 공유

    2) 리눅스에서 Windows의 공유폴더 검색

       ]# smbclient -L Windows주소 -UWindows계정    =>  Windows 계정이 없는 경우(WindowsXP) -U 생략 가능    

       Password : windows계정 암호 입력


       ex) ]# smbclient -L 172.16.5.1 -Ustu

      



    3) 공유폴더를 리눅스에서 사용

      ㄱ) smbclient 명령을 이용하여 공유폴더 접속

         ]# smbclient //공유주소/공유폴더명 -UWindows계정  

         Password : windows계정 암호 입력 

         SMB> 명령    =>  ftp 명령과 유사


        ex) ]# smbclient //172.16.5.1/Linux -Ustu




      L) mount 명령을 이용하여 공유폴더를 리눅스에 연결하여 사용

        ]# mount -t cifs //공유주소/공유폴더명  연결디렉토리 -ousername=windows계정


        ex) ]# mkdir /mnt/windows

            ]# mount -t cifs //172.16.5.1/Linux  /mnt/windows -ousername=stu

            Password:암호          

            ]# df -h




    ※ 부팅시 windows 공유폴더를 연결디렉토리에 자동으로 mount 되도록 설정   

       ]# vi /etc/fstab

       ...

       //172.16.5.1/Linux /mnt/windows cifs username=stu,password=knit,rw   0 0

 




  2. 리눅스에서 공유한 디렉토리를 Windows에서 사용하는 방법  => Samba 서버

     1) Samba Server 프로그램 설치

       ]# rpm -qa | grep samba    

       ]# yum -y install samba  =>  Samba Server 설치




     2) Samba 서버 환경설정

       ]# vi /etc/samba/smb.conf  => 서버 환경설정 및 공유 설정  


       == Global Settings ==   =>  서버 환경설정

       ...

       security = user      => 리눅스 계정으로 인증되어야만 공유폴더에 접근 가능


       == Share Definitions ==     =>  서버 공유 설정

       [공유폴더명]             => windows 출력되는 공유이름

       commnet=설명문           => 공유폴더의 설명

       path=공유디렉토리경로    => 실제 공유되는 디렉토리 경로 ex)일반계정인 경우 특별히 디렉토리를 공유하지 않는다. 

       browseable={yes|no} => 공유폴더 출력 유무 : 접근 가능한 사용자에게만 출력

       writable={yes|no}        => 쓰기 권한 허용 유무  (비슷) readonly={yes|no} 

       write list=+그룹명       => 쓰기 권한을 그룹에게 부여

       create mask=umask값      => 기본 생성권한 지정

       guest ok={yes|no}        => Guest계정 허용 유무   (비슷) public={yes|no}

       valid users=계정명...    => 공유 디렉토리에 접근 가능 계정 지정 


      ex) [homes]

          comment=Home Directory

          browseable=no 

          writable=yes

          create mask=0644

          valid users=%S       => useradd로 생성된 모든 계정 


         ※ path를 지정하지 않은 경우 계정의 홈디렉토리만 공유 표시 

          ※ testparm 명령을 이용하여 환경설정 오류 검사





     3) samba 계정 생성 => Windows와 Linux의 암호체제가 같지 않기 때문에 삼바계정을 생성

        ]# smbpasswd -a 계정명   => 삼바계정(리눅스 계정 이용) 생성 및 암호 변경 




     4) samba 데몬 실행

        ]# service smb start      

           => SMB 서비스 : Samba 데몬

              NMB 서비스 : ip주소를 사용할 수 있도록 이름을 지정하는 서비스              

        ]# chkconfig --level 2345 smb on 

        ※ 만약 NMB 서비스가 실행되지 않으면 따로 실행하여 준다.

           ]# service nmb start 




     5) Windows 에서 공유디렉토리 접근 사용 (삼바계정으로 로그인)

        => \\공유서버ip주소\공유폴더명  (공유폴더는 생략 가능) 


반응형