Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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
    
    이러한 패키지가 설치되지 않은 경우 yum 유틸리티를 root로 사용하여 설치합니다.
    ~]# yum install package-name
  2. root로 mkdir 유틸리티를 사용하여 Samba를 통해 파일을 공유할 새 최상위 디렉토리를 만듭니다.
    ~]# mkdir /myshare
  3. touch 유틸리티 루트를 사용하여 빈 파일을 만듭니다. 이 파일은 나중에 Samba 공유가 올바르게 마운트되었는지 확인하는 데 사용됩니다.
    ~]# touch /myshare/file1
  4. SELinux를 사용하면 /etc/samba/smb.conf 파일 및 Linux 권한이 적절하게 설정되는 한 samba_share_t 유형으로 레이블이 지정된 파일에 Samba가 읽고 쓸 수 있습니다. root로 다음 명령을 입력하여 레이블 변경 사항을 파일 컨텍스트 구성에 추가합니다.
    ~]# semanage fcontext -a -t samba_share_t "/myshare(/.*)?"
  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
    
  6. /etc/samba/smb.conf 를 루트로 편집합니다. 이 파일의 맨 아래에 다음을 추가하여 Samba를 통해 /myshare/ 디렉토리를 공유합니다.
    [myshare]
    comment = My share
    path = /myshare
    public = yes
    writable = no
    
  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.
    
    위의 명령을 입력하면 시스템에 없는 계정의 사용자 이름을 지정하면 'username'! 오류에 대한 Unix 계정을 찾을 수 없습니다.
  8. Samba 서비스를 시작합니다.
    ~]# systemctl start smb.service
  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
    ---------            -------
    
  10. mkdir 유틸리티를 root로 사용하여 새 디렉터리를 만듭니다. 이 디렉터리는 myshare Samba 공유를 마운트하는 데 사용됩니다.
    ~]# mkdir /test/
  11. root로 다음 명령을 입력하여 myshare Samba 공유를 /test/ 에 마운트하고 username 을 7 단계의 사용자 이름으로 바꿉니다.
    ~]# mount //localhost/myshare /test/ -o user=username
    7단계에 구성된 사용자 이름의 암호를 입력합니다.
  12. 다음 명령을 입력하여 3단계에서 만든 file1 파일을 확인합니다.
    ~]$ ls /test/
    file1