LinuxMint19|Sambaでファイルサーバを構築

NASシステムが流行して、私も自宅ファイルサーバが組みたいなぁと思っている今日このごろです。
しかし、NASシステムは結構いい値段するんですよね。
ってことで、LinuxMint 19.1 “Tessa”をインストールしたジャンクPCをどうにか活用できないかと考えていたら、ありました。

LinuxOSにはファイルやプリンターを共有してくれる「Samba」というアプリケーションがあります。
これをLinuxMint 19.1で使いたいのですが、今回もインストールがうまく行かなかったので、最終的にうまく行った方法を忘却録として記録しておきます。

Sambaのインストール

手順は簡単。
ターミナルのコマンドを入力して実行するのみ。

まずは、最新のパッケージリストを取得して「Samba」をインストールします。

以下のコマンドを実行します。

sudo apt-get update
sudo apt-get install samba

途中でインストール容量が表示されて、インストールしてもいいですか?というような質問 [Y/n]」で止まったら で止まったら「y」を入力し、エンターキーを押してインストールを続けます。
これで「Samba」のインストールは完了。

Sambaのユーザー設定

次にSambaの設定をします。
まず、新しいユーザーを作り、パスワードを設定します。

sudo apt install -y samba
sudo pdbedit -a -u mint

それぞれのコマンドを実行したら

new password:

と表示されるので、パスワードを入力します。
入力したパスワードは表示されませんが、ちゃんと入力できているので、入力し終わったらエンターキー。
次にもう一度パスワードを聞かれますので、同じように入力してエンターキーを押します。

retype new password:

これでSambaのユーザー設定は完了しました。

共有ディレクトリの作成

次に、共有するディレクトリフォルダを作成します。
1行目の「sudo mkdir /home/管理者名/フォルダ名」を実行します。
管理者名はホームフォルダを開けばわかると思います。
次のshareはフォルダ名です。
好きなフォルダ名に置き換えて大丈夫です。
今回はshareというディレクトリを作成します。

2行目では先ほど作成したディレクトリに0777の権限を与えます。
これで作成したディレクトリの読み込みと書き込みが可能になります。

sudo mkdir /home/mint/share
sudo chmod 0777 /home/mint/share

Sambaの設定ファイルを変更

以下のコマンドを実行して設定ファイルを書き換えます。

sudo nano /etc/samba/smb.conf

Sambaの設定ファイルが開いたら、設定ファイルの末尾に、以下を追加します。

[mint]
comment = Share directory
path = /home/mint/share
read only = No
guest only = No
guest ok = Yes
share modes = yes

1行目の[mint]はWindowsに表示される名前です。
3行目の「path = /home/mint/share」は先程と同じように自分が作成したパスに置き換えてください。

編集が終わったら「Ctrl + O」で上書き保存します。
エンターキーを押せば上書き保存は完了します。

あとは「Ctrl + X」で設定ファイルの編集を終了します。

ターミナルのウィンドウに戻ったらSambaを再起動させて設定を有効化します。

sudo service smbd restart

これでSambaの設定は完了です。

WindowsPCから接続する

さて、いよいよWindowsPCから接続します。
エクスプローラーのパス入力欄にLinuxMintのIPアドレス、またはホスト名を入力することで接続します。

自分のLinuxMintのIPアドレスがわからない方は以下のコマンドで知ることができます。

$ ip -4 a

このコマンドを実行すると以下のように表示されます。

$ ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc fq_codel state UP group default qlen 1000
inet 10.0.0.2/32 scope global dynamic ens4
valid_lft 80568sec preferred_lft 80568sec

この赤色の部分「10.0.0.2」というのがIPアドレスですので、Windowsエクスプローラーのパス欄に¥¥[LinuxMintのIPアドレス]を入力してエンターキーを押します。
上記の場合だと「¥¥10.0.0.2」になります。

