kukai88

垢 - やったことを残す -

ファイルサーバー(Samba)を構築する

環境

1. Samba パッケージをインストールする

$ sudo apt install samba

インストールが完了したら、下の 2 つが起動していることを確認します。

  • smbd ... ファイル共有機
  • nmbd ... ホスト名でファイルサーバーにアクセスするためのネームサーバー機能
$ sudo systemctl status smbd
$ sudo systemctl status nmbd

2. Samba の設定ファイルを調整する

設定ファイル /etc/samba/smbd.conf をバックアップファイルに変更して、新たに設定ファイルを作成します。

$ sudo mv /etc/samba/smbd.conf /etc/samba/smbd.conf.bak
$ sudo vi /etc/samba/smbd.conf


以下の内容を設定ファイルに記述します。

[global]
workgroup = WORKGROUP
dos charset = cp932
unix charset = UTF8
interfaces = xxx.xxx.xxx.xxx/xx

[share]
path = /var/share
browsable = yes
writable = yes
create mask = 0777
directory mask = 0777


設定ファイルの作成が完了すると、変更内容を反映するように smbd と nmbd を再起動します。

$ sudo systemctl restart smbd
$ sudo systemctl restart nmbd

3. ファイルサーバーとして共有するディレクトリを作成する

/var 直下に「share」ディレクトリを作成して、パーミッション「777」で設定します。(パーミッションは 777 でなくても大丈夫かも。)

$ mkdir /var/share
$ sudo chmod 777 /var/share

4. Samba にアクセスするためのユーザーを作成・登録する

Samba にアクセスするためには、ユーザーを Ubuntu Server 上に作成し、Samba に登録します。
注:初めてファイルサーバーにアクセスする際に、ここで作成したユーザー名とパスワードを聞かれます。

$ sudo adduser sambauser
$ sudo pdbedit sambauser

5. ファイヤフォールを調整する

Samba へのアクセスには 137/tcp、138/udp、139/udp、445/tcp が使われるみたいですが、各々設定するのが面倒だったので、以下のようにしました。

ファイヤウォールが "有効" になっていることを確認
$ sudo ufw status
Samba で使用するポートを空ける
$ sudo ufw allow samba

6. Windows PC からアクセスする

Windows 10 の Explore を開いて、アドレスバーに IP アドレス「\\xxx.xxx.xxx.xxx」を入力すると、共有フォルダが見えます。

課題

  • Windos 10 の Explore のアドレスバーにホスト名を入力して、ホスト名でアクセスすると共有フォルダが見えない。
    • 名前解決が適切にできていないみたい?