14.4. 설정 예


다음 예제에서는 SELinux가 Samba 서버를 보완하는 방법과 Samba 서버의 전체 기능을 관리하는 방법을 보여주는 실제 데모를 제공합니다.

14.4.1. 생성한 디렉토리를 공유

다음 예제에서는 새 디렉터리를 만들고 Samba를 통해 해당 디렉터리를 공유합니다.
  1. samba, samba -common, samba-client 패키지가 설치되어 있는지 확인합니다.
    ~]$ rpm -q samba samba-common samba-client
    package samba is not installed
    package samba-common is not installed
    package samba-client is not installed
    
    Copy to Clipboard Toggle word wrap
    이러한 패키지가 설치되지 않은 경우 yum 유틸리티를 root로 사용하여 설치합니다.
    ~]# yum install package-name
    Copy to Clipboard Toggle word wrap
  2. root로 Cryo stat 유틸리티를 사용하여 Samba를 통해 파일을 공유할 새 최상위 디렉토리를 만듭니다.
    ~]# mkdir /myshare
    Copy to Clipboard Toggle word wrap
  3. touch 유틸리티 root를 사용하여 빈 파일을 생성합니다. 이 파일은 나중에 Samba 공유가 올바르게 마운트되었는지 확인하는 데 사용됩니다.
    ~]# touch /myshare/file1
    Copy to Clipboard Toggle word wrap
  4. SELinux를 사용하면 /etc/samba/smb.conf 파일 및 Linux 권한이 적절하게 설정된 경우 Samba가 samba_share_t 유형으로 레이블이 지정된 파일을 읽고 쓸 수 있습니다. root로 다음 명령을 입력하여 레이블 변경 사항을 파일 컨텍스트 구성에 추가합니다.
    ~]# semanage fcontext -a -t samba_share_t "/myshare(/.*)?"
    Copy to Clipboard Toggle word wrap
  5. restorecon 유틸리티를 root로 사용하여 레이블 변경 사항을 적용합니다.
    ~]# restorecon -R -v /myshare
    restorecon reset /myshare context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
    restorecon reset /myshare/file1 context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
    
    Copy to Clipboard Toggle word wrap
  6. /etc/samba/smb.conf 를 root로 편집합니다. 이 파일 하단에 다음을 추가하여 Samba를 통해 /myshare/ 디렉터리를 공유합니다.
    [myshare]
    comment = My share
    path = /myshare
    public = yes
    writable = no
    
    Copy to Clipboard Toggle word wrap
  7. Samba 파일 시스템을 마운트하려면 Samba 계정이 필요합니다. root로 다음 명령을 입력하여 Samba 계정을 만듭니다. 여기서 username 은 기존 Linux 사용자입니다. 예를 들어 smbpasswd -a testuser 는 Linux testuser 사용자에 대한 Samba 계정을 생성합니다.
    ~]# smbpasswd -a testuser
    New SMB password: Enter a password
    Retype new SMB password: Enter the same password again
    Added user testuser.
    
    Copy to Clipboard Toggle word wrap
    위 명령을 입력하면 시스템에 존재하지 않는 계정의 사용자 이름을 지정하면 '사용자 이름 '! 오류에 대한 Unix 계정을찾을수 없습니다.
  8. Samba 서비스를 시작합니다.
    ~]# systemctl start smb.service
    Copy to Clipboard Toggle word wrap
  9. 다음 명령을 입력하여 사용 가능한 공유를 나열합니다. 여기서 username 은 7단계에 추가된 Samba 계정입니다. 암호를 입력하라는 메시지가 표시되면 7단계에서 Samba 계정에 할당된 암호를 입력합니다(버전 번호는 다를 수 있음).
    ~]$ smbclient -U username -L localhost
    Enter username's password:
    Domain=[HOSTNAME] OS=[Unix] Server=[Samba 3.4.0-0.41.el6]
    
    Sharename       Type      Comment
    ---------       ----      -------
    myshare         Disk      My share
    IPC$            IPC       IPC Service (Samba Server Version 3.4.0-0.41.el6)
    username        Disk      Home Directories
    Domain=[HOSTNAME] OS=[Unix] Server=[Samba 3.4.0-0.41.el6]
    
    Server               Comment
    ---------            -------
    
    Workgroup            Master
    ---------            -------
    
    Copy to Clipboard Toggle word wrap
  10. root로 Cryo stat 유틸리티를 사용하여 새 디렉터리를 만듭니다. 이 디렉터리는 myshare Samba 공유를 마운트하는 데 사용됩니다.
    ~]# mkdir /test/
    Copy to Clipboard Toggle word wrap
  11. root로 다음 명령을 입력하여 myshare Samba 공유를 /test/ 에 마운트하고 사용자 이름을 단계 7의 사용자 이름으로 교체합니다.
    ~]# mount //localhost/myshare /test/ -o user=username
    Copy to Clipboard Toggle word wrap
    7단계에 구성된 사용자 이름의 암호를 입력합니다.
  12. 다음 명령을 입력하여 3단계에서 만든 file1 파일을 봅니다.
    ~]$ ls /test/
    file1
    
    Copy to Clipboard Toggle word wrap

