記事ディレクトリ
0-1実験環境
- サーバー側:node1 ===> 192.168.43.101
- クライアント:node2 ===> 192.168.43.111
0-2WindowsとLinuxはファイルを共有します
- WindowsホストIP:192.168.43.1
- 新しいフォルダwestos
- ファイルのプロパティを開く===>共有===>高度な共有===>共有フォルダ===>共有名を設定
- ファイル属性===>共有===>矢印===>全員を選択===>追加===>共有===>完了
- Linuxクライアント:node2ホスト
smbclient -L //192.168.43.1/共享名称 -U administrator
1.サンバサービスの紹介
SambaはSMBの実装方法であり、主にLinuxシステムのファイルおよび印刷サービスを実装するために使用されます。Linuxユーザーは、Sambaサーバーを構成して使用することにより、Windowsユーザーとリソースを共有できます。
Sambaは、SMBプロトコル(ServerMessage Block)に基づくオープンソースソフトウェアです。Sambaは、SMBプロトコルの商標でもあります。SMBは、LinuxおよびUNIXシステムでファイルやプリンターなどのリソースを共有するために使用できるプロトコルです。このプロトコルはClient \ Serverプロトコルに基づいています。クライアントは、SMBを介してサーバー上の共有リソースにアクセスできます。Windowsがクライアントで、CentOSがサーバーの場合、Sambaを使用してSambaを介してLinuxリソースにアクセスし、2つのシステム間のデータ相互作用を実現できます。
Sambaは、unix / linuxで実行されるソフトウェアです。サーバー側とクライアント側に分かれており、cifsプロトコルで記述された機能を実現しています。Windowsおよびunix / linuxについては、ファイル共有を参照してください
cifs:Windowsでのファイル共有プロトコル、その前身はSMBプロトコルです
2.サンバの基本情報
-
サービス起動スクリプト
smb.service -
メイン構成ディレクトリ
/ etc / samba -
メイン構成ファイル
/etc/samba/smb.conf -
セキュリティコンテキスト
samba_share_t -
港 139、445
-
インストールパッケージ
サンバ:
samba-common:ツールキット
samba-client:クライアント
3.sambaのインストールとアクティベーション
dnf search samba
:検索dnf install samba -y
:サーバー側のインストール
dnf install samba-common -y
:サーバーとクライアントの両方をインストールする必要があります
dnf install samba-client -y
:クライアント側のインストールsystemctl enable --now smb.service
:sambaサービスを開始します- ファイアウォールが開いているときにsambaを有効にする::ファイアウォールで
firewall-cmd --permanent --add-service=samba
sambaを永続的に開く
firewall-cmd --reload
:ファイアウォールを更新して設定を有効にする
- テスト:
smbclient -L //192.168.43.101
:指定されたIPによって提供される共有ファイルを一覧表示します
(rootパスワードを入力する必要がある場合は、Enterキーを直接押してください)
4.サンバユーザーの設立
sambaユーザーはローカルユーザーである必要があります
smbpasswd -a 用户名
:sambaユーザーを追加pdbedit -L
:sambaユーザーのリストを表示するpdbedit -x 用户名
:sambaユーザーを削除する
5.sambaユーザーアクセスホームディレクトリ
setsebool -P samba_enable_home_dirs on
- Windowsでのアクセス
Windows + R ===>\\192.168.43.101
実行を入力
- Linuxでのアクセス
smbclient -L //IP/共享名称 -U 用户名
:指定されたIPによって提供される共有ファイルを一覧表示します
6.sambaサービス共有ディレクトリ
6.1自作ディレクトリの共有
mkdir /westosdir
:共有ディレクトリを作成するtouch /westosdir/file1
:ファイルを作成するsemanage fcontext -a -t samba_share_t ‘/westosdir(/.*)?’
:共有ディレクトリのSelinuxセキュリティコンテキストを変更しますrestorecon -RvvF /westosdir
:更新cp /etc/samba/smb.conf.example /etc/samba/smb.conf
:テンプレートファイルをコピーするvim /etc/samba/smb.conf
:共有ディレクトリを追加する
[LEE] #共享名称
comment = westos dir #共享说明
path = /westosdir #共享路径
systemctl restart smb.service
:サービスを再開する
- クライアント上の共有ファイルにアクセスします。
smbclient //共享文件主机IP/共享名 -U samba用户名
:指定されたIPによって提供される共有ファイルを一覧表示しますmount -o username=samba用户名,password=密码 //共享文件主机IP/共享名 挂载目录
:ファイルシステムをマウントする
6.2共有システムディレクトリ(セキュリティコンテキストを直接変更することはできません)
vim /etc/samba/smb.conf
:共有ディレクトリをシステムディレクトリに変更します
[LEE] #共享名称
comment = westos dir #共享说明
path = /mnt #共享路径
setsebool -P samba_export_all_ro on
:bool値を変更します(読み取り共有を許可します)getsebool -a | grep samba
:Sambaのbool値を照会しますsystemctl restart smb.service
:サービスを再開する
- クライアント上の共有ファイルにアクセスします。
smbclient //共享文件主机IP/共享名 -U samba用户名
:指定されたIPによって提供される共有ファイルを一覧表示します
- サーバー側の設定を復元する
7.sambaの一般的な構成パラメーター
- サービスターミナル:
chmod 777 共享目录
:共有ディレクトリのアクセス許可を変更するvim /etc/samba/smb.conf
:パラメータを追加または変更するsystemctl restart smb.service
:サービスを再開する
- クライアントテスト:
mount -o username=sdsnzy1,password=sdsnzy1 //192.168.43.101/LEE /mnt/
7.1すべてのユーザーが書くことができます
書き込み可能=はい
- クライアントのマウント後にファイルの作成に失敗しました!
- サーバー側で権限と構成ファイルを変更し、サービスを再起動します
- クライアントテスト:再マウントして書き込みます!
7.2指定されたユーザーが書き込み可能
リストの書き込み=ユーザー
- サーバー側の構成ファイルを変更して、サービスを再起動してください。
- クライアントの再マウントテスト:
7.3指定されたグループを書くことができます
リストの書き込み= @ User または +ユーザー
- サーバー側の構成ファイルを変更して、サービスを再起動してください。(sdsnzy1をsdsnzy2の追加グループとして追加し、実験の完了後に復元します)
- クライアントの再マウントテスト:
7.4指定アクセスユーザー
有効なユーザー=ユーザー
- サーバー側の構成ファイルを変更して、サービスを再起動してください。
- クライアントの再マウントテスト:
7.5アクセスグループの指定
有効なユーザー= @ User または +ユーザー
- サーバー側の構成ファイルを変更して、サービスを再起動してください。(sdsnzy1をsdsnzy2の追加グループとして追加し、実験の完了後に復元します)
- クライアントの再マウントテスト:
7.6共有を非表示にするかどうか
閲覧可能=いいえ:共有を表示しない
閲覧可能=はい:共有を表示(デフォルト)
- サーバー側の設定で共有が表示されない場合は、サービスとクライアント側のテストを再開します。
- サーバー側の設定で共有が表示されたら、サービスとクライアント側のテストを再開します。
7.7匿名ユーザーにアクセスを許可する
ゲストにマップ=悪いユーザー :グローバル設定([gloabl]に追加)
ゲストOK =はい:共有名を設定する
- サーバー側の構成ファイルを変更して、サービスを再起動してください。
- クライアントの匿名マウントテスト:
mount -o username=guest //192.168.43.101/LEE /mnt
:匿名マウント
7.8指定されたホストアクセス(ホワイトリスト)
ホストは許可= 192.168.43.111:ホストのみがアクセスできます(複数のホストIPはスペースで区切られます)
ホストは= 192.168.43を許可します。:このネットワークセグメントの下にあるホストのみがアクセスできます(たとえば、192.168.43.38; 192.168.43.183 ...など)。
7.9指定されたホストアクセス(ブラックリスト)
ホスト拒否= 192.168.43.111:ホストのみのアクセスが禁止されています(複数のホストIPはスペースで区切られています)
ホストは= 192.168.43を許可します。:このネットワークセグメントの下のホストへのアクセスを禁止する
8. Samba + autofsの自動マウントおよびアンマウント
autofs:クライアントでの自動マウントおよびアンロードを実現するソフトウェア。
マウントはファイルシステムをマウントするために使用されます。システムの起動時またはシステムの起動後にマウントできます。ハードディスクなどのローカル固定デバイスの場合、マウントを使用してマウントできます。CD、フロッピーディスク、NFS、SMBなどのファイルシステムは動的です。つまり、必要な場合にのみマウントする必要があります。光ドライブとフロッピーディスクは、マウントが必要な時期は一般的にわかっていますが、NFSとSMBの共有は必ずしもわかっているわけではありません。つまり、NFS共有とSMBをいつマウントできるかは一般的にわかりません。autofsサービスは、動的にロードされたファイルシステムを時間内にマウントできる、Windowsでの光ドライブの自動オープン機能のようなこの機能を提供します。手作業による取り付けの手間を省きます。CD-ROM、フロッピーディスクなどの動的自動マウントを実現するには、関連する構成が必要です。
8.1Autofsクライアントのインストール
dnf install autofs -y
8.2クライアント構成
vim /etc/auto.master
:構成ファイルを編集する
/mnt /etc/auto.samba
最终挂载点的上层目录 自动定义子策略文件
vim /etc/auto.samba
:自動定義されたサブポリシーファイルを編集する
samba -fstype=cifs,username=用户,password=密码 ://服务器端主机IP/共享目录
最终挂载点 挂载参数 挂载资源
vim /etc/autofs.conf
:デフォルトのアンインストール時間を変更する
timeout = 3 #自动卸载时间默认为300秒
systemctl restart autofs.service
:サービスを再開する
8.3クライアントテスト
cd /mnt/samba
:マウントポイントディレクトリを入力しますdf
:自動的にマウントされていることがわかりましたcd
:3秒後にマウントポイントディレクトリを終了します(リソースがタイムアウトのためにアイドル状態になるのを待って、マウントされたリソースは自動的にアンマウントされます)df
:3秒後、取り付けが自動的にキャンセルされたことがわかります
9. Sambaマルチユーザーマウント(cifs)
クライアントで通常のマウント方法を使用すると、ユーザー認証を使用していない人もsambaサービスにアクセスできますが、これは安全ではありません。
認証されたユーザーのみがマウントできます
9.1クライアントにsamba認証ツールをインストールする
dnf search cifs
:お問い合わせ
dnf install cifs-utils.x86_64 -y
:インストール
9.2クライアント構成
vim /root/smbauth
:マウントユーザーパスワードファイルを作成および編集します(マウントするたびにプレーンテキストでパスワードが安全に入力されないようにするため)
username=sdsnzy1
password=sdsnzy1
vim /etc/auto.master
:構成ファイルを編集する
/- /etc/auto.cifs
最终挂载点的上层目录 自动定义子策略文件
vim /etc/auto.cifs
:自動定義されたサブポリシーファイルを編集する
/samba -fstype=cifs,credentials=/root/smbauth,sec=ntlmssp,multiuser ://192.168.43.101/LEE
credentials=/root/smbauth #指定认证文件(第一步编辑好的密码文件)
sec=ntlmssp #指定认证类型
multiuser #支持多用户
systemctl restart autofs.service
:サービスを再開する
9.3クライアント認証
cifscreds add -u Samba用户 服务器端主机IP
:認証を追加cifscreds clearall
:認証されたすべてのユーザーをクリアするcifscreds clear -u Samba用户
:指定した認証済みユーザーをクリアするcifscreds update -u Samba用户
:証明書の更新
実験:
su - kiosk
:通常のユーザーに切り替えますls -l /mnt
:表示できませんcifscreds add -u sdsnzy1 192.168.43.101
:認証を追加- ファイルを表示および作成できます
- 他の一般ユーザーに切り替えてください。認証は表示できません。非常に安全です。!!