12月 25, 2021

Redhat LinuxでSambaサーバーを設定する方法

このチュートリアルでは、LINUXでSambaサーバーを設定し、WindowsとLinuxでSambaクライアントを設定する方法について説明します。IPTABLESルールを作成し、Sambaトラ Samba networkでリソースを共有し、共有リソースにアクセスする方法について説明します。

  • microsoft windowネットワークには共通インターネットファイルシステム(CIFS)プロトコルを使用します。
  • CIFSは、サーバーメッセージブロック(SMB)プロトコルから開発されました。
  • Sambaはオープンソースのソフトウェアです。
  • SambaはTCP/IPプロトコルを使用します。
  • SambaはSMB/CIFSプロトコルのLinux実装です。
  • Sambaは、LinuxとWindow間の相互運用性を可能にします。
  • Sambaは、Linuxとウィンドウシステムの間でファイルと印刷の共有サービスを提供します。
  • Sambaを使用すると、Linuxはウィンドウクライアント、サーバー、Active Directoryのメンバー、プライマリドメインコントローラ、またはメンバーサーバーと対話できます。
  • SambaはMicrosoftアクセス制御リストをサポートしています。
  • Sambaサーバの主な設定ファイルは/etc/samba/smbです。conf
  • Samba Web Administration tool(SWAT)は、Sambaサーバー用のGUIベース構成ツールですRhel6
  • Linux SAMBAの
    • ユーザー認証と承認
    • ファイルとプリンタの共有
    • 名前解決
    • ブラウズ

この記事で説明されているRHCE試験のトピック

  • 特定のクライアントにネットワーク共有を提供します。
  • グループ連携に適したネットワーク共有を提供します。

RHCE試験中はMicrosoftウィンドウにアクセスできないため、LinuxシステムでSamba設定をテストする方法を知っている必要があります。

このチュートリアルでは、私たちのラボ環境から二つのシステムサーバーとlinuxclientを使用します。 サーバーシステムでSambaサーバーを設定し、linuxclientシステムでsambaクライアントを設定します。 この記事で使用しているネットワークトポロジを確認したい場合は、以下の記事を確認してください。 RHELの練習のための実験室のセットアップされる。Sambaサーバーに必要なRPM

RPM 説明
samba SambaサーバーのベースRPM
samba-client SambaクライアントのベースRPM
samba-common には、Sambaサーバーとクライアントで必要なコマンドが含まれます
samba-doc Sambaドキュメントを提供する
samba-Swat Samba設定用のGUIインターフェイス
samba-winbind 許可 LinuxとWindow間の相互運用性
samba-domainjoin-gui linuxユーザーがwindowsワークグループおよびドメインと接続できるようにします。

