中小規模の企業ネットワークで作業している場合は、おそらく数十台のドライブがあります。 およびプリンタ 共有する必要があります。
NFSプロトコルの他に、ネットワークを介してリソースを共有するために使用できるネットワークプロトコルは他にもたくさんあります。
CIFS 、 Common Internet File Systemの略 は、同じオペレーティングシステムを共有しているかどうかに関係なく、複数のホスト間でリソースを共有するために使用されるネットワークファイルシステムプロトコルです。
SMBプロトコルとも呼ばれるCIFS 、1つの人気のあるツールであるSambaサーバーによって実装されます。
1991年に開始されたSambaは、UnixとWindowsベースのシステムの相互運用性を容易にするために初期に開発されました。
このチュートリアルでは、Sambaのインストールと構成に焦点を当てます。 あなたのネットワークのために。
前提条件
システムに新しいパッケージをインストールするには、昇格された権限を持つユーザーである必要があります。
すでにsudoユーザーであるかどうかを確認するには、「groups」コマンドを実行して、「sudo」がリストに属しているかどうかを確認します。
$ groups
user sudo netdev cdrom
sudoグループに属していない場合は、チュートリアルの1つを確認して、Debianインスタンスのsudo権限を取得できます。
sudo権限を取得したので、すぐにSambaサーバーのインストールに進みましょう。
DebianへのSambaのインストール
Sambaをインストールする前に、パッケージがDebianリポジトリで最新であることを確認する必要があります。
$ sudo apt-get update
システムが最新の状態になったので、「samba」パッケージで「apt-getinstall」コマンドを実行できます。
$ sudo apt-get install samba
Sambaをインストールすると、次の画面が表示されます。
つまり、このウィンドウは、ネットワークを介したNetBIOSネームサーバーの取得を構成するために使用されます。
現在、企業ネットワークはDNSネームサーバーを使用している可能性が高いです。 ネットワーク上でホスト名に関する静的情報を保存するため。
結果として、WINSサーバーを使用していない可能性が高いため、[いいえ]オプションを選択できます。
インストールを再開すると、APTはSambaに必要なパッケージを解凍してインストールします。
さらに、「 sambashare 」グループが作成されます。
インストール後、「-v」オプションを指定して「samba」コマンドを実行することにより、システムで使用されているバージョンを確認できます。
$ samba -V
Sambaサーバーが実行されていることを確認することもできます systemctlを使用してSambaSMBデーモンのステータスを確認します。
$ systemctl status smbd
これで、SambaがDebianサーバーに正しくインストールされました!
ファイアウォールでSambaポートを開く
このセクションは、サーバーでUFWまたはFirewallDを使用している場合にのみ適用されます。
WindowsおよびLinuxホストからSambaにアクセスできるようにするには、ファイアウォールでポート139および445が開いていることを確認する必要があります。
DebianとUbuntuでは、おそらくUFWファイアウォールを使用しています。
UFWファイアウォールでポートを開くには、ポート139と445で「allow」コマンドを使用する必要があります。
$ sudo ufw allow 139
$ sudo ufw allow 445
$ sufo ufw status
CentOSまたはRHELサーバーで作業している場合は、「ファイアウォール-cmd」を使用する必要があります。 」を使用して、コンピュータのポートを開きます。
$ sudo firewall-cmd --permanent --add-port=139/tcp
success
$ sudo firewall-cmd --permanent --add-port=445/tcp
success
$ sudo firewall-cmd --reload
success
DebianでのSambaの設定
Sambaが正しくインストールされたので、構成する時が来ました。 一部の共有をエクスポートできるように構成するため。
注 :Sambaは、ドメインコントローラー(Active Directoryなど)として機能するように構成することもできますが、これについては別のチュートリアルで説明します。
デフォルトでは、Samba構成ファイルは「/ etc/samba」フォルダーにあります。
デフォルトでは、Sambaフォルダには次のエントリが含まれています:
- gdbコマンド :GDBデバッガーの一連のエントリを含むファイル(ここではまったく使用されません)。
- smb.conf :メインのSamba構成ファイル;
- tls :Sambaサーバーに関するTLSおよびSSL情報を保存するために使用されるディレクトリ。
このセクションでは、smb.confファイルの内容に焦点を当てます。
Samba構成ファイルはさまざまなセクションで構成されています:
- グローバル :その名前が示すように、ワークグループ(Windowsを使用している場合)、ログの場所、PAMパスワードの同期(存在する場合)などのSambaグローバルパラメーターを定義するために使用されます。
- 定義を共有します :このセクションでは、Sambaサーバーによってエクスポートされたさまざまな共有を一覧表示します。
Windowsワークグループの定義
SambaサーバーをWindowsワークグループに含めることを計画している場合は、ワークグループを決定する必要があります。 お使いのコンピュータは所属しています。
Unixのみのネットワークで作業している場合は、このセクションをスキップして、共有定義に直接ジャンプできます。
注 :ドメインコントローラーを使用している場合、これらの設定は適用されません。
現在のワークグループを見つけるには、Windowsの[スタート]メニューに移動し、[このコンピューターが使用されているワークグループを表示する]を検索します。
検索ユーティリティによって提供されるオプションを選択すると、次のウィンドウでワークグループを見つけることができるはずです。
この場合、ワークグループ名は単に「ワークグループ」です。 「。
ただし、この名前がSamba構成ファイルに反映されていることを確認する必要があります。
ワークグループが適切に構成されたので、Sambaサーバーの単純な共有定義を定義することから始めましょう。
Samba共有定義の定義
Sambaでは、次のフィールドを指定して共有を定義します:
- 共有名 :共有の名前と共有の将来のアドレス(共有名は括弧内に指定する必要があります)。
- プロパティを共有する :共有へのパス、公開されている場合、閲覧できる場合、ファイルの読み取りやファイルの作成ができる場合など。
簡単に始めるために、認証なしですべてのマシンで公開されるSamba共有を作成しましょう。
注 :機密情報や個人情報を含む共有をエクスポートする場合は、Samba認証を設定することをお勧めします。
公開Samba共有の作成
まず、システムにエクスポートするフォルダを決定する必要があります。このチュートリアルでは、「/example」を選択します。
ユーザーが共有にファイルを書き込めるようにするには、共有に対する権限が必要です。
ただし、フォルダ内のすべてのユーザーに完全なアクセス許可を設定するのではなく、システムアカウント(書き込みアクセス許可を持つ)を作成し、Sambaにログインするときにユーザーにこのアカウントの使用を強制します。
>システムアカウントを作成するには、システムアカウントの「-r」オプションを指定して「useradd」コマンドを使用します。
$ sudo useradd -rs /bin/false samba-public
$ sudo chown samba-public /example
$ sudo chmod u+rwx /example
パブリックSamba共有を作成するには、Samba構成ファイルの最後に移動し、次のセクションを追加します。
$ nano /etc/samba/smb.conf
[public]
path = /example
available = yes
browsable = yes
public = yes
writable = yes
force user = samba-public
このSamba共有定義で指定されているすべてのプロパティの説明は次のとおりです:
- パス :かなり自明です。Sambaでエクスポートするファイルシステム上のパス。
- 利用可能 :共有がエクスポートされることを意味します(共有を定義することを選択できますが、エクスポートしないことを選択できます)。
- 閲覧可能 :共有がネットワークビュー(たとえば、Windowsネットワークビューなど)で公開されることを意味します。
- 公開 :「guestok」の同義語。このパラメータは、誰もがこの共有をエクスポートできることを意味します。
- 書き込み可能 :すべてのユーザーが共有上にファイルを作成できることを意味します。
- ユーザーを強制する :ロギング時に、ユーザーは「samba-public」アカウントのIDを取得します。
smbdサービスを再起動する前に、「testparm」を使用して、構成が構文的に正しいことを確認できます。
$ testparm
ご覧のとおり、構成の検証中に構文エラーは発生しなかったため、問題はありません。
共有定義が作成されたので、smbdサービスを再開できます。 変更を適用するために。
$ sudo systemctl restart smbd
$ sudo systemctl status smbd
これで共有にアクセスできるようになります。確認するために、「 samba-client」をインストールできます。 」パッケージを作成し、ローカルマシンにエクスポートされた共有を一覧表示します。
$ sudo apt-get install smbclient
$ smbclient -L localhost
注 :ワークグループのパスワードを入力するように求められます。ほとんどの場合、ワークグループのパスワードはありません。Enterキーを押すだけです。
LinuxからSambaに接続する
CIFSファイルシステムをマウントできるようにするには、CIFSユーティリティをインストールする必要があります。 システム上で。
$ sudo apt-get install cifs-utils
CIFSユーティリティがインストールされたので、mountコマンドを使用してファイルシステムをマウントできます。
$ sudo mount -t cifs //<server_ip>/<share_name> <mountpoint>
前の例を使用すると、エクスポートされた共有の名前は「public」で、192.168.178.35のIPアドレスで利用できました。
注 :LinuxでIPアドレスを見つける方法がわからない場合は、このチュートリアルに従うことができます。
ファイルシステムを「/mnt」マウントポイントにマウントすると、
になります。$ sudo mount -t cifs //192.168.178.35/public /mnt -o uid=devconnected
Password for [email protected]//192.168.178.35/public : <no_password>
ドライブがマウントされたので、他のファイルシステムと同じようにドライブにアクセスして、ファイルの作成を開始できます。
おめでとうございます。LinuxにCIFSドライブを正常にマウントできました!
WindowsからSambaに接続する
Windowsホストを使用している場合は、Samba共有への接続がさらに簡単になります。
Windows Searchメニューで、「実行」アプリケーションを探します。
[実行]ウィンドウで、Linuxセットアップと同じ情報セットを使用してSamba共有に接続します。
注意:Windowsでは、スラッシュの代わりに円記号を使用する必要があります。
完了したら、「OK」をクリックするだけです。 共有をナビゲートするために!
素晴らしい、WindowsでSambaを正常に閲覧できました!
Samba株の確保
前のセクションでは、パブリックシェアを作成しました。
ただし、ほとんどの場合、ネットワーク上の制限された数のユーザーのみがアクセスできる安全な共有を構築することをお勧めします。
デフォルトでは、Samba認証はUnix認証から分離されています :このステートメントは、ユーザー用に個別のSambaクレデンシャルを作成する必要があることを意味します。
注 :SambaをAD / DCとして構築することを選択できますが、これは完全に異なるチュートリアルになります。
新しいSambaを作成するには、「 smbpasswd」を使用する必要があります 」コマンドを実行し、作成するユーザーの名前を指定します。
$ smbpasswd <user>
注 :Sambaで作成しようとしているユーザーは、システムにすでにUnixアカウントが設定されている必要があります。
ユーザーが作成されたので、共有を安全にするためにSamba構成ファイルを編集できます。
$ nano /etc/samba/smb.conf
[private]
path = /private
available = yes
browsable = yes
public = no
writable = yes
valid users = <user>
「有効なユーザー」のオプションを除いて、ほとんどのオプションは前のセクションですでに説明されています。ただし、その名前が示すように、制限されたユーザーリストへのSambaアクセスを許可します。
ここでも、「testparm」コマンドを使用してSamba構成をテストし、問題がなければSambaサービスを再起動できます。
$ testparm
$ sudo systemctl restart smbd
$ sudo systemctl status smbd
ドライブが保護されたので、リモートオペレーティングシステムからドライブへのアクセスを開始します。
Windowsを使用して安全なSambaに接続する
Windowsでは、前の手順と同じ手順を使用する必要があります。「実行」アプリケーションを実行し、共有ドライブのアドレスを入力します。
[OK]をクリックすると、資格情報を尋ねるボックスが表示されます。前のセクションでsmbpasswdで定義した資格情報を使用する必要があります。
正しいパスワードを入力した場合は、ネットワークドライブにリダイレクトされます。おめでとうございます !
Linuxを使用して安全なSambaに接続する
Linuxを使用して安全なSamba共有に接続するには、「マウント」を使用する必要があります 」コマンドを実行し、共有のアドレスと使用するマウントポイントを指定します。
$ sudo mount -t cifs //<share_ip>/<share_name> <mount_point> -o username=<user>
192.168.178.35 IPアドレスの「プライベート」共有の例を使用すると、次のコマンドが実行されます:
$ sudo mount -t cifs //192.168.178.35/private /mnt -o username=user
Password for [email protected]//192.168.178.35/private: <provide_password>
以上です!
これで、ドライブが正しくマウントされているはずです。
マウントされたファイルシステムを一覧表示する「findmnt」コマンドを使用して、正しくマウントされたことを確認できます。
$ findmnt /mnt
おめでとうございます。サーバーに安全なSamba共有を正常にマウントしました!
結論
このチュートリアルでは、Sambaサーバーを簡単にインストールして構成する方法を学びました。 ドライブを共有するために。
また、Samba共有オプションを微調整できることも学びました。 WindowsとLinuxのどちらを使用していても、共有を安全にするためです。
Sambaは、相互運用性に取り組む重要なツールです。 オペレーティングシステムの概要:Sambaプロジェクトに興味がある場合は、必ずそのWebサイトを確認してください。
また、Sambaがドメインコントローラーとして機能するように構成できるActiveDirectoryの無料の代替手段も提供しています。
Linuxシステム管理に興味がある場合 、ウェブサイトにはそれ専用の完全なセクションがありますので、ぜひチェックしてください!