Sambaサーバー · 2 min read · Dec 06, 2025

Ubuntu 16.04 LTSにおけるSambaサーバーのインストール

このガイドでは、匿名およびセキュリティで保護されたSamba共有を使用して、Ubuntu 16.04(Xenial Xerus)にSambaサーバーをインストールおよび構成する方法を説明します。Sambaは、SMB/CIFSクライアントにシームレスなファイルおよび印刷サービスを提供するオープンソース/フリーソフトウェアスイートです。Sambaは他のSMB/CIFS実装とは異なり、無料で利用でき、Linux/UnixサーバーとWindowsベースのクライアント間の相互運用性を可能にします。

1 予備ノート

私は新たにインストールされたUbuntu 16.04 LTSサーバーを持っており、そこにSambaサーバーをインストールする予定です。Sambaクライアントシステムとして、Windowsデスクトップを使用してSambaサーバーに接続し、設定を確認します。Windowsデスクトップは、Ubuntuサーバーに到達できるように同じネットワーク上にある必要があります。私のUbuntuサーバーのホスト名はserver1.example.comで、IPは192.168.1.100です。

Ubuntuサーバーをまだ持っていない場合は、このチュートリアルに従って、チュートリアルの基礎となる最小限のサーバーセットアップを取得してください。

注意: Windowsマシンは同じワークグループに属している必要があります。Windowsマシンで値を確認するには、cmdプロンプトで次のコマンドを実行します:

net config workstation

出力は次のようになります:

Windowsのワークグループ名を取得する。

あなたのWindowsマシンは、Ubuntuサーバーと同じワークステーションドメインに属している必要があります。私の場合はWORKGROUPです。

Windowsでホスト名でWindowsマシンにアクセスできるようにするには、次のように進めます。管理者モードでWindowsターミナルを開き(プログラムメニューのターミナルアイコンを右クリックすることで管理者モードにアクセスできます)、次のコマンドを実行してWindowsホストファイルを開きます:

notepad C:\Windows\System32\drivers\etc\hosts

そこに次の赤い行を追加してファイルを保存します:

[...]  
192.168.1.100   server1.example.com     server1

次のステップはrootユーザーとして実行する必要があります。Linuxサーバーのシェルで次を実行します:

sudo -s

2 匿名Samba共有

SambaはUbuntuリポジトリにあります。最初のステップは、aptを使用してSambaサーバーとその依存関係をインストールすることです。

apt-get install -y samba samba-common python-glade2 system-config-samba

これにより、Sambaバージョン4.3.9-Ubuntuがインストールされます。

Sambaを構成するには、ファイル/etc/samba/smb.confを編集します。私はnanoをエディタとして使用し、変更を始める前に元のファイルのバックアップを作成します。バックアップファイルの名前は/etc/samba/smb.conf.bakです。

cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak  
cat /dev/null > /etc/samba/smb.conf

nanoでSamba構成ファイルを開きます:

nano /etc/samba/smb.conf

次の行を追加します。

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = ubuntu
security = user
map to guest = bad user
dns proxy = no
  
#============================ 共有定義 ==============================  
  
[Anonymous]
path = /samba/anonymous
browsable =yes
writable = yes
guest ok = yes
read only = no  
force user = nobody

次に、匿名共有用のディレクトリを作成します。

mkdir -p /samba/anonymous

正しい権限を設定します。

chmod -R 0775 /samba/anonymous  
chown -R nobody:nogroup /samba/anonymous

新しい構成を適用するためにSambaを再起動します。

service smbd restart  

これで、Windowsのメニューの検索フィールドに”\server1”と入力するか、Windowsファイルエクスプローラーのネットワークブラウザを使用して共有に接続することで、Ubuntuの共有にアクセスできます。

Windowsに表示されるSambaの匿名共有。

共有にファイルをドラッグ&ドロップして、正しく動作しているか確認してください。

匿名Samba共有へのアップロードが成功しました。

サーバーで内容を確認することもできます。

ls -la /samba/anonymous/
root@server1:/samba/anonymous# ls -la /samba/anonymous/  
total 16  
drwxrwxr-x 2 nobody nogroup 4096 Jun 1 18:46 .  
drwxr-xr-x 3 root root 4096 Jun 1 18:39 ..  
-rwxr--r-- 1 nobody nogroup 7405 Jun 1 18:42 test.odt  
root@server1:/samba/anonymous#

3 セキュリティで保護されたSambaサーバー

パスワード保護された共有のために、私はsmbgrpというグループとユーザーtillを作成してSambaサーバーにアクセスします。この例では”howtoforge”をパスワードとして使用しますが、サーバー上でカスタムで安全なパスワードを選択してください。

addgroup smbgrp
useradd till -G smbgrp
smbpasswd -a till
root@server1:~# smbpasswd -a till  
New SMB password:<--howtoforge  
Retype new SMB password:<--howtoforge  
Added user till.  
root@server1:~#

次に、/sambaフォルダー内に”secured”という名前のフォルダーを作成し、次のように権限を設定します。

mkdir -p /samba/secured  
cd /samba  
chmod -R 0770 secured  
chown root:smbgrp secured

Samba構成ファイルを編集し、ファイルの最後に次の(赤い)行を追加します:

nano /etc/samba/smb.conf
[...]  
[secured]
 path = /samba/secured
 valid users = @smbgrp
 guest ok = no
 writable = yes
 browsable = yes
service smbd restart  

設定を確認するには、次のコマンドを実行します:

testparm  
root@server1:/samba# testparm  
Load smb config files from /etc/samba/smb.conf  
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)  
Processing section "[Anonymous]"  
Processing section "[secured]"  
Loaded services file OK.  
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions <-- Press Enter
# Global parameters  
[global]  
netbios name = UBUNTU  
server string = Samba Server %v  
security = USER  
map to guest = Bad User  
dns proxy = No  
idmap config * : backend = tdb
  
[Anonymous]  
path = /samba/anonymous  
force user = nobody  
read only = No  
guest ok = Yes
  
[secured]  
path = /samba/secured  
valid users = @smbgrp  
read only = No

Windowsマシンで、再度”\server1“ネットワークデバイスを開くと、ユーザー名とパスワードを要求されます。上記で作成したユーザーの詳細を入力します。私の場合、値はユーザー=till、パスワード=howtoforgeでした。

Samba共有にログイン。

両方のSamba共有がWindowsエクスプローラーに表示されます。

テストアップロードが成功しました。

Ubuntuサーバーでファイルを次のように確認できます:

ls -la /samba/secured/
root@server1:/samba# ls -la /samba/secured/  
total 16  
drwxrwx--- 2 root smbgrp 4096 Jun 1 19:25 .  
drwxr-xr-x 4 root root 4096 Jun 1 18:49 ..  
-rwxr--r-- 1 till till 7405 Jun 1 18:42 test.odt  
root@server1:/samba#

これで、Ubuntu 16.04に匿名およびセキュリティで保護された共有を持つSambaサーバーが正常に構成されました :)

4 このチュートリアルの仮想マシンイメージのダウンロード

このチュートリアルは、VMWareおよびVirtualboxと互換性のあるovf/ova形式の使用可能な仮想マシンイメージとして提供されています。仮想マシンイメージは、次のログイン詳細を使用します:

SSH / シェルログイン

ユーザー名: administrator
パスワード: howtoforge

このユーザーにはsudo権限があります。

VMのIPは192.168.1.100で、/etc/network/interfacesファイルで変更できます。仮想マシンのセキュリティを確保するために、上記のすべてのパスワードを変更してください。

5 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。