Ubuntuでファイルを共有する場合、一般的なのはSambaを利用する方法です。
もっとも手軽に行うのは、フォルダ右クリックメニューから共有する方法です。
右クリックメニューにSambaの共有項目を追加
マウスの右クリックで簡単にフォルダを共有できるようにします。
まずはsambaと右クリックメニューを拡張するツールをインストール。
sudo apt update
sudo apt install nautilus-share samba -y
次に、Sambaでフォルダを共有する権限をユーザーに付与します
sudo usermod -a -G sambashare $USER
匿名アクセスを許可しない場合は、Samba専用のパスワードを設定する必要があります。これは普段Ubuntuにログインする時のパスワードとは別で管理されるので、同じでも別でも構いません。
sudo smbpasswd -a $USER
設定を有効にするには、ファイルマネージャーの再起動、またはシステムの再ログインが必要。
Sambaを再起動します。
sudo systemctl restart smbd
ファイルマネージャを再起動します。
nautilus -q


コマンドを使えば細かな指定が可能
コマンドから設定すれば、より詳細な設定も可能です。ここではそれぞれ用途の違う3つのフォルダを作成した例を紹介します。
/samba/public ゲストOK(誰でもアクセス可能)
/samba/tarou ユーザー名tarouとパスワードを知っていれば誰でもアクセス可能
/samba/private 自分専用の共有フォルダ(普段ログインに使用しているユーザー)
フォルダを作成する
sudo mkdir -p /samba/public /samba/tarou /samba/private
各フォルダにアクセス権を設定する
# --- 1. public (誰でも読み書きOK) ---
sudo chmod 777 /samba/public
# --- 2. tarou (tarouユーザー専用) ---
sudo adduser --system --no-create-home tarou
sudo chown tarou:sambashare /samba/tarou
sudo chmod 770 /samba/tarou
sudo smbpasswd -a tarou
# --- 3. private (自分専用) ---
sudo chown $USER:$USER /samba/private
sudo chmod 700 /samba/private
sudo smbpasswd -a ユーザー名
数字の意味と権限の違い
| コマンド | 所有者 | グループ | その他(全員) | 解説 |
|---|---|---|---|---|
777 | 読・書・実行 | 読・書・実行 | 読・書・実行 | フルオープン。誰でもファイルを消したり作ったりできます。 |
770 | 読・書・実行 | 読・書・実行 | — | 関係者のみ。所有者と特定のグループメンバー以外は中身すら見えません。 |
700 | 読・書・実行 | — | — | 自分専用。所有者本人以外は、たとえグループが同じでもアクセス不可です。 |
ちなみに、この指定ではtarouはsambashare グループには入っていません。フォルダの所有者が tarou 本人(chown tarou:…)なので、読み書き自体は問題なくできます。もしグループに参加させるならsudo gpasswd -a tarou sambashareと指定します。
Samba設定ファイル (/etc/samba/smb.conf) への追記
Sambaの設定ファイルに記載します。
sudo nano /etc/samba/smb.conf
設定ファイルの末尾に、以下を貼り付けます。
# --- public: ゲストOK、パスワード不要 ---
[public]
path = /samba/public
guest ok = yes
writable = yes
force user = nobody
# --- tarou: tarouユーザーのみ(要パスワード) ---
[tarou-share]
path = /samba/tarou
valid users = tarou
writable = yes
guest ok = no
# --- private: あなただけ(要パスワード) ---
[private-share]
path = /samba/private
valid users = %U
writable = yes
guest ok = no
Sambaの設定ファイルを編集したら文法チェックをしておきましょう。
testparm
Loaded services file OK. と出ていれば設定ファイルの記述ミスはありません。
Sambaの再起動
Sambaを再起動します。
sudo systemctl restart smbd
これで設定は完了です。

Windowsからアクセスした場合のトラブル
Windowsからアクセスしたらネットワーク資格情報の入力を求められて、ユーザー名、パスワード無しだと弾かれる、といったケースがあります。

Windows 10/11はセキュリティ強化のため、相手が誰かわからない(匿名)状態での接続を拒否します。
この場合、まずは以下の入力を試してみてください。
- ユーザー名:
guest(またはEveryone) - パスワード: (空欄のまま)
これは、Ubuntu側に Everyone というユーザーは存在しないので、Sambaはそれを 「Bad User(存在しないユーザー)」 と判断します。map to guest = Bad User 設定により、存在しないユーザーからのアクセスを自動的に 「ゲスト(nobody)」 として扱い、その結果、guest ok = yes になっている [public] フォルダへのアクセスが許可されるというわけです。
ただ、tarouフォルダにアクセスしようとすると、設定したパスワードでも弾かれるといったケースもあります。これはWindowsは一度「ゲスト」としてサーバーに繋がると、同じサーバーに対して別のユーザー(tarou)でログインし直すのを拒否する性質があるからです。
この場合は、Windowsのコマンドプロンプトを開き、以下を実行してください:
net use * /delete /y
また、もし以前に別の設定で接続を試したことがある場合、Windowsが「間違った資格情報」をキャッシュしていて、新しい入力を受け付けないことがあります。Windowsのスタートメニューで「資格情報マネージャー」と検索して開き、関係する項目おを一旦削除してみると解決するかもしれません。
Macの場合
Macのネットワークからアクセスすると一覧は表示されますが、tarouやPriveteにアクセスしようとすると「オリジナルの項目が見つからないため、操作を完了できません。」などと表示されてでエラーになる事があります。
この場合、Finderのメニューバーから [移動] > [サーバへ接続…] (または Command + K)を選択し、以下のようにユーザー名を指定して入力します。
smb://tarou@192.168.x.x
これでtarouなどをマウントしようとすれば、パスワードを入力出来るようになります。
