CentOS 7: sambaをインストールしてWindows 10とファイル共有する

sambaをインストールして、Windows 10からホームディレクトリと複数ユーザ用共有ディレクトリにアクセスします。

sambaをインストールしたマシンのIPアドレスは192.168.11.67です。

 

1 sambaのインストール

yumでsambaをインストールします。

$ sudo yum install -y samba
$ sudo systemctl enable smb nmb

2 ポートの設定

firewall-cmdにサービス用ファイルが用意されているのでそれを用います。

$ sudo firewall-cmd --add-service=samba --permanent
$ sudo firewall-cmd --reload

3 SELinuxの設定

samba_share_tラベルなしでもホームディレクトリへのアクセスできるようにします。

$ sudo setsebool -P samba_enable_home_dirs on

今回は使用しませんが、以下の値も設定が必要になる場合があります。

 

smbd_anon_write ゲストユーザの書き込みを許可する
samba_export_all_ro samba_share_tラベルがなくても読み込めるようにする
samba_export_all_rw samba_share_tラベルがなくも書き込めるようにする

 

その他のSELinux向けのオプションはマニュアルを御覧ください。

4 pdbedit

pdbeditでsambaへアクセスできるユーザを追加します。

$ sudo pdbedit -a hiroom2
new password:
retype new password:

5 /etc/samba/smb.confの設定

ここではホームディレクトリと共有ディレクトリのアクセスを可能にする設定について記載します。

設定が完了した後、systemctlでsmbdとnmbdを再起動します。

$ sudo systemctl restart smb nmb

5.1 ホームディレクトリ共有

以下の設定では、pdbeditで作成したユーザのホームディレクトリをユーザ個人用にアクセスできるようになります。

valid usersの%Sにアクセスしようとしているディレクトリ名が設定されます(\\192.168.11.67\hiroom2なら%Sにhiroom2が設定され、hiroom2のみがアクセスを許可されます)。

# diff -uprN /etc/samba/smb.conf{.org,}
--- /etc/samba/smb.conf.org     2016-05-25 22:45:10.848194665 +0900
+++ /etc/samba/smb.conf 2016-05-25 22:53:23.054571312 +0900
@@ -283,7 +283,7 @@
        comment = Home Directories
        browseable = no
        writable = yes
-;      valid users = %S
+       valid users = %S
 ;      valid users = MYDOMAIN\%S

 [printers]

5.2 全ユーザ共有ディレクトリ

以下の設定では、ゲストユーザでディレクトリを共有できます。

\\192.168.11.67\shareでアクセスできます。ここでは読み込みのみ許可しています。

diff -uprN /etc/samba/smb.conf{.org,}
--- /etc/samba/smb.conf.org     2016-05-25 23:23:06.053359177 +0900
+++ /etc/samba/smb.conf 2016-05-25 23:24:04.420776634 +0900
@@ -318,3 +318,11 @@
 ;      writable = yes
 ;      printable = no
 ;      write list = +staff
+
+[share]
+   comment = Share directory
+   path = /var/lib/share
+   read only = no
+   guest only = no
+   guest ok = no

共有ディレクトリのアクセス権は0777にします。

samba_share_tラベルを与えます。

$ sudo mkdir /var/lib/share
$ sudo chmod 0777 /var/lib/share
$ sudo chcon -R -t samba_share_t /var/lib/share

6 Windows 10からsambaへアクセスする

\\192.168.11.67\hiroom2へアクセスします。

pdbeditで入力したユーザ名とパスワードを入力します。

0001_Authentication-to-pdbedit.png

Ubuntu 16.04のホームディレクトリへアクセスできました。

0002_Connected-Home-Directory.png

6.1 ネットワークドライブの割り当て

ネットワークドライブの割り当てを実行することでパスの入力が不要になります(ログイン時に自動でsambaへ接続してドライブに割り当てられます)。

PCを表示させて、メニューの「ネットワークドライブの割り当て」を選択します。

0003_Network-Drive.png

ここでは、\\192.168.11.67\shareを追加します。

0004_Network-Drive-Folder.png

PCにネットワークドライブが追加されました。

0005_Network-Drive-Completed.png