14.4.2. 웹 사이트 공유

예를 들어 /var/www/html/ 디렉터리의 웹 사이트를 공유하려는 경우와 같이 samba_share_t 유형으로 파일에 레이블을 지정할 수 없습니다. 이러한 경우 samba_export_all_ro 부울을 사용하여 파일 또는 디렉터리(현재 레이블 없이)를 사용하여 읽기 전용 권한만 허용하거나 samba_export_all_rw 부울이 파일 또는 디렉터리(현재 레이블 제외)를 공유하도록 허용하여 읽기 및 쓰기 권한을 허용합니다.
다음 예제에서는 /var/www/html/ 에 웹 사이트에 대한 파일을 생성한 다음 Samba를 통해 해당 파일을 공유하여 읽기 및 쓰기 권한을 허용합니다. 이 예제에서는 httpd,samba,samba-common,samba-clientwget 패키지가 설치되어 있다고 가정합니다.
  1. root 사용자로 /var/www/html/file1.html 파일을 만듭니다. 다음 콘텐츠를 복사하여 이 파일에 붙여넣습니다.
    <html>
    <h2>File being shared through the Apache HTTP Server and Samba.</h2>
    </html>
    
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 입력하여 file1.html 의 SELinux 컨텍스트를 확인합니다.
    ~]$ ls -Z /var/www/html/file1.html
    -rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/file1.html
    
    Copy to Clipboard Toggle word wrap
    이 파일은 httpd_sys_content_t 로 레이블이 지정됩니다. 기본적으로 Apache HTTP 서버는 이 유형에 액세스할 수 있지만 Samba는 이 유형에 액세스할 수 없습니다.
  3. Apache HTTP 서버를 시작합니다.
    ~]# systemctl start httpd.service
    Copy to Clipboard Toggle word wrap
  4. 사용자가 에 대한 쓰기 액세스 권한이 있는 디렉터리로 변경하고 다음 명령을 입력합니다. 기본 구성을 변경하지 않는 한 이 명령은 성공합니다.
    ~]$ wget http://localhost/file1.html
    Resolving localhost... 127.0.0.1
    Connecting to localhost|127.0.0.1|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 84 [text/html]
    Saving to: `file1.html.1'
    
    100%[=======================>] 84          --.-K/s   in 0s      
    
    `file1.html.1' saved [84/84]
    
    Copy to Clipboard Toggle word wrap
  5. /etc/samba/smb.conf 를 root로 편집합니다. 이 파일 하단에 다음을 추가하여 Samba를 통해 /var/www/html/ 디렉터리를 공유합니다.
    [website]
    comment = Sharing a website
    path = /var/www/html/
    public = no
    writable = no
    
    Copy to Clipboard Toggle word wrap
  6. /var/www/html/ 디렉터리는 httpd_sys_content_t 유형으로 레이블이 지정됩니다. 기본적으로 Samba는 Linux 권한이 허용하더라도 이 유형으로 레이블이 지정된 파일과 디렉터리에 액세스할 수 없습니다. Samba 액세스를 허용하려면 samba_export_all_ro 부울을 활성화합니다.
    ~]# setsebool -P samba_export_all_ro on
    Copy to Clipboard Toggle word wrap
    재부팅 시 변경 사항이 유지되지 않도록 하려면 -P 옵션을 사용하지 마십시오. samba_export_all_ro 부울을 활성화하면 Samba가 모든 유형에 액세스할 수 있습니다.
  7. Samba 서비스를 시작합니다.
    ~]# systemctl start smb.service
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동