WindowsやMacなどとファイルを共有するため、Ubuntu Serverをファイルサーバとして使えるようにします。
今ではWindowsだけでなくMacもSMB(Server Message Block)プロトコルをサポートしていますので、SambaでUbuntu Serverのファイルを共有できるようにします。
Sambaのインストール
Sambaはaptコマンドで簡単にインストールできます。
sudo apt update
sudo apt install samba
/etc/samba/smb.conf の設定
/etc/samba/smb.confファイルに共有ディレクトリの設定を追加します。
ホームディレクトリの共有設定
ログインユーザーごとに設けられているホームディレクトリの共有方法です。
/etc/samba/smb.confをテキストエディタで開きます。
sudo nano /etc/samba/smb.conf
[homes]セクションの行まで移動します。nanoの場合、Ctrl+Wで検索できます。
[homes]セクションの行頭の「;」記号を削除し「read only = no」に変更して、ホームディレクトリを読み書きできるようにします。
# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares. This will share each
# user's home directory as \\server\username
[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 = no
/etc/samba/smb.confを変更したら、Sambaを再起動します。
sudo systemctl restart smbd
共有ディレクトリの設定
複数のログインユーザーで共有できるディレクトリの作成方法です。任意のグループに所属する任意のユーザーからアクセスできるようにします。「/home/share/sharedDirectory」や「sharedDirectory」は一例です。好みの名前で作成します。
sudo mkdir -m 777 -p /home/share/sharedDirectory
# /etc/samba/smb.confに[sharedDirectory]セクションを追加する
sudo nano /etc/samba/smb.conf
# /etc/samba/smb.confを変更したらSambaを再起動する
sudo systemctl restart smbd
/etc/samba/smb.confに追加する新しいセクションです。
[sharedDirectory]
comment = Shared Directory
browsable = yes
read only = no
path = /home/share/sharedDirectory
特定のユーザーだけで共有する場合は専用のグループをgroupaddコマンドで作成してグループ単位でアクセス許可を与えるようにします。「sharedGroup」は一例です。好みのグループ名で作成します。
sudo groupadd sharedGroup
sudo chgrp sharedGroup /home/share/sharedDirectory # ディレクトリのグループ変更
# 所有者とグループだけにアクセス許可を与える(その他のユーザーはアクセス許可なし)
sudo chmod 770 /home/share/sharedDirectory
# sharedDirectory配下のファイル・ディレクトリにsharedGroupグループを継承するための設定を行う
sudo chmod +s /home/share/sharedDirectory
Sambaのユーザー登録
WindowsやMacからUbuntu ServerのSambaにログインするためのユーザーを追加します。【ログインユーザー】はUbuntu Serverのログインユーザー名です。
sudo sudo pdbedit -a 【ログインユーザー】
パスワードはSambaにログインするときに要求するパスワードです。ログインユーザーのパスワードと異なっていてもかまいません。
new password:【Sambaにログインするパスワードを入力】
retype new password:【再度パスワードを入力】
・・・
ファイアウォールの設定
Ubuntu Serverのファイアウォールを有効にしている場合、Sambaへの接続を許可します。以下のコマンドでは同一LAN内に接続されているコンピュータだけを許可するようにしています。
sudo ufw allow from 192.168.xxx.0/24 to any app Samba