Sambaインストール · 3 min read · Dec 08, 2025

CentOS 8にSambaサーバーをインストールする方法

Sambaは、LinuxとWindowsシステム間でファイル、フォルダー、およびプリンターを共有するために使用できる無料のオープンソースソフトウェアです。また、認証と認可、名前解決、サービスアナウンスにも使用されます。Linux、Unix、OpenVMSなど、さまざまなオペレーティングシステムで実行できます。

このチュートリアルでは、Sambaをインストールし、CentOS 8でスタンドアロンの共有サーバーとして構成する方法を学びます。

前提条件

  • CentOS 8を実行しているサーバー。
  • サーバーにルートパスワードが設定されていること。

Sambaサーバーのインストール

デフォルトでは、SambaパッケージはCentOSのデフォルトリポジトリにあります。次のコマンドでインストールできます:

dnf install samba samba-common samba-client -y

Sambaをインストールした後、次のコマンドでSMBサービスを開始し、システム再起動後に自動的に開始するように設定します:

systemctl start smb  
systemctl enable smb

次のコマンドでSambaサービスを確認できます:

systemctl status smb

次の出力が得られるはずです:

? smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 2072 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 25028)
   Memory: 33.8M
   CGroup: /system.slice/smb.service
           ??2072 /usr/sbin/smbd --foreground --no-process-group
           ??2074 /usr/sbin/smbd --foreground --no-process-group
           ??2075 /usr/sbin/smbd --foreground --no-process-group
           ??2076 /usr/sbin/smbd --foreground --no-process-group

Sambaでパブリック共有を作成する

このセクションでは、Sambaを使用してパブリック共有を作成し、誰でもパスワードなしでパブリック共有ディレクトリにアクセスできるようにします。

パブリック共有ディレクトリの作成

まず、publicという名前の共有フォルダーを作成し、その中に2つのファイルを作成します:

mkdir -p /samba/share/public  
touch /samba/share/public/file1.txt  
touch /samba/share/public/file2.txt

次に、次のコマンドで必要な権限と所有権を割り当てます:

chmod -R 0755 /samba/share/  
chmod -R 0755 /samba/share/public  
chown -R nobody:nobody /samba/share  
chown -R nobody:nobody /samba/share/public

Sambaの構成

次に、Sambaを構成してパブリックディレクトリを共有する必要があります。

まず、次のコマンドで/etc/samba/smb.confファイルのバックアップコピーを作成します:

mv /etc/samba/smb.conf /etc/samba/smb.bak

次に、新しいSamba構成ファイルを作成します:

nano /etc/samba/smb.conf

次の行を追加します:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = samba-server
security = user
map to guest = bad user
dns proxy = no

[Public]
path = /samba/share/public
browsable =yes
writable = yes
guest ok = yes
read only = no

ファイルを保存して閉じます。次に、変更を適用するためにSambaサービスを再起動します:

systemctl restart smb

次に、次のコマンドでSamba構成をテストします:

testparm

次の出力が表示されるはずです:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
    dns proxy = No
    map to guest = Bad User
    netbios name = SAMBA-SERVER
    security = USER
    server string = Samba Server %v
    idmap config * : backend = tdb


[Public]
    guest ok = Yes
    path = /samba/share/public
    read only = No

SELinuxとファイアウォールの構成

次に、次のコマンドで共有ディレクトリに適切なSELinuxブール値とセキュリティコンテキスト値を設定します:

setsebool -P samba_export_all_ro=1 samba_export_all_rw=1  
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"  
restorecon /samba/share/public

次に、次のコマンドでfirewalldを介してすべてのSambaサービスを許可します:

firewall-cmd --add-service=samba --zone=public --permanent  
firewall-cmd --reload

Ubuntu GnomeからSamba共有にアクセスする

Samba共有にアクセスするには、リモートマシンに移動し、Gnomeファイルマネージャーを開いて、以下のようにサーバーに接続をクリックします:

GnomeからSAMBAにアクセス

SambaサーバーのIPアドレスを入力し、接続ボタンをクリックします。接続に成功すると、次の画面にSamba共有が表示されます:

ファイルエクスプローラーのSamba共有

次に、Publicディレクトリをクリックすると、次の画面にファイルが表示されます:

ファイルリスト

UbuntuコマンドラインからSamba共有にアクセスする

コマンドラインからSamba共有にアクセスすることもできます。

まず、次のコマンドで利用可能なSamba共有をすべてリストします:

smbclient -L //45.58.38.51

次の出力が表示されるはずです:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Sharename       Type      Comment
    ---------       ----      -------
    Public          Disk      
    IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

次に、cifsプロトコルを使用してSamba共有をマウントできます。そのためには、次のコマンドでcifs-utilsパッケージをインストールします:

apt-get install cifs-utils -y

