Red Hat Training

A Red Hat training course is available for RHEL 8

3.3. Samba をスタンドアロンサーバーとして設定

Samba は、ドメインのメンバーではないサーバーとして設定できます。このインストールモードでは、Samba はユーザーを中央 DC ではなくローカルデータベースに認証します。また、ゲストアクセスを有効にして、ユーザーが、認証なしで 1 つまたは複数のサービスに接続できるようにすることもできます。

3.3.1. スタンドアロンサーバーのサーバー設定の設定

Samba スタンドアロンサーバーのサーバー設定を設定できます。

手順

  1. samba パッケージをインストールします。

    # yum install samba
  2. /etc/samba/smb.conf ファイルを編集して、以下のパラメーターを設定します。

    [global]
    	workgroup = Example-WG
    	netbios name = Server
    	security = user
    
    	log file = /var/log/samba/%m.log
    	log level = 1

    この設定では、Example-WG ワークグループに、スタンドアロンサーバー (Server) を定義します。また、この設定により最小レベル (1) でのログ記録が可能になり、ログファイルは /var/log/samba/ ディレクトリーに保存されます。Samba は、log file パラメーターの %m マクロを、接続しているクライアントの NetBIOS 名までデプロイメントします。これにより、クライアントごとに個別のログファイルが有効になります。

  3. オプションで、ファイルまたはプリンターの共有を設定します。参照:

  4. /etc/samba/smb.conf ファイルを検証します。

    # testparm
  5. 認証が必要な共有を設定する場合は、ユーザーアカウントを作成します。

    詳細は ローカルユーザーアカウントの作成および有効化 を参照してください。

  6. firewall-cmd ユーティリティーを使用して必要なポートを開き、ファイアウォール設定を再読み込みします。

    # firewall-cmd --permanent --add-service=samba
    # firewall-cmd --reload
  7. smb サービスを有効にして起動します。

    # systemctl enable --now smb

関連情報

  • smb.conf(5) man ページ

3.3.2. ローカルユーザーアカウントの作成および有効化

共有への接続時にユーザーが認証を行えるようにするには、オペレーティングシステムと Samba データベースの両方で Samba ホストにアカウントを作成する必要があります。Samba では、ファイルシステムオブジェクトでアクセス制御リスト (ACL) を検証するオペレーティングシステムアカウントと、接続ユーザーの認証を行う Samba アカウントが必要です。

passdb backend = tdbsam のデフォルト設定を使用すると、Samba はユーザーアカウントを /var/lib/samba/private/passdb.tdb データベースに保存します。

example という名前のローカル Samba ユーザーを作成できます。

前提条件

  • Samba が、スタンドアロンサーバーとしてインストールされている。

手順

  1. オペレーティングシステムアカウントを作成します。

    # useradd -M -s /sbin/nologin example

    このコマンドは、ホームディレクトリーを作成せずに、example アカウントを追加します。アカウントが Samba への認証のみに使用される場合は、/sbin/nologin コマンドをシェルとして割り当て、アカウントがローカルでログインしないようにします。

  2. オペレーティングシステムのアカウントにパスワードを設定して、これを有効にします。

    # passwd example
    Enter new UNIX password: password
    Retype new UNIX password: password
    passwd: password updated successfully

    Samba は、オペレーティングシステムのアカウントに設定されたパスワードを使用して認証を行いません。ただし、アカウントを有効にするには、パスワードを設定する必要があります。アカウントが無効になると、そのユーザーが接続した時に Samba がアクセスを拒否します。

  3. Samba データベースにユーザーを追加し、そのアカウントにパスワードを設定します。

    # smbpasswd -a example
    New SMB password: password
    Retype new SMB password: password
    Added user example.

    このアカウントを使用して Samba 共有に接続する場合に、このパスワードを使用して認証を行います。

  4. Samba アカウントを有効にします。

    # smbpasswd -e example
    Enabled user example.