検索

4.4.2. web サイトを共有する

download PDF
/var/www/html/ で web サイトを共有したい場合など、ファイルに samba_share_t タイプのラベルが付けられない場合があります。 このような場合には、 すべてのファイルやディレクトリを共有するよう samba_export_all_ro Boolean を使用して読み取り専用パーミッションを付与するか (現在のラベルに関わらず)、 samba_export_all_rw Boolean を使用して読み取りと書き込みのパーミッションを付与します (現在のラベルに関わらず)。
以下の例では、 /var/www/html/ 内に web サイトのファイルを作成してから、 そのファイルを Samba で共有し読み取りと書き込みのパーミッションを与えています。 ここでは、 httpdsambasamba-commonsamba-clientwget のパッケージがインストールされていることを前提としています。
  1. root ユーザーになり /var/www/html/file1.html ファイルを作成します。 次のコンテンツをコピーして /var/www/html/file1.html に貼り付けます。
    <html>
    <h2>File being shared through the Apache HTTP Server and Samba.</h2>
    </html>
    
  2. ls -Z /var/www/html/file1.html を実行して 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
    
    file1.index.html には httpd_sys_content_t タイプのラベルが付けられています。デフォルトでは、Apache HTTP Server によるアクセスはできますが、 Samba によるアクセスはできません。
  3. root ユーザーで service httpd start を実行して Apache HTTP Server を起動します。
    service httpd start
    Starting httpd:                                            [  OK  ]
    
  4. Linux ユーザーでの書き込みアクセスがあるディレクトリに移動し、 wget http://localhost/file1.html コマンドを実行します。 デフォルト設定に変更がなければ、 このコマンドは成功します。
    $ 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]
    
  5. root ユーザーで /etc/samba/smb.conf を編集します。 Samba で /var/www/html/ ディレクトリを共有するため、 以下をこのファイルの末尾に追加します。
    [website]
    comment = Sharing a website
    path = /var/www/html/
    public = no
    writeable = no
    
  6. /var/www/html/ ディレクトリには httpd_sys_content_t タイプのラベルが付けられます。 デフォルトでは、 httpd_sys_content_t タイプのラベルの付いたファイルやディレクトリには、 Linux パーミッションが付与されていても Samba からはアクセスできません。 Samba によるアクセスを許可するため、 root ユーザーで次のコマンドを実行し、 samba_export_all_ro Boolean をオンにします。
    setsebool -P samba_export_all_ro on
    
    再起動後、この変更を維持したくない場合は -P を使用しないでください。 samba_export_all_ro Boolean をオンにすると、Samba からはいずれのタイプにもアクセスもできるようになるため注意してください。
  7. root ユーザーで service smb start を実行して smbd を起動します。
    service smb start
    Starting SMB services:                                     [  OK  ]
    
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.