sambaファイル共有サービス
一、sambaサービスを理解する;1.概念:windowsとlinuxシステムの間でsmbプロトコルを実現するオープンソースソフトウェアで、c/s構造である.2.SMB(サービス・メッセージ・ブロック・プロトコル):ローカルエリアネットワーク上でファイルとプリンタを共有する通信プロトコルで、異なるシステム間でファイルまたはプリンタを共有する.3.NetBios(ネットワーク基本入出力システムプロトコル):データ伝送中のホストの解析を担当する.4.CIFS(汎用ネットワークファイルシステム):CIFSはMicrosoft Windowsオペレーティングシステムに対するローカルネットワークファイルシステムである.Linuxシステムは、一般的なネットワークファイルシステムと同様にCIFSファイル共有にマウントおよびアクセスすることができる.5.sambaの役割:共有ファイルとプリンタ、linuxをwindowsのADに追加することをサポートする;linuxとwindows間のアクセスを実現する.6.実現原理:Sambaサービスは、SMBプロトコルに基づいた通信に関連する強力な機能を備えています.SMBは、ディレクトリとプリンタの共有だけでなく、認証、権限設定もサポートします.初期には、SMBはNBTプロトコル(NetBIOS over TCP/IP)上で実行され、プロトコルの137、138およびTCPプロトコルの139ポートを使用し、後期にはSMBが開発され、TCP/IPプロトコル上で直接実行することができ、追加のNBT層がなく、TCPプロトコルの445ポートを使用する.クライアント--------------------------------------------------------------------------------------------------(2)-------------->smb.confメインプロファイルクライアント--(4)-------->サービス側--------(3)-------->ログファイル2、sambaパッケージの構成:1.sambaソフトウェアの構成:samba-common(共通コンポーネント)、samba-client(クライアント)、samba(メインプログラム)、samba-winbund(unixシステムがwindowsADを利用することを許可するユーザー情報);2.sambaサービスのプログラムコンポーネント:smb:共有アクセスを提供し、ファイル転送を管理する.ポートtcp 139号(smbプロトコル)、tcp 445号(cifsプロトコル)nmb:NetBIOSプロトコル(プラットフォーム間共有を担当)解析、ポートudp 137、138号三、sambaを理解する主プロファイル:/etc/samb/smb.conf 1.主プロファイルのフォーマット:#コメントを表す;構成の例を示す、[global]グローバル設定、[homes]ホームディレクトリ共有設定、[printers]プリンタ共有設定;四、匿名と認証の共有a.ネットワークを構築する:例えばip、ゲートウェイ、ホスト名、selinuxを閉じ、iptablesを閉じる;b.sambaのインストール:yumのインストールを推奨する;c.プロファイルの変更:smb.confメインプロファイルは、必要に応じて変更します.smbusers共有アカウントの別名ファイル;1つのsmbユーザは、複数の名前にマッピングすることができる.d.管理sambaユーザー:pdbedit-a-uユーザー##smbユーザーpdbedit-x-uユーザーにシステムユーザーを追加##システムユーザーを削除smbユーザーの中でpdbedit-L##smbユーザーe.起動サービス:/etc/init.d/smb start##共有/etc/initを起動する.d/nmb start##netBOISサービスf.アクセステスト:五、sambaサービスのアクセス:1.smbclient:yum-y install samba-client##インストールパッケージsmbclient-L ipアドレス-Uユーザー##共有smbclient-Uユーザー//ipアドレス/共有名##匿名共有にアクセスする場合-U 2を指定する必要はありません.mount:yum-y install cifs-utiles##cifsツールをインストールmount-o username=ユーザー名//ip/共有名マウントポイント##アクセス認証共有mount-o username=*//ip/共有名マウントポイント##匿名共有3にアクセスする.Windowsクライアント共有の原理:net share##ローカル共有net use##管理共有マッピングnet use共有パス/delete##共有キャッシュinetcplを削除する.cpl##inetオプションを開き、アクセスレコードを削除
匿名共有:1.ネットワークパラメータと基本環境の設定:[root@smb ~]# vi/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0HWADDR=00:0C:29:68:b1:0fNM_CONTROLLED=noONBOOT=yesBOOTPROTO=staticIPADDR=192.168.100.150NETMASK=255.255.255.0GATEWAY=192.168.100.100DNS1=192.168.100.100:wq
[root@smb ~]# vi/etc/sysconfig/networkHOSTNAME=smb.linuxfan.cn:wq[root@smb ~]# vi/etc/selinux/config SELINUX=disabled:wq
[root@smb~]#chkconfig iptables off##ファイアウォールを設置して起動しない[root@smb~]#reboot##ホストを再起動
2.sambaソフトウェアのインストール:[root@smb~]#mount/dev/cdrom/mnt##ディスクを/mntというディレクトリにマウントする[root@smb ~]# rm -rf/etc/yum.repos.d/*[root@smb ~]# vi/etc/yum.repos.d/centos.repo##yumプロファイルを編集[local]name=localbaseurl=file:///mntenabled=1gpgcheck=0:wq[root@smb~]#yum-y install samba##sambaパッケージのインストール
3.修正/etc/samba/smb.confカスタマイズ機能:[root@smb ~]# vi/etc/samba/smb.conf##削除コメント:%g/^#/d空行:%g/^$/d削除サンプル:%g/^;/d余分な空白行を削除する.以下に変更します:[global]
[public]comment=Public Stuff##path=/opt/share##共有のパスを設定public=yes##共有writable=yesを公開するかどうか設定書き込み可能かどうか、すなわちアップロードファイルprintable=no共有プリンタ設定:wq[root@smb ~]# mkdir/opt/share[root@smb ~]# touch/opt/share/a.file[root@smb ~]# chmod 777/opt/share[root@smb~]#testparm##構成に誤りがないかテスト
4.サービスの開始:[root@smb ~]#/etc/init.d/smb start[root@smb ~]#/etc/init.d/nmb start[root@smb ~]# chkconfig smb on[root@smb~]#netstat-utpln|grep mb##TCP:139445/UDP:137138ポートの表示
5.クライアントテスト:windows:192.168.100.150publiclinux:第1の方法:光ディスクをマウントし、yumソースを構成する.yum -y install cifs*mount -o cifs//192.168.100.150/public/benet/##匿名共有プロンプトパスワードを入力して直接ls/benet##に戻る第2の方法を検証します:ディスクをマウントして、yumソースを配置します;yum -y install samba-clientsmbclient//192.168.100.150/public##smb:>##lsにログインして表示して、getファイル名はダウンロードして、putファイル名はアップロードして、quitは退出します
ユーザ認証の共有:匿名と認証を1つ選択することに注意する.作成ユーザ:useradd u 01 useradd u 02 pdbedit-a u 01##システムユーザをsmbユーザpdbedit-a u 02 pdbedit-L##smbユーザ2として追加する.プロファイルの変更:[root@smb ~]# vi/etc/samba/smb.conf[global]
[public]comment=Public Stuffpath=/opt/sharepublic=no##共有非公開writable=no##デフォルトではvalid users=u 01を書くことはできません.u 02##アクセス可能なユーザーwrite list=u 01##書き込み権限のあるユーザー:wqtestparm##構成に誤りがないか/etc/initをテストします.d/smb restart##再起動サービスnetstat-utpln|grep mb##ポートの使用状況を確認する.テスト:windowsホスト:192.168.100.150ログインユーザ名パスワードテスト読み込み書き込み権限cmd中のnet use保存したリンク情報を表示するnet use*/del保存した接続情報を削除して再アクセス192.168.100.150追加ユーザーのテスト
linux:クライアントはipを構成する必要があり、sambaサーバと同じネットワークにあることができる第1の方法:mount-o username=u 01//192.168.100.150/public/mntcd/mnttouch b.filels第2の方式:smbclient-U u 02//192.168.100.150/public
smb linux windows :
匿名共有:1.ネットワークパラメータと基本環境の設定:[root@smb ~]# vi/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0HWADDR=00:0C:29:68:b1:0fNM_CONTROLLED=noONBOOT=yesBOOTPROTO=staticIPADDR=192.168.100.150NETMASK=255.255.255.0GATEWAY=192.168.100.100DNS1=192.168.100.100:wq
[root@smb ~]# vi/etc/sysconfig/networkHOSTNAME=smb.linuxfan.cn:wq[root@smb ~]# vi/etc/selinux/config SELINUX=disabled:wq
[root@smb~]#chkconfig iptables off##ファイアウォールを設置して起動しない[root@smb~]#reboot##ホストを再起動
2.sambaソフトウェアのインストール:[root@smb~]#mount/dev/cdrom/mnt##ディスクを/mntというディレクトリにマウントする[root@smb ~]# rm -rf/etc/yum.repos.d/*[root@smb ~]# vi/etc/yum.repos.d/centos.repo##yumプロファイルを編集[local]name=localbaseurl=file:///mntenabled=1gpgcheck=0:wq[root@smb~]#yum-y install samba##sambaパッケージのインストール
3.修正/etc/samba/smb.confカスタマイズ機能:[root@smb ~]# vi/etc/samba/smb.conf##削除コメント:%g/^#/d空行:%g/^$/d削除サンプル:%g/^;/d余分な空白行を削除する.以下に変更します:[global]
workgroup = MYGROUP
##
server string = Samba Server Version %v
##
log file = /var/log/samba/log.%m
##
max log size = 50
##
security = share
##
passdb backend = tdbsam
##
load printers = yes
##
cups options = raw
##
[public]comment=Public Stuff##path=/opt/share##共有のパスを設定public=yes##共有writable=yesを公開するかどうか設定書き込み可能かどうか、すなわちアップロードファイルprintable=no共有プリンタ設定:wq[root@smb ~]# mkdir/opt/share[root@smb ~]# touch/opt/share/a.file[root@smb ~]# chmod 777/opt/share[root@smb~]#testparm##構成に誤りがないかテスト
4.サービスの開始:[root@smb ~]#/etc/init.d/smb start[root@smb ~]#/etc/init.d/nmb start[root@smb ~]# chkconfig smb on[root@smb~]#netstat-utpln|grep mb##TCP:139445/UDP:137138ポートの表示
5.クライアントテスト:windows:192.168.100.150publiclinux:第1の方法:光ディスクをマウントし、yumソースを構成する.yum -y install cifs*mount -o cifs//192.168.100.150/public/benet/##匿名共有プロンプトパスワードを入力して直接ls/benet##に戻る第2の方法を検証します:ディスクをマウントして、yumソースを配置します;yum -y install samba-clientsmbclient//192.168.100.150/public##smb:>##lsにログインして表示して、getファイル名はダウンロードして、putファイル名はアップロードして、quitは退出します
ユーザ認証の共有:匿名と認証を1つ選択することに注意する.作成ユーザ:useradd u 01 useradd u 02 pdbedit-a u 01##システムユーザをsmbユーザpdbedit-a u 02 pdbedit-L##smbユーザ2として追加する.プロファイルの変更:[root@smb ~]# vi/etc/samba/smb.conf[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = user ## , share user
passdb backend = tdbsam
load printers = yes
cups options = raw
[public]comment=Public Stuffpath=/opt/sharepublic=no##共有非公開writable=no##デフォルトではvalid users=u 01を書くことはできません.u 02##アクセス可能なユーザーwrite list=u 01##書き込み権限のあるユーザー:wqtestparm##構成に誤りがないか/etc/initをテストします.d/smb restart##再起動サービスnetstat-utpln|grep mb##ポートの使用状況を確認する.テスト:windowsホスト:192.168.100.150ログインユーザ名パスワードテスト読み込み書き込み権限cmd中のnet use保存したリンク情報を表示するnet use*/del保存した接続情報を削除して再アクセス192.168.100.150追加ユーザーのテスト
linux:クライアントはipを構成する必要があり、sambaサーバと同じネットワークにあることができる第1の方法:mount-o username=u 01//192.168.100.150/public/mntcd/mnttouch b.filels第2の方式:smbclient-U u 02//192.168.100.150/public