1.インストールとユーザー登録
家庭LANの中で、通常作業で使用するWindows PCとサーパートとの間でファイルをやりとりするに為にsambaをインストールします。
yuu@web2:~$ sudo apt install samba |
sambaのインストールが完了したらsambaのユーザーを登録してパスワードを設定します。ユーザーは予めこのサーバーに登録されているユーザーである必要があります。
yuu@web2:~$ sudo pdbedit -a yuu new password: retype new password: |
登録が完了すると登録ユーザー情報が表示されます。
サーバーを再起動してsambaの状態を確認します。
yuu@web2:~$ sudo service smbd status |
インストールしたそのままで、boot時の自動起動が設定されているようです。
sambaのconfigファイルをデフォルトのままでもWindows PCからサーバーPC(WEB2)が見えるようになりました。まだ何も設定していないのでサーバーPC内のフォルダを見ることは出来ません。
2.共有フォルダーの作成
sambaでのファイル共有を一般に開放することは無いので必ずしも共有ディレクトリを作る必要は無いのですが、非公開ファイルとweb上に公開するファイルのやりとりを区別するために共有ファイルを作ります。
share フォルダは /home の下に作りました。
chmod コマンドで /home/share フォルダーのアクセス権限を変更します。
uu@web2:~$ sudo mkdir /home/share yuu@web2:~$ sudo ls /home share yuu yuu@web2:~$ sudo chmod 777 /home/share yuu@web2:~$ sudo ls -la /home 合計 16 drwxr-xr-x 4 root root 4096 2月 9 22:29 . drwxr-xr-x 20 root root 4096 2月 9 11:51 .. drwxrwxrwx 2 root root 4096 2月 9 22:29 share drwxr-xr-x 4 yuu yuu 4096 2月 6 22:03 yuu yuu@web2:~$ |
3.フォルダー共有の設定
(1)ネットワークインターフェイスの確認
yuu@web2:~$ sudo ip address show |
サーバーに2つ有るLANポートの内、enp2s0f0 を使用しています。
ip アドレスは、192.168.11.65/24。
この情報を以下の設定で使用します。
(2)smb.conf の編集
yuu@web2:~$ sudo nano /etc/samba/smb.conf |
(3)[global] セクションへの追記
文字化けを防ぐためにキャラクターセットを追加。
workgroupe 名はWindows PC からサーバーが見えているので取り合えず変更無し。
#====================== Global Settings =======================
[global] # Change this to the workgroup/NT-domain name your Samba server will part of # server string is the equivalent of the NT Description field |
Networking の項目を以下のように編集する。
#### Networking ####
# The specific set of interfaces / networks to bind to |
(4)ホームディレクトリの設定
[homes]セクションのコメントアウトを解除して編集します。
# [homes]セクションのセミコロンを削除して有効化する [homes] comment = Home Directories # セミコロンを外す # 次の行のセミコロンを外す browseable = no# By default, the home directories are exported read-only. Change the # next parameter to ‘no’ if you want to be able to write to them. ; read only = yes# File creation mask is set to 0700 for security reasons. If you want to # create files with group=rw permissions, set next parameter to 0775. ; create mask = 0700 create mask = 0755 # 追記# Directory creation mask is set to 0700 for security reasons. If you want to # create dirs. with group=rw permissions, set next parameter to 0775. ; directory mask = 0700 # By default, \\server\username shares can be connected to by anyone |
(5)共有ディレクトリの設定
smb.conf ファイルの末尾に共有ディレクトリの設定セクションを追記します。
[share] path = /home/share writable = yes guest ok = yes guest only = yes create mode = 0777 directory mode = 0777 |
(6)設定の有効化
編集した smb.conf を保存終了してsamba を再起動。
正常に起動していることを確認します。smb.conf に構文間違いがあるとエラーになって再起動が失敗します。
yuu@web2:~$ sudo systemctl restart smbd nmbd yuu@web2:~$ sudo service smbd status |
(7)ファイアウォール(ufw)の設定
ufw を利用可能なアプリケーションを確認します。
yuu@web2:~$ sudo ufw app list [sudo] yuu のパスワード: 利用可能なアプリケーション: Apache Apache Full Apache Secure OpenSSH Samba |
samba の利用を登録します。
yuu@web2:~$ sudo ufw allow in “Samba” ルールを追加しました ルールを追加しました (v6) |
ufw への登録を確認します。
yuu@web2:~$ sudo ufw status 状態: アクティブTo Action From — —— —- Apache ALLOW Anywhere OpenSSH ALLOW Anywhere Samba ALLOW Anywhere Apache (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6) Samba (v6) ALLOW Anywhere (v6) |
(8)Windows PCからの共有接続確認
Windows PC のエクスプローラからネットワークを確認すると、サーバーPCとその下のshare フォルダーが見えます。この段階でshare フォルダーには読書可能です。
自分のホームディレクトリを共有するにはログインが必要です。
エクスプローラから、\\サーバー名\ユーザ名 でログインします。
ログインすると、サーバーPCの下に、ユーザーディレクトリが現れ、読書可能になります。
(9)Ubuntu起動時の自動実行設定
OSを再起動したときにsambaを自動実行するように設定します。
yuu@web2:~$ sudo systemctl enable smbd nmbd Synchronizing state of smbd.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable smbd Synchronizing state of nmbd.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable nmbd |