SAMBA実装原理と使用方法

1。サンバの起源

         Windows Network Neighborhoodの場合、ファイルを共有する方法はSMBおよびCIFSプロトコルを使用し、Linux / Unix間のNETBIOSプロトコルはNFSプロトコルです。

         しかし、LinuxとWindowsは共有できないため、オーストラリア国立大学のAndrew Tridgellがソフトウェアの開発を決定しました。このソフトウェアは、異なるシステム間でファイルを共有するためのものであり、SMBと呼ばれるソフトウェアは空です誕生しましたが、すでにSMB契約があるため、この名前を商標として登録することはできません。そのため、作成者は名前に2つのAsを追加し、使用する強力なファイル共有サーバーになります。

         サンバ

        

2。SAMBAの仕組み

         SAMBAは主にSMB / CIFSまたはNETBIOSプロトコルを提供します。

         したがって、SAMBAを使用している限り、LinuxをWindowsのネットワークエリアに表示したり、LinuxでWindowsファイルを共有したりできます。

         Linuxにインストールすると、2つの主要なプロセスがあります。

         1.nmbd:NETBIOS名前解決を提供します                         

         2.smdb:ファイル共有を提供します。

        

         また、NETBIOSプロトコルはWindowsのTCPポート139およびUDPポート137,138をリッスンするため、nmbdはLinuxのudpポート137および138、tcpポート139をシミュレートし、smdbはtcpポート445をシミュレートします。Linuxでは、SAMBAがこれら4つのポートを同時に監視します。

 

3。サンバに会う

         SAMBAソフトウェアは「samba」で始まります

         

         samba-client

         samba-common両方がクライアントとして使用されます

         サーバーとしてのsamba

         samba-swatグラフィカル制御インターフェース

                           

         インストール後、その構成ファイルは/etc/samba/smb.confにあります              

         /etc/init.d/smbスクリプトは、SAMBAの制御を実現します

         例:/etc/init.d/smb start

                  

         小さなリマインダー:sambaはselinuxの制御を受け入れるソフトウェアであるため、設定時にselinuxを閉じる必要があります

        

4。SAMBAをインストールして構成する

         1.インストール:

         yum install samba -y

        

         インストールが完了したら、/ etc / sambaディレクトリ

         メイン設定ファイルはsmb.confと呼ばれます

                   小さなリマインダー:

                   これらのファイルの#で始まるすべてのファイルはコメントであり、無意味です

                   「;」で始まるものはすべて削除して開始できるオプションです

                           

         2.設定:

                   構成ファイルは主に4つのセグメントで構成されています。

                   1.グローバル構成セクション[グローバル]

                   2.ホームディレクトリセクション[ホーム]

                   3.独立した共有セグメント[プリンター]

                   4.カスタムセクション[c_s]     

                  

         セクションごとに分析しましょう

         最初の段落:[グローバル]:

                   workgroup = MYGROUPはワークグループを定義します

                   server string = Samba Server Version%vこれは、インターネットネイバーフッドを通じて開いたときに使用されます。コメント情報は何ですか

                   netbios name = XXX端末に表示される名前

                   security = userこの項目は非常に重要であり、SAMBAサービスのセキュリティレベルを定義するために使用されます。4つのセキュリティレベルがあります。

                                     1.共有:匿名ユーザーに直接アクセスを許可する

                                     2.user:デフォルト:各ユーザーはアクセス時にアカウントとパスワードを提供する必要があります

                                     3.domain / server:通常、ユーザーのアカウントとパスワードは、認証中に第三者によって認証されます。専用の認証サーバーを持つなど、システムを通じて直接認証する代わりに

                                     4.ads:プライマリドメインコントローラーによって認証

                   passdb backend = tdbsamすべてのSAMBAユーザー認証ファイルが認証に使用されます

                   load printers = yesプリンタをロードするかどうか

                   cupsオプション= rawユニバーサル印刷システム、印刷方法を指定

                   hosts allow = XX.XX.XX.XXはアクセス制御リストを定義します

                                                       

         2番目の段落:[家]:

                   コメント=ホームディレクトリ情報

                  browseable = no browse、ユーザーがこのディレクトリの所有者でない場合、このディレクトリを見ることができます。つまり、所有者だけが見ることができます

                   writable = yesその中に新しいファイルを作成できますか?

 

         3番目の段落:[プリンタ]:

                   コメント=すべてのプリンター

                   パス= / var /スプール/ samba印刷プール

                   閲覧可能=いいえ 

                   guest ok = noプリンターはパブリックですか

                   書き込み可能=いいえ  

                   印刷可能=はい

                  

         4番目の段落:独自の定義:[ツール] 

                           共有名は角括弧で囲まれています

                   コメント=マイツール

                   path = / shareは、実際のディレクトリがシステムディレクトリのどこにあるかを定義するために使用されます

                   browseable = yesは閲覧可能です

                   guest ok = yesゲストアカウントを許可するかどうか

                   writable = yesは書き込み可能

         #write list = XXXリストを定義して、ユーザー/グループを書き込むことができるかどうかを決定します。グループを定義するときは、@ group nameを使用する必要があります

 

