ネットワーク上に複数のコンピューターがあり、「Linux」OSからファイルやフォルダーを共有できるようにしたい場合、その手順は驚くほど簡単である。一部のLinuxディストリビューションはこの手順をクリック操作だけで実行できるようにしようと試みているが、期待通りに機能しないことも多い。
その場合は、「Samba」とターミナルウィンドウを使用する必要があるが、心配は無用だ。本記事では、その手順を分かりやすく説明する。手順を完了すれば、共有されたフォルダーとファイルに、LAN上のすべてのユーザーがアクセスできるようになる。
これを機能させるには、実行中のLinuxインスタンスとsudo権限を持つユーザーが必要だ。ここでは、ユーザーフレンドリーな「Ubuntu Desktop 22.04」を使用して説明を進めるが、手順はほとんどのディストリビューションで同じである(唯一の例外は、Sambaのインストール)。
それでは、実際の手順の説明に移ろう。
Sambaをインストールする
最初に、Sambaをインストールする必要がある。コマンドラインからインストールするので、Linuxデスクトップにログインして、ターミナルウィンドウアプリケーションを開く。ターミナルを開いた状態で、以下のコマンドを実行してSambaをインストールする。
sudo apt-get install samba -y
「Fedora」(または「RHEL」)ベースのデスクトップを使用している場合、コマンドは以下のようになる。
sudo dnf install samba -y
Sambaがデフォルトですでにインストールされている場合もある。いずれにせよ、Sambaがインストールされたら、次の手順に進もう。
以下のコマンドで、Sambaサービスを開始して有効にする。
sudo systemctl enable --now smbd
Linuxファイルマネージャーの中には、GUIアプリケーション内から直接フォルダーを共有できるものもある。しかし、ファイルマネージャーにそのオプションが含まれていないこともごくまれにあるので、本記事では、手動の手順を紹介する。
共有を作成する
共有したいフォルダーがホームディレクトリーの「Public」フォルダー、つまり、/home/USER/Public(USERはユーザー名)であるとしよう。ターミナルウィンドウに戻って、以下のコマンドでSambaの設定ファイルを開く。
sudo nano /etc/samba.smb.conf
そのファイルの下部に以下を貼り付ける。
[Public] path = /home/USER/Public browsable = yes writable = yes read only = no force create mode = 0666 force directory mode = 0777
USERはユーザー名だ。
注:ほかのユーザーがファイルやフォルダーに変更を加えられないようにしたい場合は、「writeable」を「no」に設定する。
ファイルを保存して閉じる。以下のコマンドでSambaを再起動する。
sudo systemctl restart smbd
この段階で、Samba共有がネットワークに表示されるが、誰もアクセスすることはできない。この問題を修正しよう。
Linuxマシンのユーザーはあなただけだと仮定しよう。だが、あなたは自分のログイン認証情報をほかのユーザーに渡すことや、共有ディレクトリーへの匿名アクセスを許可することは避けたいと考えている(セキュリティ上の問題になる可能性があるため)。どうすればいいのだろうか。ほかのユーザーがファイルやフォルダーへのアクセスのために使用できる新しいアカウントをLinuxマシン上に作成しよう。
ターミナルウィンドウで、以下のコマンドを実行して、guestshareという名前のユーザーを作成する。
sudo adduser guestshare
そのユーザーに一意の強力なパスワードを与えて、Samba Guestという名前(または、それと同じような名前)を付けた後、残りの質問に対してキーボードのEnterキーを押していく。
次に、そのユーザーをSambaに対して有効にする必要があるので、以下の2つのコマンドを実行する。
sudo smbpasswd -a guestshare sudo smbpasswd -e guestshare
1つ目のコマンドはユーザーを追加し、2つ目のコマンドはそのユーザーを有効にする。
1つ目のコマンドを入力すると、Sambaの新しいパスワードを追加するよう求められる。guestshareアカウントの作成時に追加したものと同じパスワードを使用できる。
これで、ネットワーク上のすべてのユーザーが、guestshareの認証情報を使用して、そのフォルダーにアクセスできるはずだ。
Linux上でユーザーのホームディレクトリー内から共有フォルダーを作成する方法の説明は、以上である。ユーザーは、その中のファイルやフォルダーを閲覧できるだけでなく、作成したり、変更したりすることも可能だ。
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。