sambaを導入してファイルサーバを構築する手順(インストールから設定方法まで)

Linux上にWindows端末から利用できるファイルサーバを構築したい場合に、あまり複雑なアクセス権などを考えず、簡単に構築する手順をご紹介します。
ユーザ・パスワードなしでsambaを利用したい場合は、こちらの記事を参考にしてください。
構成イメージ

sambaで公開するディレクトリを作成
sambaで公開するディレクトリを作成します。
ここでは、「/xxx/share」というディレクトリを例にすすめます。
$ mkdir /xxx/share
$ chmod 777 /xxx/share
sambaのインストール
sambaのインストールはaptやyumなど利用されているデストリビューションに応じたものでインストールします。
Ubuntuの場合
$ sudo apt install samba
CentOSの場合
$ sudo yum install samba
sambaの共有ディレクトリの設定
sambaの設定は「smb.conf」ファイルで設定します。
$ sudo vim /etc/samba/smb.conf
ファイルの末尾に以下のように設定を追加します。
先ほど作成したディレクトリをpathに設定し、書き込み許可、ゲスト許可としておきます。
[share]
path = /xxx/share
read only = no
guest ok = yes
設定が問題ないかを「testparm」コマンドで確認することができます。
$ testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
sambaのポート445の解放
sambaは標準でTCPの445番ポートを使用しますので、ファイアウォールを設定しアクセスできるようにします。
ここでは、ufwを利用してファイアウォールの設定します。
ufwが有効になっていない場合はまず、以下のコマンドで有効化しましょう。
$ sudo ufw enable
ufwを有効にしたら、次は445番ポートを開放します。
$ sudo ufw allow 445/tcp
statusコマンドで445番がALLOWとなっていることを確認しましょう。
$ sudo ufw status
状態: アクティブ
To Action From
-- ------ ----
445/tcp ALLOW Anywhere
445/tcp (v6) ALLOW Anywhere (v6)
設定に問題がなければ、reloadコマンで再読込を行い設定を有効にします。
$ sudo ufw reload
samba用のユーザ作成
sambaアクセス用にユーザを準備します。
ここでは、「samba」というユーザを作成する例ですすめます。
Linuxユーザを作成
useraddコマンドでsambaユーザを作成します。
$ useradd -s /bin/bash -m samba
sambaユーザにパスワードを設定します。
$ passwd samba
sambaパスワードを設定
UbuntuとCentOSでコマンドが異なりますが、先ほど作成したsambaユーザにsambaパスワードを設定します。
Ubuntu
$ smbpasswd -a samba
CentOS
$ pdbedit -a samba
sambaの再起動
以下のコマンドでsambaのサービスを再起動しこれまに設定した内容を有効化します。
$ sudo systemctl restart smbd
Windows端末からアクセス確認
Windows端末からエクスプローラで「\\[LinuxサーバのIPアドレス]\share」にアクセスすると、ユーザとパスワードの認証画面が表示されます。

パスワードを入力するとフォルダにアクセスできるようになっています。
