SAMBA設定 · 2 min read · Dec 06, 2025

CentOS 7におけるSambaサーバーのインストールと設定

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

1 予備ノート

私は新しくインストールされたCentOS 7サーバーを持っており、そこにSambaサーバーをインストールする予定です。もちろん、CentOS 7サーバーに到達可能なWindowsマシンが必要です。私のCentOS 7サーバーのホスト名はserver1.example.comで、IPアドレスは192.168.0.100です。

注意:

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

このようになります:

Windowsログオンドメイン名

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

  • WindowsマシンをWindowsで到達可能にするには、次のように進めます。実行ターミナルでサーバーのIPアドレスのエントリを追加します:
notepad C:\Windows\System32\drivers\etc\hosts

私の場合はこのようになっており、値を保存するだけです。

[...]  
192.168.0.100   server1.example.com centos

2 匿名Samba共有

まず、匿名共有でSambaをインストールする方法を説明します。Sambaソフトウェアをインストールするには、次のコマンドを実行します:

yum install samba samba-client samba-common

これにより、CentOSソフトウェアリポジトリから現在のSambaバージョンがインストールされます。

次にSambaを構成するために、ファイル/etc/samba/smb.confを編集します。変更を加える前に、元のファイルのバックアップを/etc/samba/smb.conf.bakとして作成します。

cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak

空のファイルから始めたいので、catコマンドを使用してsmb.confを空にします。これは、viで全ての行を削除するよりも速いです。

cat /dev/null > /etc/samba/smb.conf

さらに、次のようにエントリを追加します。

vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ============================== 
[Anonymous]
path = /samba/anonymous
browsable =yes
writable = yes
guest ok = yes
read only = no
mkdir -p /samba/anonymous  
systemctl enable smb.service  
systemctl enable nmb.service  
systemctl restart smb.service  
systemctl restart nmb.service  

さらに、CentOS 7のFirewall-cmdがSambaアクセスをブロックするため、これを解消するために次のコマンドを実行します:

firewall-cmd --permanent --zone=public --add-service=samba
[root@server1 ~]# firewall-cmd --permanent --zone=public --add-service=samba
success
[root@server1 ~]#

最後に、変更を適用するためにファイアウォールを再読み込みします。

firewall-cmd --reload
[root@server1 ~]# firewall-cmd --reload
success
[root@server1 ~]#

これで、WindowsでCentOS 7の共有にアクセスできます。実行プロンプトに移動し、次のように入力します。\centos:

\\centos

WindowsでSamba共有を開く

Windowsマシンから、フォルダーをブラウズしてテキストファイルを作成しようとしますが、権限拒否のエラーが表示されます。

WindowsでSambaと共有されたフォルダーをブラウズ

Samba共有への匿名アクセスをテスト

共有フォルダーの権限を確認します。

ls -l

drwxr-xr-x. 2 root root 6 Jul 17 13:41 anonymous  
[root@server1 samba]#

匿名ユーザーによるアクセスを許可するには、権限を次のように設定します:

cd /samba
chmod -R 0755 anonymous/  
chown -R nobody:nobody anonymous/
ls -l anonymous/
total 0  
drwxr-xr-x. 2 nobody nobody 6 Jul 17 13:41 anonymous  
[root@server1 samba]#

さらに、Samba構成のためにSELinuxを許可する必要があります:

chcon -t samba_share_t anonymous/

これで、匿名ユーザーはフォルダーの内容をブラウズおよび作成できます。

匿名ユーザーによるフォルダーアクセス

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

ls -l anonymous/
total 0  
-rwxr--r--. 1 nobody nobody 0 Jul 17 16:05 anonymous.txt  
[root@server1 samba]#

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

したがって、smbgrpというグループとsrijanというユーザーを作成して、適切な認証でSambaサーバーにアクセスします。

groupadd smbgrp
useradd srijan -G smbgrp
smbpasswd -a srijan
[root@server1 samba]# smbpasswd -a srijan
New SMB password:<--yoursambapassword
Retype new SMB password:<--yoursambapassword
Added user srijan.
[root@server1 samba]#  

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

mkdir -p /samba/secured

再度、SELinuxを通してリッスンを許可する必要があります:

cd /samba
chmod -R 0777 secured/
chcon -t samba_share_t secured/

再度、設定ファイルを次のように編集します:

vi /etc/samba/smb.conf

[...]  
[secured]
 path = /samba/secured
 valid users = @smbgrp
 guest ok = no
 writable = yes
 browsable = yes
systemctl restart smb.service
systemctl restart nmb.service

さらに、設定を次のように確認します:

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 <--ENTER

[global]
    netbios name = CENTOS
    server string = Samba Server %v
    map to guest = Bad User
    dns proxy = No
    idmap config * : backend = tdb

[Anonymous]
    path = /samba/anonymous
    read only = No
    guest ok = Yes

[secured]
    path = /samba/secured
    valid users = @smbgrp
    read only = No
[root@server1 samba]# 

今、Windowsマシンで適切な資格情報を使用してフォルダーを確認します。

パスワードによるセキュアなSambaアクセス

ユーザーsrijanに書き込み権限を与えるために、再度権限の問題に直面します:

cd /samba  
chown -R srijan:smbgrp secured/

これでSambaユーザーはフォルダーに書き込む権限を持つようになります。おめでとうございます、CentOS 7でのSambaサーバーの設定が完了しました!

WindowsでのSamba共有からのフォルダーリスト

Share: X/Twitter LinkedIn

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

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