ラボタスク

  • サーバーシステムでSambaを設定します。 サーバー上でSamba接続を許可するようにiptables firewallとSELinux Booleanを設定します。
  • サーバーシステムに5人のユーザーを作成します。 2人のユーザーのグループを作成します。 Sambaユーザーデータベースにすべてのユーザーを追加します。
  • linuxclientおよびwindowclientシステムの接続フォームを確認します。 一人のユーザーからのログインで確認します。
  • サーバー上にsharedataフォルダを作成します。 Sharedataフォルダのpublicへの読み取りおよび書き込みアクセス権を付与します。 このフォルダを公開して共有します。 テストフォームlinuxとウィンドウクライアント。SAMBAサーバーにSambaサーバーを設定する

    以下のRPMが必要です

    • samba
    • samba-common
    • samba-winbind

    必要なrpmを確認してください

    rpm-qa-samba

    YUM repository、RPMのダンプ、FTPなど、いくつかのソースからRPMをインストールできます。 この記事では、RPMフォームRHEL6ディスクをインストールしています。 メディアフォルダにRHEL6ディスクをマウントし、ディレクトリをパッケージフォルダに変更します

    cd-media-package

    必要なRPMをインストールします。

    rpm-samba

    Sambaデーモン

    Sambaの場合、実行するには三つのサービスが必要です。

    サービス デーモン 説明
    必須 smb smbd (SMB/CIFSサーバー)ユーザー認証と承認、ファイルとプリンタの共有を提供する主なsambaサービス
    必須 nmb nmbd (NetBIOSネームサーバー)リソースの参照
    winbind winbindd ホスト名とユーザー名の解決

    RPMをインストールしたばかりの場合、これらのサービスは停止されます。

    smb-nmb-stoped

    必要なサービスを開始

    smb-nmb-running

    次回のLinux起動時にサービスが実行されていることを確認してください

    chkconfig-smb-on

    firewall

    を介してsambaを許可する方法RHCE6試験中に、ファイアウォール(iptables)とSELinux保護の両方を持つことになります。Sambaがサーバー外で通信できるようにするには、iptablesとSELinuxを設定する必要があります。

    iptablesでSambaを許可する方法

    SAMBAはポート137,138,139とポート137,138,139とポート137,138,139とポート137,138,139を使用します。445

    ポート137 UDP NetBIOSネームサービス(WINS)
    ポート138 UDP NetBIOSデータグラム
    ポート139 TCP NetBIOSセッション(TCP)、Windowsファイルとプリンターの共有
    ポート445 Microsoft-DS Active Directory、Windows共有(TCP)
    ポート445 Microsoft-DS SMBファイル共有(UDP)

    ファイアウォールを開くには Sambaの場合は、次のルールを追加し、iptablesを再起動します

     #iptables -A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT #iptables -A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

    iptables-samba-server

    セキュリティ機能としてSelinux firewall

    SELinuxからSambaサーバーを許可する方法は、共有を自動的に表示することを防ぎます。 SELinuxはLinuxの複雑なセキュリティ機能です。 RHCE6試験では、次のSELinuxブール値を知っておく必要があります

    samba_enable_home_dirs ホームディレクトリの共有を有効にします
    samba_export_all_ro 任意のディレクトリへの読み取り専用アクセスを有効にする
    samba_export_all_rw は、任意のディレクトリへの読み取り/書き込みアクセスを設定します
    Samba_share_t Sambaが共有できるデフォルトファイル

    ラボ環境ではsamba_export_all_roまたはsamba_export_all_rwブール値を有効にすることができますが、 セキュリティ上のリスクになる現実の生活。 Samba経由で共有する必要があるファイルとディレクトリのファイルタイプを設定するのは良い習慣です。 次のコマンドでそれを行うことができます

    # chcon -R -t samba_share_t /sharedata

    この例では、/sharedataディレクトリを有効にします。 これでSambaはこのディレクトリを共有できます。

    デフォルトのホームディレクトリを共有するには、次のコマンドを実行します:

    setsebool -P samba_enable_home_dirs on

    -Pは、再起動後に変更が保持されていることを確認します。

    setbool

    新しいSambaユーザーは、Linuxコンピュータ上の有効なアカウントからのみ作成できるため、5人のユーザーを作成できます

    useradd

    すべてのユーザーのパスワードを設定します。 Sambaサービス用にこれらのユーザーを作成するだけで、ローカルシステムへのアクセスを許可しない場合は、ローカルシステムのパスワードを設定しないでくださ

    passwd

    passwd1

    コマンドsmbpasswd-aは、SAMBA認証のために/etc/samba/の下のパスワードデータベースにユーザーを追加するために使用できます。 Smbpasswdコマンドを使用してSambaユーザーを設定します。

    smbpasswd

    smbgroupを作成し、smbuser3およびsmbuser4ユーザーを追加します

    group-add

    Sambaのメイン設定ファイルを開きます

    vi-smb-conf

    smbです。confファイルには、2種類のコメント行が含まれています。

    • ハッシュ記号(#)が使用されている機能を説明します
    • セミコロン(;)、機能をコメントアウトするために使用されます(Add;機能を無効にするには、remove ; この機能を有効にするには)

    ワークグループディレクトリの値を下に注意してください

    workgroup-mygroup

    これは、シームレスな接続のためのネットワーク上で同じになります

    今、デフォルトで共有定義セクションに移動Sambaは自動的にこのセクションの最初の四行で定義されているログインしたユーザーのホームディレクトリを共有します。
    browseable=ユーザーを自分のホームディレクトリに制限しません。 Sambaは/etc/passwdファイルからホームディレクトリ情報を読み込むので、ホームディレクトリのパスを指定する必要はありません。
    share-home

    smbを閉じます。confファイルを今すぐ、サーバーのIPアドレスを書き留めておきます

    serverip

    それは私たちが今サーバー上で必要とするすべての構成です。以下のRPMが必要です

    • samba-client
    • samba-common
    • samba-winbind-client
    • samba-winbind-client
    • samba-winbind-client
    • samba-winbind-client
    • samba-winbind-client
    • samba-winbind-client
    • samba-winbind-client

    rpm-qa-samba-client

    メディアフォルダにRHEL6ディスクをマウントし、パッケージディレクトリに移動します

    cd-media-ls-package

    必要に応じてRPMをインストールします。

    rpm-samba-client

    Sambaサーバーからの接続を確認します。

    ping-server

    Smbuser1を使用してSambaサーバーから共有をリストしようとする

    client-login

    “ユーザーのホームディレクトリを共有する”を確認するには、smbuser5から共有を一覧表示し、sambatmpフォルダを作成します。 Smbuser5からログインし、sambatmpフォルダに彼のホームディレクトリをマウントします。 ユーザーが書き込み可能な権限を持っていることを確認するには、テストファイルも作成します。

    smbuser5-login

    サーバーシステムに移動し、smbuser5からログインし、テストを確認します。

    ls-smbuser5

    LinuxクライアントシステムでSambaクライアントを正常に構成しました。

    ウィンドウ7をSambaクライアントシステムとして設定

    コンピュータのプロパティを開く

    computer-properties

    設定の変更をクリックします

    change-setting

    [変更]をクリックします。

    change-rename

    ワークグループ名をMYGROUPに変更する

    mshome-workgroup

    システムの再起動が必要です、再起動を確認します

    restart-ok

    システムの再起動後、接続フォームサーバーを確認します

    winconnectivity

    ネットワークを開き、サーバーシステムをクリッ

    win-network

    smbuser1からログイン

    smbuerlogin

    ユーザーは自宅にログインします ディレクトリ

    smbuser

    我々は正常にSambaのクライアントシステムとしてウィンドウ7を構成しました。

    サーバー上にsharedataフォルダーを作成します。 Sharedataフォルダのpublicへの読み取りおよび書き込みアクセス権を付与します。 このフォルダを公開して共有します。 テストフォームlinuxとウィンドウクライアント。

    サーバー上に/sharedataフォルダを作成します。 このフォルダはrootユーザーから作成されるため、ユーザーはこのフォルダに書き込むことができません。 777. SELinux Booleanを設定します。 今すぐsmbを開きます。confファイル

    mkdir-sharedata

    この共有/sharedataは、ユーザーがファイルをダウンロード/アップロード/読み取ることができる共通の場所を共有します。 ファイルのこの終わりに次のスタンザを追加し、ファイルを保存します

     # Common location for people to share files comment = common location file sharing path = /sharedata read only = no public = yes 

    smb-conf-sharedata

    smbサービスを再起動します。

    restart-smb

    linuxclientでtmpdataディレクトリを作成し、その中にsharedataフォルダをマウントします。 テストファイルを作成します。

    mount-sharedata

    sharedataは一時フォルダであり、私たちは皆のための完全な許可を得てそれを共有しています。 これは、他のユーザーがsmbuser5から作成されたファイルを読み書きできる必要があることを意味します。 それをテストするには、ネットワークからwindow systemとopen server systemに移動します。 Sharedataフォルダを開き、ファイルを読み取ります

    read-file-on-window

    今、このファイルを削除します。

    confirm-delete-window

    フォルダを作成し、その中にファイルを作成します

    create-file-window

    サーバーシステム上でこれらを確認してください。

    check-on-server

    上記の例では、任意のユーザーが他のファイルとフォルダを削除できるようにフォルダを共有しました。 今、それは少し安全にします。 サーバーに移動し、権限を変更する1777

    set-stickybit-sharedata

    smbuser5からログインしたlinuxclientで、ファイルを作成します

    linuxclient-exmpale-stickybit

    ウィンドウでは、smbuser1からログに記録され、ファイルを読み取ろうとします。

    read-stickybit-file-window

    今、このファイルを削除してみてください。

    try-to-delete-sticky-bit-file

    それは拒否されます

    sticky-bit-error-delete

    Sambaでユーザーを拒否する方法

    Sambaでは、共有リソースからユーザー/ユーザーを拒否することができます。 Sharedataからsmbuser5を拒否するには、/etc/samba/smbを開きます。confを開き、設定値を以下に変更してファイルを保存します

    deny-smbuser5-server

    smbサービスの再読み込み

    reload-smb

    linuxclientシステムでは、まずsmbuser5からsharedataをマウントし、smbuser1からsharedataをマウントしてみてください

    deny-smbuser5-clinet

    sambaをグループ

    に制限する方法このチュートリアルでは、上記のグループsmbgroupを作成しました。 このグループへのアクセスのみを許可するようにSambaを設定します。サーバー上の

    sharedataのグループを変更し、権限を1770に更新します。 Smbを開きます。confファイル

    chgrp-sharedata

    スタンザを更新し、ファイルを保存します

    group-samba-share

    smbサービスの再読み込み

    reload-smb

    linuxクライアントでは、最初にsmbgroupのメンバーではないsmbuser5を試し、後でsmbgroupのメンバーであるsmbuser3を試してみてください

    group-samba-linuxclient

    sambaをユーザーに制限する方法

    今、私たちはユーザー/ユーザーのためにのみ共有します。 Sharedataフォルダにsmbuser1のみを許可するようにSambaを設定します。サーバー上の

    は、smbuser1を/sharedataフォルダの所有者にし、権限を更新します。 Smbを開きます。conf

    samba-user-share

    スタンザを変更し、ファイルを保存します

    samba-user-share-config

    ファイルをリロードします

    reload-smb

    linuxclientでは、最初に他のユーザーと試し、後者はsmbuser1で試してみてください

    single-user-samba

    これまでのところ、この記事では、Samba共有のためのアクセスの異なるレベルを設定しています。 RHCE6試験では、ファイル権限、ファイルシステムマウントオプション、SELinuxブール値、ACLはSambaによって上書きできないことを常に覚えておいてください。 つまり、ディレクトリに書き込み権限がなく、Sambaにwriteable=yesと設定されている場合、書き込みは許可されません。 これが、Samba設定を設定するよりも最初にファイルシステム権限を更新する理由です。

    RHCE6試験中に以下の2つのコマンドが非常に便利です。

    testparm

    testparmコマンドはsmbをチェックします。内部エラーのためのconfファイル。 このコマンドの出力がエラーなしで返される場合は、構成ファイルを使用します。

    testparm

    smbstatus

    このコマンドは、現在のSamba接続を一覧表示します。

    smbstaus

    RHCEのために6試験はまた、smbの次の指令を知っている必要があります。confファイル

    sambaサーバー名

    をデフォルトのSambaホスト名でNetBIOS名として変更する方法。 NetBIOSは、Microsoft net viewコマンドや通常のLinux smbclientコマンドから表示されるような、他のクライアントがネットワークブラウズリストに表示する名前です。 Sambaサーバー名を変更するには、コメントを解除し、次のディレクティブの値を変更します。

    ; netbios name = MYSERVER

    sambaワークグループ名を変更する方法

    Sambaのデフォルトのワークグループ名はMYGROUPです。 Smb形式で更新できます。confファイル。 デフォルトのワークグループ名を変更するには、followingディレクティブの値を更新します。

    workgroup = MYGROUP

    restrict samba to local network

    指定されたネットワークへのアクセスを制限するには、次のディレクティブのコメントを解除し、ネットワークを指定します。

    ; hosts allow = 127. 192.168.12. 192.168.13.

    値を変更せずにコメントを解除すると、192.168.12.0および192.168.13.0ネットワークIPアドレスだけでなく、ローカルコンピュータ(127。):Hosts denyディレクティブを設定することもできます。 グローバルに変更する必要がある場合にのみ、host allow/denyディレクティブをここで設定します。 個別に共有されたディレクトリは、hosts allow/denyで構成することもできます。 あなたが個別に設定を求めているのであれば、独自のセクションでそれを行います。

    network-related-opration

    それはこの記事のためのすべてです。

コメントを残す

メールアドレスが公開されることはありません。