Windowsや他のUbuntuからもアクセスできるよう、標準的かつ安全な「パスワード認証付き」の共有フォルダを作成します。
1. Sambaのインストール
まずはパッケージリストを更新し、Sambaをインストールします。
sudo apt update
sudo apt install samba -y
2. 共有用ディレクトリの作成
ファイルの実体を保存するディレクトリを作成します。ここではシステム標準のサービス用ディレクトリである /srv の下に作成します。
# ディレクトリを作成
sudo mkdir -p /srv/samba/share
# ディレクトリの所有者を現在のユーザーに変更(ご自身のユーザーで読み書きできるようにします)
sudo chown $USER:$USER /srv/samba/share
3. Sambaのパスワード設定
Sambaへのアクセスには、OSのログインパスワードとは別に「Samba用パスワード」を設定する必要があります。現在のユーザーをSambaに追加します。
sudo smbpasswd -a $USER
※ コマンドを実行すると、新しいパスワードを2回聞かれます。これがWindowsなどからアクセスする際に入力するパスワードになります。
4. 設定ファイルの編集
Sambaの設定ファイル(smb.conf)を編集し、先ほど作成したディレクトリを共有として公開します。
万が一のためにバックアップを取ってからエディタで開きます。
# バックアップの作成
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
# nanoエディタで設定ファイルを開く
sudo nano /etc/samba/smb.conf
ファイルの一番下までスクロールし、以下の設定を追記してください。(valid users = の後ろは、ご自身のUbuntuユーザー名に書き換えてください)
[MyShare]
comment = Private File Share
path = /srv/samba/share
read only = no
browsable = yes
valid users = あなたのユーザー名
[MyShare]: ネットワーク越しに見える共有フォルダの名前です(自由に変更可能です)。
- 追記が終わったら、
Ctrl + O→Enterで保存し、Ctrl + Xで閉じます。
5. サービスの再起動とファイアウォール設定
設定を反映させるためにSambaサービスを再起動し、ファイアウォール(UFW)を有効にしている場合はSambaの通信を許可します。
# Sambaを再起動
sudo systemctl restart smbd
# OS起動時に自動実行されるように設定
sudo systemctl enable smbd
# ファイアウォールでSambaを許可
sudo ufw allow samba
6. クライアントからのアクセス方法
アクセスするには、サーバーのIPアドレスが必要です。サーバー上で hostname -I を実行して、IPアドレス(例: 192.168.1.xxx など)をメモしておいてください。
Windowsからのアクセス
- キーボードの
Windowsキー + Rを押し、「ファイル名を指定して実行」を開きます。
- 名前に
\\サーバーのIPアドレス\MyShare(例:\\192.168.1.xxx\MyShare)と入力して「OK」をクリックします。
- 「ネットワーク資格情報の入力」画面が出るので、手順3で設定したユーザー名とSambaパスワードを入力します。「資格情報を記憶する」にチェックを入れると次回から自動で繋がります。
他のUbuntu(デスクトップ)からのアクセス
- 「ファイル(Nautilus)」アプリを開きます。
- 左側のメニューの一番下にある「+ 他の場所」をクリックします。
- 画面下の「サーバーへ接続」の入力欄に
smb://サーバーのIPアドレス/MyShareと入力し、Enterを押します。
- 認証画面が出るので、「登録ユーザー」を選択し、ユーザー名とSambaパスワードを入力して接続します。