Centos7でのSambaサーバー構成(実戦)

Centos7でのSambaサーバー構成(実戦)

サンバの概要

Samba は、Linux および UNIX システム上で SMB プロトコルを実装するフリー ソフトウェアであり、サーバー プログラムとクライアント プログラムで構成されています。 SMB (Server Messages Block) は、ローカル エリア ネットワーク上でファイルやプリンタを共有するための通信プロトコルです。ローカル エリア ネットワーク内の異なるコンピュータ間で、ファイルやプリンタなどのリソースの共有サービスを提供します。 SMB プロトコルは、クライアントがサーバー上の共有ファイル システム、プリンター、およびその他のリソースにアクセスできるクライアント/サーバー プロトコルです。 「NetBIOS over TCP/IP」を設定することにより、Samba はローカル ネットワーク ホストだけでなく、世界中のコンピューターともリソースを共有できるようになります。

1. Samba共有サービスへの匿名アクセス

1. Sambaサービスをインストールする

[root@localhost ~]# yum install samba -y ##Sambaサービスをインストール

2. Samba設定ファイル情報を設定する

[root@localhost ~]# cd /etc/samba/ ##Samba 設定ファイル ディレクトリに切り替えます [root@localhost samba]# mv smb.conf smb.conf.bak ##バックアップします [root@localhost samba]# grep -v "#" smb.conf.bak > smb.conf ##設定ファイルを再作成します (コメントを削除します)
[root@localhost samba]# vim smb.conf ##設定ファイル[global]を変更する ##グローバルワークグループ = SAMBA
        セキュリティ = ユーザー

        パスデータベースバックエンド = tdbsam

        印刷 = カップ
        printcap 名 = カップ
        プリンターをロードする = はい
        カップオプション = 生
        ゲストにマップ = 不正なユーザー ##匿名ユーザー アクセスを有効にするには、この項目を追加します ##次の構成情報を大きな G [myshare] の最後の行に追加します ##追加された共有ファイル パス = /opt/abc ##パス public = yes ##パブリック アクセス browseable = yes ##アクセス可能 writable = yes ##書き込み権限 create mask = 0644 ##権限を設定するディレクトリ マスク = 0755

3. myshareパスディレクトリを作成し、権限を付与する

[root@localhost samba]# mkdir /opt/abc ##ディレクトリを作成[root@localhost samba]# chmod 777 /opt/abc ##完全な権限を付与[root@localhost samba]# systemctl stop firewalld.service ##ファイアウォールをオフにする[root@localhost samba]# setenforce 0 ##拡張機能をオフにする[root@localhost samba]# systemctl start smb.service ##Samba サービスを開始する

4. テストマシンを使用してアクセスする

テストマシンを使用して共有にアクセスする

共有フォルダを表示

共有フォルダにファイルを作成する

Linuxで作成されたファイルを表示する

[root@localhost samba]# cd /opt/abc/ ##共有ファイルディレクトリを表示し、作成されたテキストを表示します [root@localhost abc]# ls
111.txt
[root@localhost abc]# ls -l ##Linux匿名アクセスユーザーはnobodyです
合計使用量 0
-rw-r--r--. 1 誰も 誰も 0 11月5日 15:51 111.txt

2番目は、Samba共有サービスの認証です。

1. Samba設定ファイル情報を設定する

[root@localhost ~]# cd /etc/samba/ ##Samba設定ファイルディレクトリに切り替えます [root@localhost samba]# vim smb.conf ##設定ファイルを変更します [global]
        ワークグループ = SAMBA
        セキュリティ = ユーザー

        パスデータベースバックエンド = tdbsam

        印刷 = カップ
        printcap 名 = カップ
        プリンターをロードする = はい
        cups options = raw ##匿名アクセス項目を削除します ##次の設定情報を大きなGの最後の行に追加します [test]
        path=/opt/test ##共有ファイルディレクトリパス browseable=yes ##アクセス可能、パブリック項目を削除 create mask=0644
        ディレクトリマスク=0755
        有効なユーザー = zhangsan、lisi ##書き込みアクセスが許可されているユーザー list = zhangsan ##書き込みが許可されているユーザー

2. smbユーザーを作成する

[root@localhost samba]# useradd zhangsan ## 2人のユーザーを作成 [root@localhost samba]# useradd lisi
[root@localhost samba]# smbpasswd -a zhangsan ## smbユーザーを作成し、パスワードを設定します。新しいSMBパスワード: ##パスワードを設定します。新しいSMBパスワードを再入力します: ##パスワードを確認します。ユーザーzhangsanを追加しました。
[root@localhost samba]# smbpasswd -a lisi
新しい SMB パスワード:
新しい SMB パスワードを再入力してください:
ユーザー lisi を追加しました。
[root@localhost samba]# pdbedit -L ## smb ユーザーリスト zhangsan:1001: をリストします
リシ:1002:
[root@localhost samba]# cd /opt/  
[root@localhost opt]# mkdir test ##共有ディレクトリを作成する [root@localhost opt]# ls
abc rhテスト
[root@localhost opt]# chmod 777 test/ ##最大限の権限を与える [root@localhost opt]# systemctl restart smb.service ##Sambaサービスを再起動します

3. テストマシンを使用して共有にアクセスする

エラーを回避するには、まずテストでキャッシュをクリアしてください

テストマシンを使用して共有にアクセスする

認証が必要です。ユーザー名とパスワードを入力してください


テスト共有フォルダにファイルを作成する

Linuxで作成されたファイルを表示する