5。SAMBAを使用する

         1.使いやすい

         構成ファイルを変更するたびに、ファイルの構文が適切かどうかを確認する必要があります

         ここでは、testparmコマンドを使用します。sam構成ファイルを直接テストします

         

         テストが完了し、変更するものや構文エラーがない場合。

         使用:service smb startコマンドでサービスを開始します

         chkconfig smb on起動時に自動的に開始するように設定

         netstat -ntlpは、これらの4つのポートが開いているかどうかを確認します。    

         この時点で、Windows側では、Network Neighborhoodを介してすでに表示できるはずです。

         

         sambaを介してファイルにアクセスするすべてのユーザーは、最初にシステムユーザーである必要がありますが、パスワードはユーザーパスワードであってはなりません。smbpasswdコマンドを使用して、sambaユーザーにパスワードを追加できます。

           一般的なオプション:

                   -a:このユーザーをsambaに追加する

                   -x:Sambaからユーザーを削除します

                   -d:このユーザーを一時的に無効にします

                   -e:このユーザーを有効にします

                    

                   例:smbpasswd -a gentoo

                          

-------------------------------------------------- --------------------------------

         小さな質問:centosを書き込み不可にするが、gentooを書き込み可能にする方法は?

         [ツール]

                   書き込み可能を削除= XX

                   定義書き込みリスト= gentoo ##リスト内のタレントに書き込み権限があることを定義します。

         小さな拡張子:ここでのリストのアクセス許可はすべてよりも大きいです。ディレクトリにアクセス許可aclコントロールが設定されている場合、ここでは直接aclを無視します

-------------------------------------------------- ---------------------------------

                          

2. Linuxでクライアントとしてアクセスする方法を見てみましょう

         smbclientクライアントの表示とログインコマンド

                   -L IP / HOSTは他のホストの共有オプションを表示できます

                   -U usernameこのユーザーとして共有を表示します

        

         その形式は次のとおりです。smbclient// IP / dir -U username

        

         たとえば、次のとおりです。

                   smbclient -L 172.16.100.1相手にはパスワードが必要です。直接確認し、匿名でアクセスして、相手が共有したものを確認します

                   smbclient -L 172.16.100.1 -gentooとしてのU redhat

                  

         入力してください:

                   smbclient //172.16.100.1/tools -U redhat

                   このコマンドを使用すると、共有ディレクトリにredhatとしてログインできます。

                   

                  

         達成する別の方法を見てみましょう:

①。groupメソッドを使用して、2人のユーザーが同じディレクトリへの書き込み権限を持つように定義する方法

         それは実際には非常に簡単です:

         同じグループに2人のユーザーを追加する限り。

         groupadd mygrp

         usermod -aG mygrp gentoo

         usermod -aG mygrp redhat

        

         設定ファイルを編集

                   修正

                            書き込みリスト= @mygrp(または+ mygrp)

         ここで、前に@または+を追加し、その後にグループ名を追加すると、システムは自動的にグループの形式を認識します。

 

②。アクセス制御リストを定義し、ネットワークセグメント内のユーザーのみがアクセスを許可されることを示します。

         ホストは= 127を許可します。

                   この構成コマンドは、ネットワークのどのセグメントにアクセスできるかを示します

 

③。共有ディレクトリをローカルに直接マウントすることもできます:

マウントは実際には非常に簡単ですが、マウントするときは、ファイルシステムをCIFSにする必要があります

mount -t cifs //172.16.100.1/tools / mnt -o username = redhat

                   redhatモードでマウントすると、redhatのユーザーは書き込み可能になります。

 

 

6。グラフィカルサンバ

Sambaは、グラフィカルな管理インターフェースも提供します。

         デフォルトのポートは901、ソフトウェア名はsamba-swatです。

         インストールして使用します:

         yum install samba-swat

         samba-swatは独立したデーモンではなく、スーパーデーモンxinetdに依存しています

         スーパーデーモンによって管理されるすべての非独立デーモンの構成ファイルは、

         /etc/xinetd.d/ディレクトリ。

                   その中にswatファイルがあります

        

                   このファイルは、システムで起動するかどうか、および起動用の構成情報を定義するためのものです

                   さらに2つの重要なオプションがあります。

                            1。only_from:swatのアクセス制御リストを定義します。形式は、192.168.16.0 / 24です。

                            2。disable = yesは無効で、デフォルトはyesです。現時点ではnoに変更します

                   設定すると、サービスが開始されます。                      

                   サービスxinetd開始

        

         独自のIEブラウザーからのアクセス:172.16.100.1:901

         ここに初めてログインするときのユーザーはrootです

         ここでのパスワードは、ルートシステムのパスワードです。

         

         ここで送信された構成は、sam.confを変更します。そしてカバー。そして自動的にsamサービスを再起動します

 

         もちろん、最も重要なことはセキュリティであり、パスワードを変更する必要があります。そしてユーザー名。長期間ご使用になる場合。変更する必要があります。

 

セブン。おわりに

         これまでに、Sambaの関連するすべての構成と関連する使用方法が紹介されました。何か問題を見つけた場合は、私にPMしてください。すぐに修正します。もちろん、もっと良い方法があれば教えてください、私たちはみんな一緒に進歩しています。
 

元の記事54件を公開 89のような 680,000以上

おすすめ

転載: blog.csdn.net/ayang1986/article/details/102481843