FREEDOM. FRIENDS. FEATURES. FIRST. 페도라 한국 사용자 모임

파일 공유 samba 서버 구성 - 네트워크 파일 공유 - 삼바

게시판 Tech/Tip 파일 공유 samba 서버 구성 - 네트워크 파일 공유 - 삼바

  • This topic has 0개 답변, 1명 참여, and was last updated 4 years, 2 months 전에 by 태랑. This post has been viewed 2730 times
  • #101692
    태랑
    키 마스터
      게시글304 댓글1078 총합1382
    @admin
     

    안녕하세요 운영자 태랑 입니다.

     

    리눅스 간 또는 리눅스 와 이기종간의 파일 공유 서비스인 samba  서버 구성을 확인 해보도록 하겠습니다.

     

    • 테스트 환경

    OS : Fedora 34

    공유 형태: 동일한 디렉토리를 다수의 유저가 사용

     

    1. 공유 디렉토리 생성

    먼저 공유 파일이 저장될 디렉토리를 생성 합니다.

    ~]$ sudo mkdir -p /home/share

    * 디렉토리는 예시이며 사용하고자 하는 디렉토리명, 위치를 사용하면 됩니다.

     

     

    2. 그룹 및 유저 생성

    그룹 및 유저를 생성 합니다.

    유저 생성시 포스팅에서는 로그인을 할 필요성이 없고 그렇기 때문에 home 디렉토리도 생성하지 않게 유저를 생성하였습니다.

    # 그룹 생성
    ~]$ sudo groupadd samba
    
    # test1 user 생성
    ~]$ sudo useradd -g samba -M -s /sbin/nologin test1
    
    # 확인
    ~]$ sudo getent group samba

    테스트를 위해서 test2, test3 유저도 동일하게 생성하였습니다

     

     

    3. Set Permissions

    생성한 디렉토리에 대한 소유권 및 퍼미션을 조정 합니다.

    ~]$ sudo chown -R root:samba /home/share
    ~]$ sudo chmod 770 /home/share
    ~]$ sudo ls -ld /home/share
    drwxrwx---. 1 root samba /home/share

     

    [참고] SELinux 활성화 환경에서 필요 작업

    # Add new security filesystem security context:
    ~]$ sudo semanage fcontext --add --type public_content_rw_t "/home/share(/.*)?"
    ~]$ sudo semanage fcontext --add --type samba_share_t /home/share
    
    # Verifiy new security filesystem security context:
    ~]$ sudo semanage fcontext --locallist --list
    
    ~]$ sudo setsebool -P samba_domain_controller on
    ~]$ sudo setsebool -P samba_enable_home_dirs on
    ~]$ sudo chcon -t samba_share_t /home/share
    ~]$ sudo restorecon -R /home/share
    ~]$ sudo setsebool -P samba_export_all_ro on
    ~]$ sudo setsebool -P samba_export_all_rw on

     

     

    4. samba 설치 및 설정

    4-1 samba 설치

    ~]$ sudo dnf -y install samba

     

    [참조] 호스트네임을 변경시 - 필수 아님

    # 현재 호스트 네임
    hostnamectl status
    
    # 만약 호스트 네임 변경을 하고자 한다면 아래와 같이 변경
    ~]$ hostnamectl set-hostname "simple-samba-server"

     

     

    4-2 smb.conf 설정

    먼저 파일을 백업 하고 빈 파일에 설정을 하도록 하겠습니다.

    -- 먼저 파일 백업
    ~]$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.ori
    
    -- 파일 초기화
    ~]$ sudo /bin/cp /dev/null /etc/samba/smb.conf
    
    -- 설정파일 수정
    ~]$ sudo vi /etc/samba/smb.conf

     

    • smb.conf 파일 내역

    [global]
            unix charset = UTF-8
            workgroup = WORKGROUP
            server string = Samba Server Version %v
            security = user
            passdb backend = tdbsam
    
    [Share]
            comment = Share Folder
            # specify shared directory
            path = /home/share
            # allow writing
            writable = yes
            read only = no
            public = yes
            # disallow guest user (nobody)
            guest ok = no
            # looks all as guest user
            guest only = no
    
            valid users = @samba
            force group = +samba
            write list = test1,test3
            read list = test2
            create mask = 0660
            directory mask = 0770

     

     

    5. 추가 설정

    5-1 smb 유저 생성

    smbpasswd 명령어를 이용하여 smb 유저를 추가 합니다.

    ~]$ sudo smbpasswd -a test1
    New SMB password:
    Retype new SMB password:
    Added user test1.

    테스트를 위해서 test2,test3 유저도 동일하게 생성하였음

     

    5-2 firewall 비활성화

    방화벽(firewall) 이 활성화가 되어있다면 아래와 같이 서비스를 추가하여 포트를 오픈 합니다.

    ~]$ sudo firewall-cmd --add-service=samba --permanent
    ~]$ sudo firewall-cmd --reload
    
    -- firewall 정책확인
    ~]$ sudo firewall-cmd --list-services

     

    5-3 samba 서비스 활성화 및 시작

    ~]$ sudo systemctl enable smb
    ~]$ sudo systemctl start smb
    
    ~]$ sudo systemctl status smb

     

     

    6. 접속 하기

    윈도우에서 접속이 되는지 확인을 진행 합니다.

     

    6-1 네트워크 드라이브 연결 시작

    윈도우 탐색기에서 컴퓨터 탭 -> 네트워크 드라이브 연결 을 선택 합니다.

     

     

    6-2 호스트 찾기

    드라이브 연결 설정 화면에서 위에서 설정한 리눅스 서버의 IP 주소를 입력 후 찾아보기 버튼을 선택 합니다.

     

    검색되는 호스트(PC) 를 클릭 합니다.

     

     

    6-3 자격증명 입력

    자격증명 화면에서는 위에서 생성한 smb 유저 계정 정보를 입력 합니다.

     

     

    6-4 디렉토리(폴더) 선택

    samba 에서 설정한 고유 디렉토리(폴더) 를 선택 합니다.

     

    처음화면에서 마침 버튼을 클릭하여 설정을 완료 합니다.

     

     

    7. 파일 생성 및 읽기

    접속이 되었다면 폴더 및 파일을 생성 그리고 파일을 열어서 기록 등이 되는지를 확인 합니다.

     

    smb.conf 에서 read list = test2  로 설정된 test2 유저로 접속을 해보겠습니다.

     

    로그인 후 파일을 열어보면, 접근 및 파일의 내용 확인이 가능 합니다.

     

    그러나 파일이나 디렉토리 생성을 시도 하면 아래와 같이 엑세스 거부가 발생되는 것을 확인 할 수 있습니다.

     

    추가적으로 생성한 test3 의 유저로 다시 들어와서 확인 해보면 test1 처럼 write list 에 설정되어 있기 때문에 파일 생성 및 파일의 수정 등을 할 수가 있습니다.

     

    여기까지 윈도우 와 다중 사용자로 파일을 공유 하는 기본 설정에 대해서 확인해보았습니다.

    추가적인 samba 에 대한 내용은 추가적으로 업데이트 하도록 하겠습니다.

    감사합니다.

     

    Ref link.
    fedoramagazine.org/sharing-samba [Link]
    docs.fedoraproject.org/samba [Link]

     

    오픈소스를 응원합니다 Blog https://hoing.io
    Senior Database Administrator(MySQL, Oracle)

    사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

  • 답변은 로그인 후 가능합니다.

지금 이 순간


안녕하세요~
ssh 접속시 root계정 차단 문제
페도라 17을 설치하려면 화면에 계속 화면이 깜빡입니다...
안녕하세요. 가입인사입니다.
가입 인사 드려요
인베이님 HDTV 관련하여 kaffeine 질문
그래픽드라이버 설치 오류에 대한 질문입니다
Twitter 하시는분들 연락처 공유해요 >_<
즐거운 추석 연휴 보내세요 ~
가입인사 합니다.