[root@localhost opt]# cd /opt/test/
[root@localhost test]# ls ## 222.txt が正常に作成されました

4. 設定ファイルへの書き込みはzhangsanのみ許可されているので、lisiが書き込み可能かどうかをテストします。

lisiで共有にアクセスする

テストファイルの作成

3. Samba共有サービスのアカウント名マッピング(アカウントエイリアスログイン)

1. マッピングファイルとSamba設定ファイルを構成する

[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# vim smbusers ##アカウントマッピング設定ファイルを作成します zhangsan = t01 t02 ##エイリアス t01 t02 パスワードはユーザー zhangsan のパスワードのままです [root@localhost samba]# vim smb.conf ##Samba 設定ファイルを設定します [global]
        ワークグループ = SAMBA
        セキュリティ = ユーザー

        パスデータベースバックエンド = tdbsam

        印刷 = カップ
        printcap 名 = カップ
        プリンターをロードする = はい
        カップオプション = 生
        ユーザー名マップ = /etc/samba/smbusers ##エイリアス設定ファイルパス [root@localhost samba] を追加# systemctl restart smb.service ##Samba サービスを再起動します

2. テストマシンを使用してエイリアスアクセスをテストし、エイリアスを使用してログインします。


4番目は、Samba共有サービスのアクセス制御リストです。

1. Samba設定ファイル情報を設定する

[root@localhost ~]# cd /etc/samba/ ##Samba設定ファイルディレクトリに切り替える[root@localhost samba]# vim smb.conf ##設定ファイルを変更する[test]
  パス=/opt/test
  閲覧可能=はい
  マスクを作成=0644
  ディレクトリマスク=0755
  有効なユーザー = zhangsan、lisi
  書き込みリスト=zhangsan
  hosts deny=192.168.13. ##192.168.13セグメントへのアクセスを拒否するテストを追加します
[root@localhost samba]# systemctl restart smb.service ##Sambaサービスを再起動します

2. テストマシンを使用してテスト共有フォルダにアクセスする

5. Windows共有フォルダをLinuxに直接マウントして使用する

1. Linuxを使用してWindows共有ファイルにアクセスする

[root@localhost ~]# smbclient -L //192.168.100.99/share ##共有にアクセスするSAMBA\rootのパスワードを入力してください: ##パスワード

2. 共有ファイルをLinuxにマウントし、直接ファイルにアクセスする

[root@localhost ~]# mkdir -p /opt/share01 ##マウント ポイントを作成します[root@localhost ~]# mount.cifs //192.168.100.99/share /opt/share01 ##共有フォルダーをマウント ポイントにマウントしますroot@//192.168.100.99/share のパスワード: 
[root@localhost ~]# cd /opt/share01 ##マウントポイントに切り替えます [root@localhost share01]# ls
テスト.txt
[root@localhost share01]# cat test.txt ##共有フォルダーのファイルの内容を表示します。これはテストです!!

(Windows特有の共有設定については前回のブログを参考にしてください、ありがとうございます!!)

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Centos7 で Samba サーバーを構築する方法の簡単な分析

<<:  Vue の新しいパートナー TypeScript クイックスタート実践記録

>>:  MySQL 8.0.15 圧縮版インストール グラフィック チュートリアル

推薦する

Dockerコンテナのデータを復元する方法

プロジェクトのテスト環境データベースのデータが失われてしまったので、記録しておきたいと思います。当時...

MySQL マスタースレーブレプリケーションの原理と実践の詳細な説明

目次導入効果原理形状練習するこの記事では、例を使用して、MySQL マスター/スレーブ レプリケーシ...

MySQLビューの原理と使用法の詳細な説明

この記事では、例を使用して MySQL ビューの原理と使用方法を説明します。ご参考までに、詳細は以下...

CSSはリストのスタイルを設定し、ナビゲーションメニューの実装コードを作成します。

1. リストシンボルを設定するlist-style-type: attribute; //リストの...

2つのVirtualBox仮想ネットワークをブリッジするLinuxブリッジメソッドの手順

この記事は、この時期の「ピーターから奪ってポールに払う」という仕事のスタイルに対する私の不満から生ま...

MySQL テーブルがロックされているかどうかを照会する方法

具体的な方法: (推奨チュートリアル:MySQLデータベース学習チュートリアル)テーブルロックの状態...

MySQL ログイン警告問題の解決策

1. はじめにMySQL にログインすると、次のような警告が表示されることがよくあります。警告: コ...

Docker-compose を使用して ELK クラスターを構築する方法

すべてのオーケストレーション ファイルと構成ファイルは、私の Github からアクセスできます。構...

Vue3.0はチェックボックスコンポーネントのカプセル化を実装します

この記事では、チェックボックスコンポーネントのカプセル化を実装するためのvue3.0の具体的なコード...

Nginx の realip モジュールの使い方の基礎学習

序文nginx モジュールには、公式とサードパーティの 2 種類があります。nginx のインストー...

MySQL 独立インデックスと共同インデックスの選択

複数列のインデックスについては、理解が不足していることがよくあります。よくある間違いは、多数の列に独...

Gitlab-ci を使用してリモート マシンに継続的にデプロイする方法 (詳細なチュートリアル)

簡単に言うと、今日は Gitlab-CI を使用してリモート サーバーに自動的にデプロイする方法につ...

...

Javascript 構造化代入の詳細

目次1. 配列の分解2. オブジェクトの分解3. 不完全な解体4. 分割代入を使用して変数交換を実装...