ファイル共有は、あらゆるネットワークでのコラボレーションにとって重要です。この一連の記事では、LinuxクライアントとWindowsクライアントの両方からアクセスできるLinuxサーバーでファイル共有をセットアップして提供するためにSambaがどのように役立つかを紹介します。
サンバとは?
飛び込んでファイル共有を設定する前に、Sambaとは何か、Sambaで何ができるかについて説明しましょう。
Sambaは、サーバーメッセージブロック(SMB)プロトコルを実装するアプリケーションスイートです。 Microsoft Windowsを含む多くのオペレーティングシステムは、クライアントサーバーネットワークにSMBプロトコルを使用しています。 Sambaを使用すると、Linux/Unixマシンがネットワーク内のWindowsマシンと通信できるようになります。
Sambaはオープンソースソフトウェアです。もともと、Sambaは、SMBプロトコルを使用するすべてのクライアントの高速で安全なファイルと印刷の共有のために1991年に開発されました。それ以来、それは進化し、より多くの機能を追加しました。現在、Sambaは、*nixとWindows間のシームレスなネットワーキングと相互運用性を可能にする一連のアプリケーションを提供しています。
Sambaパッケージをインストールする
 この例では、ホスト名がcentosのCentOS8を使用しています。 192.168.1.122のIPアドレスを持つ私のSambaサーバーとして。インストールする必要があるパッケージはSambaだけですが、samba-commonなどの他のクライアントツールを含めたいと思います。 およびsamba-client 後でシェアをテストします。
# yum install samba samba-client samba-common -y 共有するディレクトリを作成し、その権限を設定します
 サーバーに必要なパッケージをインストールしたら、ディレクトリを作成して、そのディレクトリに必要な権限を付与しましょう。 shareというディレクトリを作成します ルートディレクトリにあります。このディレクトリには任意の名前を付けて、読み取り、書き込み、および実行のアクセス許可を与えることができます。この例では、共有ディレクトリへの読み取り、書き込みアクセスを制御するためにSamba構成に依存します。
# mkdir /share
# chmod -R 777 /share 共有を構成する
 必要なパッケージをインストールしたので、次は共有ディレクトリを構成します。構成ファイルは/etc/sambaの下にあります 。お気に入りのテキストエディタを使用して、/etc/samba/smb.confに以下を追加します 。構成ファイルの残りの部分はそのままにしておくと、セットアップに適しているはずです。
# vim /etc/samba/smb.conf
[myshare]
        comment = My share
        path = /share
        read only = No 
 
 myshareという共有を作成しました 共有へのパスを提供しました。この場合は、/shareにあります。 。次に、read only = Noで読み取り/書き込み権限を付与しました 。ここで渡すことができる構成パラメーターは他にもたくさんありますが、私たちのセットアップでは、これらの設定が適切です。
Sambaの構成を確認してください
 Sambaは、構成ファイルをチェックするためのツールを提供します。 testparmを使用して、構成ファイルにエラーがあるかどうかを確認できます。 コマンド。
# testparm 
 次に、SambaがSambaセッションで共有と通信できるように、Sambaユーザーアカウントを作成する必要があります。 smbpasswd コマンドをrootとして実行するかどうかに応じて、コマンドにはいくつかの機能があります。 または標準ユーザーとして。 smbpasswdを発行した場合 non-rootとして引数なし ユーザー、デフォルトではsmbpasswd 現在ログインしているユーザーのSambaパスワードを変更します。 smbpasswdを実行するとき rootとしてのコマンド 、新しいSambaアカウントを作成できるようになります。 Sambaアカウントは、既存のLinuxユーザーアカウントに対してのみ作成できます。
# smbpasswd -a user
New SMB password:
Retype new SMB password: 
 /shareでSELinuxを設定する必要があります Sambaサービスが適切な権限を持つようにディレクトリを作成します。
# semanage fcontext -a -t samba_share_t "/share(/.*)?"
# restorecon -R -v /share 
 次に、smbを有効にして開始する必要があります およびnmb サービス。
# systemctl enable smb
# systemctl start smb
#systemctl enable nmb
#systemctl start nmb 
 
 firewalldをお持ちの場合 サーバーで実行している場合は、Sambaトラフィックを許可するようにサーバーを構成する必要があります。 firewall-cmdを使用してこれを行うことができます 指図。これらの変更を永続的にし、firewalldをリロードすることを忘れないでください 。
 これで、サービスが有効になり、開始されました。 smbclientを使用して、サーバーから共有が利用可能かどうかを確認できます。 道具。これが、Sambaクライアントツールをローカルマシンにインストールした理由です。このコマンドは次の構文を使用します:
smbclient-U<上記で作成したsambaユーザー名>-L<サーバーのIPアドレス>
# smbclient -U user -L 192.168.1.122
Enter SAMBA\user's password: サーバーで次のコマンドを発行して、共有にアクセスできるかどうかを確認しましょう。
# smbclient -U user //192.168.1.122/myshare
Enter SAMBA\user's password:
Try "help" to get a list of possible commands.
smb: \> まとめ
LinuxサーバーにSambaファイル共有サービスをインストールして構成しました。ローカルマシンでこれらの共有にアクセスできました。次の記事では、作成したばかりの共有にアクセスするために、1つのLinuxクライアントと1つのWindows10クライアントをセットアップします。
[Linuxシステム管理についてもっと知りたいですか? RedHatシステム管理コースを受講してください。 ]