IPアドレスを指定すると「ネットワーク資格情報の入力」ウィンドウが開きます。
デフォルトではユーザー名が管理者になっていますので「その他」をクリックしてSambaインストール直後に行ったSambaユーザー名とパスワードを入力します。
また、資格情報の記憶のチェックボックにチェックを入れておくと今後の入力の手間が省けます。

これで、ディレクトリが表示され、中のファイルが見れると思います。
自身でファイルの追加や削除をして試してみてください。

ネットワークドライブに割り当てる

接続できたとおもいますが、毎回IPアドレスを入力するのも手間です。
接続されたディレクトリを右クリックすると「ネットワークドライブの割り当て」というのがあります。
これをクリックして、ネットワークドライブとして割り当てることができます。

次に表示された設定ウィンドウでお好きな「ドライブ文字」を割り当てます。
必要であれば「別の資格情報を使用して接続する」をチェックすることで、別のユーザー名で再度接続できます。

 

接続できないとき

以上の方法で接続できないときは、LinuxMintのファイアーウォールが起動しているためかと思われます。
この場合、ファイアーウォールを停止するか、ポートを開放してやる必要があります。
ファイアーウォールは大切なセキュリティですので、ここではポート開放の方法をご紹介します。

Sambaはポート137、138、139、445を使用します。
スタートメニューの「設定マネージャー」から「ファイアーウォール」を開き「Status」を確認するとチェックマークされていると思います。
「ルール」タブをクリックし、下の「+」アイコンをクリックしてルールを追加します。

ルール追加ウィンドウが表示されたら「サービス」タグの内容を変更していきます。

  • ポリシー:Allow
  • 方向:In
  • カテゴリー:すべて
  • サブカテゴリー:すべて
  • Application:SAMBA

というふうに変更して「追加」ボタンをクリックするとファイアーウォールウィンドウにルールが4行追加されます。
137、138、139、445のポートの開放が完了しました。

これで、もう一度Windowsから接続してください。
ポートが開放されたことで、接続でき、読み書きもできるようになっています。

LinuxMint19|Sambaでファイルサーバを構築 まとめ

今回も最初はうまくいかなかったんですよ。
Ubuntuのサイトみてやったらうまく行かなかったり。

いろいろなサイトを調べましたが、意外にLinuxMintのサイトは少ないと感じました。
また、専門サイトの方法も試しましたがLinuxMintのバージョンの違いかすんなり行きませんでした。

こうやってLinuxMint19.1を使用していると、すごく面白くなってきたので、初心者ながら今後もいろいろ試してみますので、よろしくおねがいします。

追記 1

自作PCをやっていると何度もクリーンインストールしたり、Sambaへの接続、切断を繰り返したりしていると「同じユーザーによる、サーバーまたは共有リソースへの複数のユーザー名での複数の接続は許可されません。サーバーまたは共有リソースへの以前の接続を切断してから、再施行してください。」とエラーウィンドウが表示されて接続できないという症状に陥ったので、これも忘却録として書いておきます。

このようなエラーが出た場合、エクスプローラーで切断していても、エクスプローラーに接続の記録が残っていることから起こるようです。
この場合、エクスプローラーに残っている接続ログを削除してやる必要があります。

まず、Windowsのコマンドプロンプトを開いて以下のコマンドを実行します。

net use

すると以下のように接続記録が表示されます。

ステータス ローカル名 リモート名 ネットワーク名
---------------------------------------------------------------
切断   ¥¥<ipアドレス>¥<フォルダ名> Microsoft Windows Network
コマンドは正常に終了しました。

切断はされていても記録が残っていることになります。
この切断の部分がOKであったなら、今もなお接続されていることになり、「同じユーザーによる複数の・・・」が当てはまります。
したがって、これを削除してやる必要があります。
削除の方法は、先程表示されたローカル名<ipアドレス>とリモート名<フォルダ名>を参考に以下のコマンドを実行します。

net use ¥¥<ipアドレス>¥<フォルダ名> /delete

これで、ログは削除され、新たにログインすることができました。

この記事が気に入ったら
いいね ! しよう