Sambaを使ってファイルサーバとプリントサーバを構築!Sambaとは?

Sambaとは?
SambaとはWindowsからWindows以外のOS(LinuxやUNIXなど)とファイルやプリンターを共有させるためのWindows以外のOS上で動作するオープンソースソフトウェアのことです。
ここではUbuntu20.10にSambaをインストールしてファイルサーバとプリントサーバを構築してみようと思います。
SambaはプロトコルとしてSMB/CIFSを使用していますが、バージョンがいくつかあります。プリントサーバではSMBv2以上を使用します。
つまり、SMBv1しか対応していないWindowsではUbuntu20.10のSambaで構築するプリントサーバとは接続ができませんのでご注意ください。SMBv1しか対応していないWindowsとは、具体的にはVista以前のWindowsになります。
Ubuntu20.10をインストール
何はともあれ、Ubuntuをインストールします。インストーラは雑誌の付録DVDなどで入手するのが簡単かと思いますが、インターネット上でもDVDのディスクイメージを入手できます。
インストール時に入力する「コンピュータ名」や「ユーザ名」に漢字やひらがななどの全角文字は使用せず、半角文字を使用してください。なお、インストール時に入力したコンピュータ名やユーザ名、パスワードはSambaの設定に使用しますので覚えておいてください。
以降、コンピュータ名は note64、ユーザ名は tarou、パスワードは ps+s?815 ということで記述しますので適宜書き換えてください。
また、UbuntuをインストールしたPCのIPアドレスは固定IPアドレスに設定してください。Ubuntuを起動するたびにIPアドレスが変わってしまいますとサーバとして使いづらくなってしまいます。
Sambaをインストール
デフォルトではSambaはインストールされていませんので、以下の3つのコマンドを上から順番に実行してインストールしてください。
1
2
3
|
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install samba
|
Sambaのパスワード設定
Sambaのパスワードを設定します。下のコマンドを実行してパスワードを設定してください。
1
|
sudo pdbedit -a tarou
|
CUPSをインストール
プリントサーバを構築する際にCUPSを使用します。プリントサーバを構築されない場合、ここは読み飛ばしてくださって結構です。
CUPSはUbuntuをインストールすると一緒にインストールされると思います。CUPSがインストールされているかを確認するには下の①のコマンドを実行してみてください。「HAVE_CUPS」と表示されればインストールされています。
ただし、そのままの状態では browsed という機能にバグがあり、正常に機能しません。そのため下の②のコマンドを実行して browsed をアンインストールする必要があります。
1
2
|
① smbd -b | grep "HAVE_CUPS"
② sudo apt-get purge --autoremove cups-browsed
|
CUPSでプリンターを使えるように設定
プリントサーバを構築する場合には、まずCUPSでUbuntuから印刷できる状態にしなければなりません。プリントサーバを構築されない場合、ここは読み飛ばしてくださって結構です。
下記のどちらかアクセスできる方のURLをブラウザに入力して表示されるCUPSのページの「管理」タブを選択し、「プリンターの追加」ボタンをクリックしてプリンターを追加し、Ubuntuから印刷できる状態にしてください。
なお、「このプリンターを共有する」という項目が出てきますが、共有したいのでチェックを入れてください。
1
2
|
http://[サーバアドレス]:631
http://localhost:631
|
ファイルサーバを構築する
まずはファイルサーバを構築してみることにします。ここでは個人のネットワークでセキュリティに関してはあまり考慮しないことにします。
Sambaの設定ファイルは /etc/samba/smb.conf です。以降、このファイルを編集することになります。
すべてのファイルシステムを参照できる共有設定
共有名は nt64、利用するユーザ名はtarouとしたときの設定は以下のようになります。以下の内容をsmb.confの一番下に追加してください。なお、この共有を利用しないときは追加しなくてOKです。
1
2
3
4
5
6
7
|
[nt64]
path = /
read only = no
browseable = yes
public = yes
guest ok = no
force user = tarou
|
だれからでもアクセス可能な共有
ユーザ名やパスワードを指定しなくても、誰からでもアクセス可能な共有設定です。共有名はpublicで、共有フォルダは/var/samba/publicです。
1
2
3
4
5
6
|
[public]
path = /var/samba/public
guest ok = yes
public = yes
writable = yes
vfs objects = streams_xattr
|
共有フォルダを作成
smb.confで設定(共有名 public)した共有フォルダを作成します。以下のコマンド4つを順番に実行して共有フォルダを作成してください。
1
2
3
4
|
sudo mkdir /var/samba
sudo mkdir /var/samba/public
sudo chown -R tarou:tarou /var/samba/public/
sudo chmod 0777 /var/samba/public/
|
Sambaをリスタート
smb.confファイルを編集したら設定を反映させるためSambaをリスタートさせます。Sambaは2つのプログラムから構成されているため、それぞれリスタートさせるコマンドを実行します。以下の2つのコマンドを実行してください。
1
2
|
sudo service smbd restart
sudo service nmbd restart
|
ファイルサーバの動作確認
正しくファイルサーバを構築できたかをWindowsマシンを使って確認します。Windowsのエクスプローラのアドレスバーに 「\\(コンピュータ名)」または「\\(IPアドレス)」 と入力してEnterキーを押してください。
正しく構築できていれば共有名「nt64」と「public」がエクスプローラ上に表示されます。もし「nt64」と「public」が表示されないようであればどこかに誤りがありますのでsmb.confの内容を確認してSambaをリスタートさせてください。
SambaでWindowsのファイル共有
今までの設定でWindows側の共有が見えるようになっているはずです。Ubuntuの「ファイル」を開いて「+他の場所」から、下部の「サーバへの接続」欄に、下のように入力すれば接続できます。
1
|
smb://[コンピュータ名またはIPアドレス]/[共有名]
|
プリントサーバを構築する
プリントサーバを構築する前に、CUPSでUbuntuより印刷できる状態になっている必要があります。まだ印刷できる状態になっていない場合には「CUPSをインストール」と「CUPSでプリンターを使えるように設定」項目をご覧の上、設定してください。
Sambaでプリントサーバを構築する場合、Ubuntu20.10ではSMBプロトコルのv2以上を使用することになります。よってWindows XPやVistaより以前のWindowsからはプリントサーバを利用できませんのでご了承ください。
smb.confの設定
2カ所、追加と修正をします。[global]のところには以下の4行を分かりやすい位置へ追加してください。[print$]のところは、すでに記述されているwrite listから始まる行をコメントにして、新たにその下の行を追加してください。
1
2
3
4
5
6
7
8
9
|
[global]
netbios name = samba-printer
server min protocol = SMB2
client min protocol = SMB2
printing = CUPS
[print$]
; write list = root, @lpadmin
write list = root, @tarou
|
Sambaをリスタート
smb.confファイルを編集したら設定を反映させるためSambaをリスタートさせます。以下の2つのコマンドを実行してください。
1
2
|
sudo service smbd restart
sudo service nmbd restart
|
Windows側の設定
Windowsのエクスプローラでドライバーの設定をします。
エクスプローラのアドレスバーに、
1
|
\\samba-printer
|
と入力してEnterキーを押しますと、CUPSで登録したプリンターのアイコンが表示されます。そのアイコンを右クリックして「接続」を選びますと「ドライバー見つかりません」というダイアログが表示されます。OKボタンを押しますとドライバーの選択ダイアログが表示されますので適切なドライバーを選択してください。
Windowsにプリンターの適切なドライバーがインストールされていないと表示されませんのでご注意ください。なお、互換性のあるプリンターのドライバーを選択しても動作すると思われます。
ドライバーの設定ができたら印刷できる状態になっているはずですので印刷してみましょう。印刷ダイアログで選択するプリンターは「samba-printer上」となっているプリンターです。正常に印刷できないときは設定などを最初から確認してみてください。
ファイルサーバとプリントサーバの使い方
Sambaでファイルサーバを構築しますとお互いのファイルを共有できるようになりますので非常に便利です。
古くなったパソコンにUbuntuをインストールしてファイルサーバにすればWindowsよりも動作が軽くなり、多くなったファイルを保管する場合も快適になります。
またプリントサーバについてもUbuntuで充分に使えるプリンターでUSB接続などのLANに接続されていないプリンターを共有したいときなどは重宝すると思います。
Sambaを上手に使って快適なPCライフを送りましょう。
ネプラス株式会社はサービス開始から10年以上
『エンジニアの生涯価値の向上』をミッションに掲げ、
多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
ネプラス株式会社はこんな会社です
秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
インフラ業界に特化
ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。
業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。
-
正社員なのにフリーランスのような働き方
正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。
プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。
-
大手直取引の高額案件
案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。
Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。
-
スキルアップ支援
不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。
受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など
※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。
-
現給与を保証します!※
前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。
※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。
-
インセンティブ制度
ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。
取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。
-
社会保険・福利厚生
社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。
さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。
-
東証プライム上場企業グループ
ネプラスは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
ネプラス株式会社に興味を持った方へ
ネプラス株式会社では、インフラエンジニアを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
オンライン面接も随時受付中。ぜひお気軽にご応募ください。

