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というフォルダが表示されていることを確認できたら、パスワード無しでファイルの読み書き削除ができることも確認のこと。下図の赤枠内右にあるフォルダが説明してきた例示の共有フォルダです。
コメントを残す