最近、私たちの小さなチームは、サーバー上の共有フォルダーを共有して、全員がパブリックリソースドキュメントを保存できるようにする必要があります。これは非常に簡単なはずだと思われます。Windowsでは、関連するWindowsアカウントを作成し、フォルダーを共有し、作成したアカウントに読み取り/書き込み権限を与えるだけで共有が完了します。ただし、Linuxではそれほど簡単ではありません。インターネット上のリソース資料のほとんどは、Sambaを介して共有タスクを完了することを指していますが、一部のブログでは、方法のみを紹介しており、なぜそれを行う必要があるのかを紹介していません。セットアップ作業はスムーズではありません。私はLinuxに精通しておらず、多くの回り道をしましたが、このブログを通じて各ステップを深く理解します。 サンバ入門 Samba は、Linux および UNIX システム上で SMB プロトコルを実装するフリー ソフトウェアであり、サーバー プログラムとクライアント プログラムで構成されています。これはでたらめだ...何か面白いものを見てみましょう。作者の Tridgwell 氏は、SMBServer (Server Message Block の略) を使用してこのソフトウェアの商標登録を申請しましたが、SMB は意味のない単語であるため、登録する方法がありませんでした。それから辞書を引いて、SAMBA には SMB という文字が含まれていることを知りました。これは、私たち全員がよく知っているラテンダンスの名前でもあります。こうして、Sanba という名前が生まれました。 (ウィキペディアより) Samba 共有ディレクトリを構築するには、共有ディレクトリにアクセスするためにユーザー名/パスワードを使用する必要がある場合、最初に Linux ユーザーを作成し、次に smbpasswd を通じて Samba ユーザーを作成する必要があります (ユーザー名は同じである必要があります)。元のテキストは次のとおりです。 スタンドアロン ホストで認証を提供するには、オペレーティング システム上でローカルにアカウントを作成し、さらに Samba データベースにもアカウントを作成する必要があります。デフォルトでは、Samba は tdbsam バックエンドを使用し、データベースを /usr/local/samba/private/passdb.tdb ファイルに保存します。オプションで、passdb backend パラメータを使用して smb.conf ファイルで別の場所を設定します。詳細については、smb.conf 5 のマニュアル ページを参照してください (https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server から)。 ユーザー名認証を必要とする共有ディレクトリを構築する 1. 共有ディレクトリのユーザーを作成します。ここではグループを使用して説明します。 グループ追加 smbgrp useradd fielshare -s /sbin/nologin -g smbgrp -p <パスワード> #同じ名前の smb ユーザーを作成します。ここでのパスワードは、ローカル ユーザーのパスワードとは完全に独立しています。最終的に使用したユーザーは、smbpasswd -a fielshare によって作成されました。 2. 共有する必要がある作業ディレクトリを作成し、フォルダの権限を設定します mkdir -p /srv/samba/secure chmod -R 0770 /srv/samba/secure chown -R ルート:smbgrp /srv/samba/secure Samba 共有ディレクトリを構築するには、共有ディレクトリにアクセスするためにユーザー名/パスワードを使用する必要がある場合、最初に Linux ユーザーを作成し、次に smbpasswd を通じて Samba ユーザーを作成する必要があります (ユーザー名は同じである必要があります)。元のテキストは次のとおりです。 3. セキュリティコンテキストを変更する chcon -t samba_share_t /srv/samba/secure このコマンドは SELinux (Security-Enhanced Linux を参照) コマンドであり、/srv/samba/securel を samba コンテキストに切り替えます。 4. 設定ファイルsmb.confを変更する 設定ファイルを変更する前に、事故を防ぐためにバックアップを取る必要があります。 cp /etc/samba/smb.conf /etc/samba/smb.conf.orig ここでは、次のことを行います。 1. [global] セクションのワークグループを WORKGROUP (マイ コンピューター => プロパティ => コンピューター名に表示されるワークグループの名前) に変更します。 2. [global] の下に NetBIOS 名を設定します。これは、My Neighborhood に表示されるコンピューター名と同様に、任意の名前にすることができます。 #My Neighborhood [share]でクリックすると表示されるフォルダ名 コメント = セキュアファイルサーバー共有 # 共有するディレクトリへのパス = /srv/samba/secure # アクセス可能なユーザー、複数のユーザーはスペースで区切られ、ユーザーグループは @ で始まります valid users = @smbgrp # 匿名アクセスを無効にしてnoに設定する ゲストOK = いいえ 書き込み可能 = はい 閲覧可能 = はい smb.conf ファイル全体は次のとおりです。 # より詳細な設定ファイルについてはsmb.conf.exampleを参照するか、 # smb.conf のマニュアルページを読んでください。 # 'testparm'を実行して設定が正しいか確認します # 変更しました。 [グローバル] ワークグループ = WORKGROUP netbios 名 = centos セキュリティ = ユーザー パスデータベースバックエンド = tdbsam 印刷 = カップ printcap 名 = カップ プリンターをロード = いいえ カップオプション = 生 [プリンター] コメント = すべてのプリンター パス = /var/tmp 印刷可能 = はい マスクを作成 = 0600 閲覧可能 = いいえ [印刷$] コメント = プリンタドライバ パス = /var/lib/samba/drivers 書き込みリスト = @printadmin root 強制グループ = @printadmin マスクを作成 = 0664 ディレクトリマスク = 0775 [共有] コメント = 安全なファイル共有 パス = /srv/samba/secure 有効なユーザー = @smbgrp ゲストOK = いいえ 書き込み可能 = はい 閲覧可能 = はい 閲覧可能 = はい smb.conf にはデフォルトで [home] ノードがあることに注意してください。ユーザー名と同じ名前のフォルダーを作成したくない場合は、削除してください。 編集を終了し、設定ファイルを保存します。 testparmを実行すると、次のような結果が得られます。これは、設定ファイルに問題がないことを意味します。 [root@localhost ソフトウェア]# testparm /etc/samba/smb.conf から smb 設定ファイルをロードします。 rlimit_max: rlimit_max (1024) を Windows の最小制限 (16384) に増やす 処理セクション「[プリンタ]」 処理セクション "[print$]" 処理セクション「[share]」 サービス ファイルを正常にロードしました。 サーバーロール: ROLE_STANDALONE Enterキーを押すとサービス定義のダンプが表示されます # グローバルパラメータ [グローバル] プリンターをロード = いいえ netbios 名 = CENTOS-SHARE printcap 名 = カップ セキュリティ = ユーザー idmap 設定 * : バックエンド = tdb カップオプション = 生 [プリンター] 閲覧可能 = いいえ コメント = すべてのプリンター マスクを作成 = 0600 パス = /var/tmp 印刷可能 = はい [印刷$] コメント = プリンタドライバ マスクを作成 = 0664 ディレクトリマスク = 0775 強制グループ = @printadmin パス = /var/lib/samba/drivers 書き込みリスト = @printadmin ルート [共有] コメント = 安全なファイル共有 パス = /home/share 読み取り専用 = いいえ 有効なユーザー = @smbgrp [root@localhost ソフトウェア]# 5. sambaサービスを再起動し、テストのためにコンピュータを開きます systemctl smb.service を再起動します。 systemctl を再起動します。 テストマシンとLinuxホストは同じネットワーク上にないため、Neighborhoodで設定したCENTOS-SHAREを見つけることができません。ここではIP経由で直接アクセスします。 6. ファイアウォールを追加することを忘れないでください。そうしないと、隣人を見ることができなくなります。 ファイアウォールコマンド --permanent --zone=public --add-service=samba ファイアウォール-cmd --reload 要約する ここでは、主に Windows 向けのユーザー名認証モードを使用してフォルダーを共有する方法のみを説明します。これに慣れていない学生は、匿名共有を自分で試すことができます。セットアップの過程で、これまで出会ったことのない SELinux に触れましたが、この分野にはまだまだ多くのことがあります。インターネット上にはSAMBAの使い方を紹介する記事がたくさんあります。このブログを書く目的は、SAMBAの使い方をさまざまな観点から伝えることです。 以下もご興味があるかもしれません:
|
>>: Vueはミックスインを使用してコンポーネントを最適化します
目次現象:ポートの使用:ファイルにスペルミスがあります:現象: Tomcat がインストールされ、W...
目次事業背景テクノロジーの活用技術的な問題デザインのアイデア😱 困惑と苦痛に満ちた顔🙄考え始める🌲デ...
Ubuntuの最新バージョンでは、ユーザーは中国語入力方法を別途ダウンロードする必要がなくなりました...
以下の HTML タグには、基本的に既存のタグがすべて含まれています。数分かけて 1 つずつ参照する...
具体的なコードは次のとおりです。 パッケージ epoint.mppdb_01.h3c; java.i...
1. はじめにls コマンドはディレクトリの内容を表示するために使用され、Linux で頻繁に使用さ...
序文MySQL データベース ロックは、データの一貫性を実現し、同時実行性の問題を解決するための重要...
この記事では、Vueの自己ネストツリーコンポーネントの使い方を参考までに紹介します。具体的な内容は次...
この記事では、WeChatアプレットでジグソーパズルゲームを実装するための具体的なコードを参考までに...
以下の例では、名前が入っている td の幅が 60px のとき、2 行目の文字数が少ない場合は正常に...
最近、個人の Web サイトに非常にシンプルなカラー スキーム (テーマ) スイッチャーを追加しまし...
長い間、リソースの制約により、使用できるフォントが限られていたため、Web サイトの開発は妨げられて...
1. 仮想環境virtualenvのインストール1. virtualenvをインストールするpip3...
CLion のプロセス全体を最初から説明します。CLion は、JetBrains がリリースした新...
方法1: MySQL では、次のコマンド ラインで MySQL サーバーを起動することにより、アクセ...