samba構築手順(パスワードなしでアクセスする方法)

Linux

samba構成イメージ

sambaのインストール

sambaのインストールはaptやyumなど利用されているデストリビューションに応じたものでインストールします。

Ubuntuの場合

sudo apt install samba

CentOSの場合

sudo yum install samba

sambaで公開するディレクトリを作成

sambaで公開するディレクトリを作成します。

ここでは、「/xxx/share」というディレクトリを例にすすめます。

mkdir /xxx/share
chmod 777 /xxx/share

sambaアクセス用ユーザ作成

sambaアクセス用にユーザを準備します。

ここでは、「samba」というユーザを作成する例ですすめます。

Linuxユーザを作成

useraddコマンドでsambaユーザを作成します。

sudo useradd -s /bin/bash -m samba

sambaユーザにパスワードを設定します。

sudo passwd samba

samba用ユーザのパスワード設定

UbuntuとCentOSでコマンドが異なりますが、先ほど作成したsambaユーザにsambaパスワードを設定します。

Ubuntu

sudo smbpasswd -a samba

CentOS

sudo pdbedit -a samba

samba設定ファイルバックアップ

smb.confファイルを編集する前にバックアップを取っておきます。

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Sambaサービスの停止

smb.confの編集前に、サービスが起動している場合は停止します。

sudo systemctl stop smb

もし、「Failed to stop smb.service: Unit smb.service not found.」のエラーが発生した場合はサービス名が「smb」ではない可能性があります。

以下の記事を参考にしてみてください。

samba設定ファイル編集

作成した公開用ディレクトリをWindows側からパスワードなしでアクセスできるように設定します。

smb.confをエディタで開きます。

sudo vim /etc/samba/smb.conf

追加箇所は[global]と[share]の2箇所です。

[global]
#guestユーザにマッピング
map to guest = Bad User
guest account = samba
 
 
末尾に以下を追加
[share]
#ディレクトリパス
path = /xxx/share
 
#ブラウザ表示
browseable = yes
 
#書き込み可能
writable = yes
read only = no
 
#ゲストアクセスOK
guest ok = yes
guest only = yes
 
#作成したファイル・ディレクトリのアクセス権
create mask = 777
directory mask = 777

smb.confの構文チェック

smb.confの設定が完了したら、構文チェックのコマンドで確認します。

testparm

設定に間違いがなければ以下のようなメッセージが表示され、設定情報が表示されます。

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

sambaのポート445の開放

sambaは標準でTCPの445番ポートを使用しますので、ファイアウォールを設定しアクセスできるようにします。

ここでは、ufwを利用してファイアウォールの設定します。

ufwが有効になっていない場合はまず、以下のコマンドで有効化しましょう。

sudo ufw enable

ufwを有効にしたら、次は445番ポートを開放します。

sudo ufw allow 445/tcp

statusコマンドで445番がALLOWとなっていることを確認しましょう。

sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
445/tcp                    ALLOW       Anywhere
445/tcp (v6)               ALLOW       Anywhere (v6)

設定に問題がなければ、reloadコマンで再読込を行い設定を有効にします。

sudo ufw reload

sambaサービスの再起動

systemctl restart smb

sambaサービスの自動起動設定

sudo systemctl enable smb

Windowsのエクスプローラでアクセスして確認する

sambaの構築が無事完了していれば、
\\[sambaサーバのip]\share
にアクセスすると、ユーザ、パスワードの入力ウィンドウが表示されるアクセスできるはずです。

Linux

Posted by snow