1 views

実現させる機能

我が家ではCentOSサーバーにUSBハードディスクを外付けして、家族のビデオや写真、音楽CDからテレビ番組に至るまでそれに貯め込んでいます。これを家族全員が各人のパソコンから見たり聞いたりしています。この機能を実現してくれるのがSambaです。

事前準備

NTFS形式のUSBハードディスクを追加(fuse-ntfs-3g)して、Windows用のUSBハードディスクをCentOSでも使えるようにしておく必要があります。

Sambaの導入手順

(1)Sambaのインストール

[root@ufuso ~]# yum -y install samba ← sambaインストール
インストール:
  samba.x86_64 0:4.1.1-35.el7_0                                                 

完了しました!

[root@ufuso ~]# mkdir /mnt/usbhd/all/public ← 全ユーザでフルアクセスできる共有
ディレクトリ作成

[root@ufuso ~]# chmod -R 777 /mnt/usbhd/all/public← 共有フォルダに書き込み権限
を設定

(2)Sambaの設定

[root@ufuso ~]# vi /etc/samba/smb.conf ← Samba設定ファイル編集
#======================= Global Settings =====================================
[global]

unix charset = UTF-8 ← 追加(Linux側日本語文字コード)
dos charset = CP932 ← 追加(Windows側日本語文字コード)


# Hosts Allow/Hosts Deny lets you restrict who can connect, and you can
# specifiy it as a per share option as well
#

   workgroup = ufuso ← WORKGROUPを自宅のWindowsのワークグループ名に変更(例示
では「ufuso」)
※マイコンピュータのプロパティ⇒コンピュータ名タブ内のワークグループ欄を参照
  server string = Samba Server Version %v

; netbios name = MYSERVER

; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
  hosts allow = 127. 192.168.24. ← 行頭の;を削除して自宅のネットワークを設定。
例示では「192.168.24」
   max protocol = SMB2 ← 行頭の;を削除してSMB2通信を有効にする

# ----------------------- Standalone Server Options ------------------------
#
# security = the mode Samba runs in. This can be set to user, share
# (deprecated), or server (deprecated).
#
# passdb backend = the backend used to store user information in. New
# installations should use either tdbsam or ldapsam. No additional configuration
# is required for tdbsam. The "smbpasswd" utility is available for backwards
# compatibility.
#

        security = user
        passdb backend = tdbsam
        map to guest = Bad User ← 認証できないユーザーはゲスト扱い

以下を最終行に追記

[public]
comment = Public Stuff
path = /mnt/usbhd/all/public ← 共有フォルダまでのパスを入力。外付けのUSBハード
ディスクにpublicというフォルダを作成した例
   public = yes  ← 共有フォルダ指定
   writable = yes ← 書き込みOK
        guest ok = yes ← ゲストユーザーOK
        guest only = yes ← 誰でもゲスト扱い
        create mode = 0777 ← フルアクセスでファイル作成
        directory mode = 0777 ← フルアクセスでフォルダ作成
        share modes = yes ← 複数人が同一ファイルに同時アクセス時に警告

   
   

(3)Sambaの起動

[root@ ~]# systemctl start smb ← Samba起動

[root@ ~]# systemctl start nmb ← Samba起動

[root@ ~]# systemctl enable smb ← Samba自動起動設定
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'

[root@ ~]# systemctl enable nmb ← Samba自動起動設定
ln -s '/usr/lib/systemd/system/nmb.service' '/etc/systemd/system/multi-user.target.wants/nmb.service'

(4)SELinux対策(有効のまま運用)

[root@ufuso ~]# ls -dZ /mnt/usbhd/all/public ← publicフォルダののSELinuxの設定
状況を確認
drwxrwxrwx. root root system_u:object_r:fusefs_t:s0    /mnt/usbhd/all/public
 ← fusefs_tであることを確認

[root@ufuso ~]# getsebool -a | grep samba ← SambaのSELinuxの設定状況を確認
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off ← これをONにする
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off

[root@ ~]# setsebool -P samba_share_fusefs on ← samba_share_fusefsを有功に
する(完了までに十秒以上かかる)

(5)Sambaの起動確認
Windowsクライアント側で「マイネットワーク」を開いてpublicというフォルダが表示されていることを確認できたら、パスワード無しでファイルの読み書き削除ができることも確認のこと。下図の赤枠内右にあるフォルダが説明してきた例示の共有フォルダです。
mnt05

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください