目次
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ライフを送りましょう。
インフラエンジニア専門の転職サイト「FEnetインフラ」
FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。
転職をお考えの方は気軽にご登録・ご相談ください。