ファイル共有は、あらゆるネットワークでのコラボレーションにとって重要です。この一連の記事では、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システム管理コースを受講してください。 ]