Samba とは?
Samba は、サーバー メッセージ ブロック (SMB) プロトコルのオープン ソース実装です。これにより、Linux はサーバーとクライアントの両方として Windows オペレーティング システムと連携できます。 Samba は、Linux ファイルとプリンターを Windows システムと共有し、Linux ユーザーに Windows システム上のファイルへのアクセスを提供します。 Samba は NetBIOS over TCP/IP (NetBT) プロトコルを使用し、NetBEUI (Microsoft Raw NetBIOS フレーム) プロトコルを必要としません。
ほとんどの Linux ディストリビューションには、いくつかの Samba パッケージが含まれています。
- サンバ :SMB/CIFS クライアントにネットワーク サービスを提供するために使用できる SMB/Common Internet File System (CIFS) サーバーを提供します
- samba クライアント :Linux に組み込まれている SMB/CIFS ファイル システムを補完するために、いくつかの SMB/CIFS クライアントを提供します。これらのクライアントは、SMB/CIFS 共有へのアクセスと SMB/CIFS プリンターへの印刷を許可します。
- samba-common :サーバーとクライアントの両方の Samba パッケージに必要なファイルを提供します
- samba-winbind :winbind デーモンとクライアント ツールを提供します。 winbind は、Windows ドメインの Linux メンバーシップと、Windows ユーザーおよびグループ アカウントの使用を有効にします
- samba-winbind-clients :winbind との通信に必要な Network Security Services (NSS) ライブラリと Pluggable Authentication Modules (PAM) を提供します
「yum install [package_name]」を使用します 」をクリックしてパッケージをインストールします。
# yum install [package_name]
Samba のデーモンとサービス
Samba サーバー パッケージには、次のデーモンと関連サービスが含まれています:
- smbd :Windows クライアントにファイル共有および印刷サービスを提供するサーバー デーモン。また、SMB プロトコルを介したユーザー認証、リソース ロック、データ共有も担当します。
- nmbd 注:NetBIOS ネームサーバー デーモンは、Windows ベースのシステムで SMB/CIFS によって生成されたネーム サービス要求に応答します。また、Windows Network Neighborhood ビューでのブラウジング サポートも提供します。
これらのデーモンは、関連するサービス (smb および nmb など) によって制御されます。例:
# systemctl start smb # systemctl start nmb
samba-winbind パッケージには、winbindd デーモンと関連サービスが含まれています:
- winbindd :Windows を実行しているサーバーでユーザーとグループの情報を解決し、この情報を Linux で理解できるようにします。
このデーモンは winbind サービスによって制御されます:
# systemctl start winbind
Samba サーバーの構成
Samba の主な構成ファイルは /etc/samba/smb.conf です。 .この構成ファイルはセクションに分かれており、各セクションは角括弧で囲まれたテキストで始まります。 [global] セクションを除いて、各セクションでは「共有」と呼ばれる共有リソースについて説明します。 」。典型的なセクションは次のとおりです:
セクション | 説明 |
---|---|
[グローバル] | グローバル パラメータを定義します |
[家] | homes ディレクトリで共有を定義します |
[プリンター] | プリンターを定義します |
[共有名] | 共有を定義します |
セクション内のパラメーターは、共有属性を定義します。グローバル パラメータが適切に設定されていることを前提として、次の例では、Windows ユーザーにローカルの /tmp ディレクトリへの読み取り/書き込み権限を付与する共有を定義しています。
# vi /etc/samba/smb.conf [tmp] comment = Insert a comment here path = /tmp writable = yes guest ok = yes
smb.conf を参照してください 構成ファイルで設定できるすべてのパラメーターの説明については、man ページを参照してください。
# man smb.conf
グローバルパラメータ、セキュリティパラメータ、ロギングパラメータ、ブラウザパラメータ、通信パラメータ、共有パラメータがあります。 Samba を構成および管理するためのグラフィカル ユーザー インターフェイスもいくつかあります。これらのリストは、http://www.samba.org/samba/GUI/ にあります。
[家] シェア
Samba はこの共有を提供して、ユーザーが Linux ホーム ディレクトリを Windows システムと簡単に共有できるようにします。以下に例を示します:
# vi /etc/samba/smb.conf [homes] comment = Insert a comment here browsable = no writable = yes
これらの設定により、所有者以外のユーザーはホーム ディレクトリを参照できなくなりますが、ログインしている所有者にはフル アクセスが許可されます。
Samba サーバーの起動
Samba サーバーを起動するには、以下に示すコマンドを実行します。
# systemctl start smb
/etc/samba/smb.conf ファイルの構成を変更する場合は、再起動またはリロードを実行してください:
# systemctl restart smb # systemctl reload smb
reload 引数は、smb サービスを停止および開始しません。構成ファイルを再ロードするだけです。 systemctl コマンドを使用して、起動時に開始するようにサービスを構成します。例:
# systemctl enable smb
Samba サーバーの種類
– サーバー タイプは、/etc/samba/smb.conf ファイルの [global] セクションで構成されます。
– スタンドアロン サーバー ワークグループ サーバーまたはワークグループのメンバーにすることができます。
– ドメイン メンバー サーバー ドメイン コントローラにログインし、ドメインのセキュリティ ルールに従います。
– Samba サーバー Windows NT ドメインではドメイン コントローラになることができますが、Active Directory ドメインではできません。
Samba サーバーの種類の詳細については、以下の投稿を参照してください。
Samba サーバーの種類とはWindows から Linux 共有へのアクセス
Windows から Linux Samba サーバー上の共有にアクセスするには、[マイ コンピューター] または [エクスプローラー] を開き、Samba サーバーのホスト名と共有名を次の形式で入力します。
\\servername\sharename
\\servername と入力すると 、Windows は、Linux システムが共有しているディレクトリを表示します。同じ構文を使用して、ネットワーク ドライブを共有名にマップすることもできます。
smbusers File
Windows ユーザーが Linux システム上の Samba 共有にアクセスするには、ユーザーは Windows ユーザー名と Samba パスワードを提供する必要があります。 Windows ユーザー名は、Linux ユーザー名と同じであるか、Linux ユーザー名にマップする必要があります。 Samba はこれらのユーザー名マップを /etc/samba/smbusers に保存します ファイル。 Linux と Windows で同じユーザー名を持つユーザーは、このファイルにエントリを入力する必要はありませんが、Samba パスワードは必要です。
/etc/samba/smbusers ファイルには 2 つのデフォルト エントリがあります:
root = administrator admin nobody = guest pcguest smbguest
最初のエントリは、Linux ルート ユーザーを Windows の管理者および管理者ユーザーにマップします。 2 番目のエントリは、Linux ユーザー nobody を 3 つの Windows ユーザー名 (guest、pcguest、smbguest) にマップします。
john の Windows ユーザー名を user01 の Linux ユーザー名にマップするには、次のエントリを /etc/samba/smbusers に追加します。
# vi /etc/samba/smbusers user01 = john
Samba は、Linux パスワードではなく、Samba パスワードを使用してユーザーを認証します。次のコマンドを使用して、user01 ユーザーのパスワードを追加します。
# smbpasswd –a user01 New SMB password: Retype new SMB password: Added user oracle.
Linux から Windows 共有へのアクセス
Samba サーバーにクエリを実行するためのユーティリティが 2 つあります:
- 見つける
- smbtree
findsmb を使用する コマンドを使用して、Samba サーバーのサブネットを照会します。このコマンドは、検出された各サーバーの IP アドレス、NetBIOS 名、ワークグループ、オペレーティング システム、およびバージョンを表示します。
smbtree も使用できます コマンドは、テキストベースの SMB ネットワーク ブラウザです。既知のすべてのドメイン、それらのドメイン内のサーバー、およびサーバー上の共有を含む階層図が表示されます。
GNOME および KDE デスクトップには、ネットワーク上の Windows 共有を表示するためのブラウザー ベースのファイル マネージャーが用意されています。 smb: を入力してください ファイル マネージャーのロケーション バーで、共有を参照します。
smbclient を使用する コマンド ラインから Windows 共有に接続するためのユーティリティ。形式は次のとおりです。
smbclient //[servername]/[sharename] [-U [username]]
smb:\> ログインに成功すると、プロンプトが表示されます。コマンドのリストを表示するには、help と入力します。 exit と入力して smbclient を終了します。
Samba 共有をマウントするには、cifs-utils パッケージをインストールします:
# yum install cifs-utils
mount.cifs を使用します コマンドを次の形式で使用して、Samba 共有をマウントします:
# mount.cifs //[servername]/[sharename] /mount-point -o username=[username],password=[password]