次に、次のコマンドでSamba共有を/mntディレクトリにマウントします:

mount -t cifs //45.58.38.51/public /mnt/

次のようにパスワードを入力するように求められます:

Password for root@//45.58.38.51/public: 

パスワードを入力せずにEnterを押してSamba共有をマウントします:

これで、/mntディレクトリでSamba共有にアクセスできます:

ls /mnt/

次の出力が表示されるはずです:

file1.txt  file2.txt

Sambaでプライベート共有を作成する

このセクションでは、Sambaを使用してプライベート共有を作成し、認証されたユーザーのみがプライベート共有ディレクトリにアクセスできるようにします。

ユーザーとグループの作成

まず、次のコマンドでprivateという名前のグループを作成します:

groupadd private

次に、privateグループに追加されたprivateuserという名前の新しいユーザーを作成します:

useradd -g private privateuser

次に、次のコマンドでユーザーのパスワードを設定します:

smbpasswd -a privateuser

出力:

New SMB password:
Retype new SMB password:
Added user privateuser.

プライベート共有ディレクトリの作成

次に、privateという名前の共有フォルダーを作成し、その中に2つのファイルを作成します:

mkdir -p /samba/share/private  
touch /samba/share/private/private1.txt  
touch /samba/share/private/private2.txt

次に、次のコマンドで適切な権限と所有権を割り当てます:

chmod -R 0770 /samba/share/private  
chown -R root:private /samba/share/private

次に、次のコマンドでプライベートディレクトリのSELinuxコンテキストを構成します:

semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"  
restorecon /samba/share/private

Sambaの構成

次に、Samba構成ファイルを開き、プライベート共有を定義します:

nano /etc/samba/smb.conf

ファイルの最後に次の行を追加します:

[Private]
path = /samba/share/private
valid users = @private     
guest ok = no
writable = yes
browsable = yes

ファイルを保存して閉じ、次のコマンドでSambaサービスを再起動して変更を適用します:

systemctl restart smb

次に、次のコマンドでSamba構成を確認します:

testparm

次の出力が表示されるはずです:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
    dns proxy = No
    map to guest = Bad User
    netbios name = SAMBA-SERVER
    security = USER
    server string = Samba Server %v
    idmap config * : backend = tdb


[Public]
    guest ok = Yes
    path = /samba/share/public
    read only = No


[Private]
    path = /samba/share/private
    read only = No
    valid users = @private

UbuntuコマンドラインからSamba共有にアクセスする

まず、次のコマンドで利用可能な共有にアクセスします:

smbclient -L //45.58.38.51

次の出力が表示されるはずです:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Sharename       Type      Comment
    ---------       ----      -------
    Public          Disk      
    Private         Disk      
    IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

次に、Sambaサーバーに接続し、次のコマンドで利用可能な共有をリストします:

smbclient //45.58.38.51/private -U privateuser

次のようにパスワードを入力するように求められます:

Enter privateuser's password: 

パスワードを入力してEnterを押すと、次のようにSambaシェルにアクセスできます:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
smb: \>

次に、次のコマンドで利用可能な共有をリストします:

smb: \> ls

次の出力が表示されるはずです:

  .                                   D        0  Tue Mar  3 10:03:22 2020
  ..                                  D        0  Tue Mar  3 10:01:56 2020
  private1.txt                        N        0  Tue Mar  3 10:03:17 2020
  private2.txt                        N        0  Tue Mar  3 10:03:22 2020

        51194 blocks of size 2097152. 49358 blocks available

次に、次のコマンドでSambaシェルから退出します:

smb: \>exit

/optディレクトリにSamba共有をマウントすることもできます:

mount -t cifs -o user=privateuser //45.58.38.51/private /opt

次のようにパスワードを入力するように求められます:

Password for privateuser@//45.58.38.51/private:  *********

パスワードを入力してEnterを押すと、Samba共有がマウントされます。

次に、次のように/optディレクトリでSamba共有を確認できます:

ls /opt/

出力:

private1.txt  private2.txt

Ubuntu GnomeからSamba共有にアクセスする

Samba共有にアクセスするには、リモートマシンに移動し、Gnomeファイルマネージャーを開いて、以下のようにサーバーに接続をクリックします:

Gnomeでプライベート共有にアクセス

SambaサーバーのIPアドレスを入力し、接続ボタンをクリックします。接続に成功すると、次の画面にSamba共有が表示されます:

パブリックとプライベート共有

次に、Privateディレクトリをクリックし、ユーザー名とパスワードを入力して、接続ボタンをクリックします。次の画面にファイルが表示されるはずです:

ユーザー名とパスワードでログイン

ファイル

おめでとうございます!CentOS 8にSambaサーバーを正常にインストールして構成しました。

Share: X/Twitter LinkedIn

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

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