Sambaを使用して、クロスプラットフォームのファイル共有を設定します。
異なるオペレーティングシステムを使用している場合、それらの間でファイルを共有できると便利です。この記事では、.NET Frameworkを使用してLinux()とWindows 10の間でファイル共有を設定する方法を説明します。
Sambaは プロトコルのLinux実装であり、ネットワーク接続を介して 共有フォルダやプリンターに直接アクセスすることができます。 mount.cifsはSambaスイートの一部であり、Linux上で ファイルシステムをマウントすることができます。
注:これらの手順は、プライベートなローカルネットワーク内、またはLinuxホストと仮想化Windowsゲスト間の仮想ホスト固有のネットワーク内でファイルを共有する場合に適用されます。このドキュメントは、必要なネットワークセキュリティの考慮事項を実装していないため、社内ネットワークの運用ガイドとは考えないでください。
WindowsからLinuxへのアクセス
このセクションでは、WindowsのファイルエクスプローラからユーザーのLinuxホームディレクトリにアクセスする方法について説明します。
Samba、インストールと設定
Sambaをインストールするシステムに入ります。
dnf install samba
Sambaはシステムデーモンであり、その設定ファイルは /etc/samba/smb.confあります。デフォルトの設定は問題なく動作するはずです。そうでない場合は、以下の最小構成で問題を解決できるはずです:
[global]workgroup = SAMBAserver string = %h server (Samba %v)invalid users = rootsecurity = user[homes]comment = Home Directoriesbrowseable = novalid users = %Swritable = yes
パラメータの詳細な説明は、プロジェクトのウェブサイトの smb.conf セクションにあります。
LinuxSEはLinuxSEの新しいバージョンです。
Linuxディストリビューションが CIFS 保護されている場合、Samba経由でホームディレクトリを共有するには、以下のコマンドを使用する必要があります:
setsebool -P samba_enable_home_dirs on
次のコマンドでこの値を表示します:
getsebool samba_enable_home_dirs
出力は以下の通り:
ユーザーを有効に
Sambaは、接続の許可を管理するために、ユーザー/パスワードのセットを 使用します。以下のコマンドをタイプすることで、Linuxユーザーをセットに追加:
smbpasswd -a < >
パスワードの入力を求められます。これはパスワードであり、アカウントの現在のパスワードではありません。Sambaにログインするために使用するパスワードを入力します。
Sambaの使用権を持つユーザーのリストを取得するには、以下のコマンドを入力してください:
pdbedit -L -v
ユーザーを削除するには、以下のコマンドを入力します:
smbpasswd -x < >
サンバ
Samba はシステムデーモンなので、Fedora では以下のコマンドを入力することで起動できます:
systemctl start smb
これは、現在のセッションのSambaサービスを開始します。それ自身を開始させたい場合は、次のコマンドをタイプしてください:
systemctl enable smb
いくつかのシステムでは、Sambaデーモンはsmbdとして登録されています。
ファイアウォールの設定
ファイアウォールはデフォルトでSambaをブロックします。
コマンドラインから以下のことができます:
firewall-cmd --add-service=samba --permanent
または、 firewall-config ツールを使ってグラフィカルに行うこともできます:
WindowsからのSAMBA、SAMBA、SAMBA、SAMBA、SAMBA、SAMBA、SAMBA
WindowsでFile Explorerを開きます。アドレスバーにバックスラッシュを2つ入力し、その後にLinuxマシンのアドレスを入力します:
ログイン情報を入力するプロンプトが表示されます。ステップ 3 で入力したユーザー名とパスワードの組み合わせを入力してください。これでLinuxマシンのホームディレクトリにアクセスできるはずです:
LinuxからWindowsへのアクセス
以下の手順では、LinuxからWindowsの共有フォルダにアクセスする方法を説明します。この作業を行うには、Windowsのユーザーアカウントに管理者権限が必要です。
ファイル共有の有効化
Windowsボタン" > "" > "" をクリックするか、タスクバー右下の小さなモニターアイコンを右クリックします:
開いたウィンドウで、使用したい接続を見つけ、そのプロファイルをメモしてください。私は イーサネット3を使用しました。
注:PCがパブリックネットワークに接続されることが多い場合は、ローカルコンピュータの接続プロファイルを プライベートに変更することを検討してください。
ネットワーク設定を記憶し、 をクリックします:
接続に対応するプロファイルを選択し、 を開いてください:
共有フォルダの定義
共有したいフォルダを右クリックしてコンテキストメニューを開き、 に移動して を選択します:
現在のユーザー名がリストにあることを確認します。このフォルダを共有としてマークするには、 をクリックします:
ファイルエクスプローラのアドレスバーに \\localhost 入力すると、すべての共有フォルダのリストを表示できます:
Linux で共有フォルダーをマウントする方法の例を次に示します。
Linuxシステムに戻り、コマンドラインを開き、Windows共有をマウントするための新しいフォルダを作成します:
mkdir ~/WindowsShare
Windows共有のマウントは、デフォルトでインストールされているはずのmount.cifsを使って行います。共有フォルダを一時的にマウントするには、以下のコマンドを使用します:
sudo mount.cifs //<address-of-windows-pc>/MySharedFolder ~/WindowsShare/ -o user=<Windows-user>,uid=$UID
この順番で
<address-of-windows-pc>Windows PCのアドレス情報です。- 共有フォルダへのアクセスが許可されている
<Windows-user>どうか
Windowsパスワードの入力を求められます。その後、通常のLinuxユーザーとしてWindows上の共有フォルダにアクセスできるようになります。
共有フォルダをアンインストールするには
sudo umount ~/WindowsShare/
システム起動時にWindows共有フォルダをマウントすることもできます。 手順に従って、システムを設定してください。
まとめ
ここで紹介するのは、フォルダ共有への一時的なアクセスを設定する方法ですが、これは再起動するたびにリセットしなければならないので、恒久的なアクセスに変更する方が便利です。私はシステム間を行ったり来たりすることが多いので、ファイルへの直接アクセスの設定はとても実用的です。





