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を確認してください
YUM repository、RPMのダンプ、FTPなど、いくつかのソースからRPMをインストールできます。 この記事では、RPMフォームRHEL6ディスクをインストールしています。 メディアフォルダにRHEL6ディスクをマウントし、ディレクトリをパッケージフォルダに変更します
必要なRPMをインストールします。
Sambaデーモン
Sambaの場合、実行するには三つのサービスが必要です。
サービス デーモン 説明 必須 smb smbd (SMB/CIFSサーバー)ユーザー認証と承認、ファイルとプリンタの共有を提供する主なsambaサービス 必須 nmb nmbd (NetBIOSネームサーバー)リソースの参照 winbind winbindd ホスト名とユーザー名の解決 RPMをインストールしたばかりの場合、これらのサービスは停止されます。
必要なサービスを開始
次回のLinux起動時にサービスが実行されていることを確認してください
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
セキュリティ機能として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は、再起動後に変更が保持されていることを確認します。
新しいSambaユーザーは、Linuxコンピュータ上の有効なアカウントからのみ作成できるため、5人のユーザーを作成できます
すべてのユーザーのパスワードを設定します。 Sambaサービス用にこれらのユーザーを作成するだけで、ローカルシステムへのアクセスを許可しない場合は、ローカルシステムのパスワードを設定しないでくださ
コマンドsmbpasswd-aは、SAMBA認証のために/etc/samba/の下のパスワードデータベースにユーザーを追加するために使用できます。 Smbpasswdコマンドを使用してSambaユーザーを設定します。
smbgroupを作成し、smbuser3およびsmbuser4ユーザーを追加します
Sambaのメイン設定ファイルを開きます
smbです。confファイルには、2種類のコメント行が含まれています。
- ハッシュ記号(#)が使用されている機能を説明します
- セミコロン(;)、機能をコメントアウトするために使用されます(Add;機能を無効にするには、remove ; この機能を有効にするには)
ワークグループディレクトリの値を下に注意してください
これは、シームレスな接続のためのネットワーク上で同じになります
今、デフォルトで共有定義セクションに移動Sambaは自動的にこのセクションの最初の四行で定義されているログインしたユーザーのホームディレクトリを共有します。
browseable=ユーザーを自分のホームディレクトリに制限しません。 Sambaは/etc/passwdファイルからホームディレクトリ情報を読み込むので、ホームディレクトリのパスを指定する必要はありません。smbを閉じます。confファイルを今すぐ、サーバーのIPアドレスを書き留めておきます
それは私たちが今サーバー上で必要とするすべての構成です。以下の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
メディアフォルダにRHEL6ディスクをマウントし、パッケージディレクトリに移動します
必要に応じてRPMをインストールします。
Sambaサーバーからの接続を確認します。
Smbuser1を使用してSambaサーバーから共有をリストしようとする
“ユーザーのホームディレクトリを共有する”を確認するには、smbuser5から共有を一覧表示し、sambatmpフォルダを作成します。 Smbuser5からログインし、sambatmpフォルダに彼のホームディレクトリをマウントします。 ユーザーが書き込み可能な権限を持っていることを確認するには、テストファイルも作成します。
サーバーシステムに移動し、smbuser5からログインし、テストを確認します。
LinuxクライアントシステムでSambaクライアントを正常に構成しました。
ウィンドウ7をSambaクライアントシステムとして設定
コンピュータのプロパティを開く
設定の変更をクリックします
[変更]をクリックします。
ワークグループ名をMYGROUPに変更する
システムの再起動が必要です、再起動を確認します
システムの再起動後、接続フォームサーバーを確認します
ネットワークを開き、サーバーシステムをクリッ
smbuser1からログイン
ユーザーは自宅にログインします ディレクトリ
我々は正常にSambaのクライアントシステムとしてウィンドウ7を構成しました。
サーバー上にsharedataフォルダーを作成します。 Sharedataフォルダのpublicへの読み取りおよび書き込みアクセス権を付与します。 このフォルダを公開して共有します。 テストフォームlinuxとウィンドウクライアント。
サーバー上に/sharedataフォルダを作成します。 このフォルダはrootユーザーから作成されるため、ユーザーはこのフォルダに書き込むことができません。 777. SELinux Booleanを設定します。 今すぐsmbを開きます。confファイル
この共有/sharedataは、ユーザーがファイルをダウンロード/アップロード/読み取ることができる共通の場所を共有します。 ファイルのこの終わりに次のスタンザを追加し、ファイルを保存します
# Common location for people to share files comment = common location file sharing path = /sharedata read only = no public = yes
smbサービスを再起動します。
linuxclientでtmpdataディレクトリを作成し、その中にsharedataフォルダをマウントします。 テストファイルを作成します。
sharedataは一時フォルダであり、私たちは皆のための完全な許可を得てそれを共有しています。 これは、他のユーザーがsmbuser5から作成されたファイルを読み書きできる必要があることを意味します。 それをテストするには、ネットワークからwindow systemとopen server systemに移動します。 Sharedataフォルダを開き、ファイルを読み取ります
今、このファイルを削除します。
フォルダを作成し、その中にファイルを作成します
サーバーシステム上でこれらを確認してください。
上記の例では、任意のユーザーが他のファイルとフォルダを削除できるようにフォルダを共有しました。 今、それは少し安全にします。 サーバーに移動し、権限を変更する1777
smbuser5からログインしたlinuxclientで、ファイルを作成します
ウィンドウでは、smbuser1からログに記録され、ファイルを読み取ろうとします。
今、このファイルを削除してみてください。
それは拒否されます
Sambaでユーザーを拒否する方法
Sambaでは、共有リソースからユーザー/ユーザーを拒否することができます。 Sharedataからsmbuser5を拒否するには、/etc/samba/smbを開きます。confを開き、設定値を以下に変更してファイルを保存します
smbサービスの再読み込み
linuxclientシステムでは、まずsmbuser5からsharedataをマウントし、smbuser1からsharedataをマウントしてみてください
sambaをグループ
に制限する方法このチュートリアルでは、上記のグループsmbgroupを作成しました。 このグループへのアクセスのみを許可するようにSambaを設定します。サーバー上の
sharedataのグループを変更し、権限を1770に更新します。 Smbを開きます。confファイル
スタンザを更新し、ファイルを保存します
smbサービスの再読み込み
linuxクライアントでは、最初にsmbgroupのメンバーではないsmbuser5を試し、後でsmbgroupのメンバーであるsmbuser3を試してみてください
sambaをユーザーに制限する方法
今、私たちはユーザー/ユーザーのためにのみ共有します。 Sharedataフォルダにsmbuser1のみを許可するようにSambaを設定します。サーバー上の
は、smbuser1を/sharedataフォルダの所有者にし、権限を更新します。 Smbを開きます。conf
スタンザを変更し、ファイルを保存します
ファイルをリロードします
linuxclientでは、最初に他のユーザーと試し、後者はsmbuser1で試してみてください
これまでのところ、この記事では、Samba共有のためのアクセスの異なるレベルを設定しています。 RHCE6試験では、ファイル権限、ファイルシステムマウントオプション、SELinuxブール値、ACLはSambaによって上書きできないことを常に覚えておいてください。 つまり、ディレクトリに書き込み権限がなく、Sambaにwriteable=yesと設定されている場合、書き込みは許可されません。 これが、Samba設定を設定するよりも最初にファイルシステム権限を更新する理由です。
RHCE6試験中に以下の2つのコマンドが非常に便利です。
testparm
testparmコマンドはsmbをチェックします。内部エラーのためのconfファイル。 このコマンドの出力がエラーなしで返される場合は、構成ファイルを使用します。
smbstatus
このコマンドは、現在のSamba接続を一覧表示します。
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で構成することもできます。 あなたが個別に設定を求めているのであれば、独自のセクションでそれを行います。
それはこの記事のためのすべてです。