アンドロイド

Linuxでcifsを使用してWindows共有をマウントする方法

目次:

Anonim

LinuxおよびUNIXオペレーティングシステムでは、 mount コマンドの cifs オプションを使用して、ローカルディレクトリツリーの特定のマウントポイントにWindows共有をマウントできます。

共通インターネットファイルシステム(CIFS)は、ネットワークファイル共有プロトコルです。 CIFSはSMBの一種です。

このチュートリアルでは、LinuxシステムにWindows共有を手動および自動でマウントする方法を説明します。

CIFSユーティリティパッケージのインストール

LinuxシステムにWindows共有をマウントするには、まずCIFSユーティリティパッケージをインストールする必要があります。

  • UbuntuおよびDebianへのCIFSユーティリティのインストール:

    sudo apt update sudo apt install cifs-utils

    CentOSおよびFedoraへのCIFSユーティリティのインストール:

    sudo dnf install cifs-utils

パッケージ名は、Linuxディストリビューションによって異なる場合があります。

CIFS Windows共有のマウント

リモートWindows共有のマウントは、通常のファイルシステムのマウントに似ています。

最初に、リモートWindows共有のマウントポイントとして機能するディレクトリを作成します。

sudo mkdir /mnt/win_share

rootまたはsudo特権を持つユーザーとして次のコマンドを実行して、共有をマウントします。

sudo mount -t cifs -o username= //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o username= //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o username= //WIN_SHARE_IP/ /mnt/win_share

パスワードを入力するように求められます:

Password:

成功すると、出力は生成されません。

リモートWindows共有が正常にマウントされたことを確認するには、 mount または df -h コマンドを使用します。

共有がマウントされると、マウントポイントはマウントされたファイルシステムのルートディレクトリになります。 リモートファイルをローカルファイルであるかのように操作できます。

パスワードはコマンドラインでも提供できます。

sudo mount -t cifs -o username=, password= //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o username=, password= //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o username=, password= //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o username=, password= //WIN_SHARE_IP/ /mnt/win_share

ユーザーがWindowsワークグループまたはドメインにいる場合、次のように設定できます。

sudo mount -t cifs -o username=, domain= //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o username=, domain= //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o username=, domain= //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o username=, domain= //WIN_SHARE_IP/ /mnt/win_share

セキュリティを強化するために、共有ユーザー名、パスワード、およびドメインを含む資格情報ファイルを使用することをお勧めします。

資格情報ファイルの形式は次のとおりです。

/ etc / win-credentials

username = user password = password domain = domain

ユーザーがファイルを読み取ってはなりません。 正しい許可と所有権を設定するには、次を実行します。

sudo chown root: /etc/win-credentials sudo chmod 600 /etc/win-credentials

資格情報ファイルを使用するには、次のように定義します。

sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/ /mnt/win_share

デフォルトでは、マウントされた共有の所有者はルートであり、アクセス許可は777に設定されます。

dir_mode オプションを使用してディレクトリのアクセス許可を設定し、 file_mode を使用してファイルのアクセス許可を設定します。

sudo mount -t cifs -o credentials=/etc/win-credentials, dir_mode=0755, file_mode=0755 //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o credentials=/etc/win-credentials, dir_mode=0755, file_mode=0755 //WIN_SHARE_IP/ /mnt/win_share

デフォルトのユーザーおよびグループの所有権は、 uid および gid オプションを使用して変更できます。

sudo mount -t cifs -o credentials=/etc/win-credentials, uid=1000, gid=1000, dir_mode=0755, file_mode=0755 //WIN_SHARE_IP/ /mnt/win_share sudo mount -t cifs -o credentials=/etc/win-credentials, uid=1000, gid=1000, dir_mode=0755, file_mode=0755 //WIN_SHARE_IP/ /mnt/win_share

追加オプションを設定するには、 -o オプションの後にコンマ区切りリストとして追加します。 すべてのマウントオプションのリストを取得するには、ターミナルで man mount します。

自動マウント

mount コマンドを使用して共有を手動でマウントすると、再起動後に共有は保持されません。

/etc/fstab ファイルには、システム起動時にどこでどのファイルシステムをマウントするかを定義するエントリのリストが含まれています。

Linuxシステムの起動時にWindows共有を自動的にマウントするには、 /etc/fstab ファイルでマウントを定義します。 行には、Windows PCのホスト名またはIPアドレス、共有名、およびローカルマシンのマウントポイントが含まれている必要があります。

テキストエディタで /etc/fstab ファイルを開きます。

sudo nano /etc/fstab

ファイルに次の行を追加します。

/ etc / fstab

# //WIN_SHARE_IP/share_name /mnt/win_share cifs credentials=/etc/win-credentials, file_mode=0755, dir_mode=0755 0 0

# //WIN_SHARE_IP/share_name /mnt/win_share cifs credentials=/etc/win-credentials, file_mode=0755, dir_mode=0755 0 0

次のコマンドを実行して、共有をマウントします。

sudo mount /mnt/win_share

mount コマンドは、 /etc/fstab 内容を読み取り、共有をマウントします。

次回システムを再起動すると、Windows共有が自動的にマウントされます。

Windows共有のアンマウント

umount コマンドは、マウントされたファイルシステムをディレクトリツリーからデタッチ(マウント解除)します。

マウントされたWindows共有をデタッチするには、 umount コマンドの後に、マウントされたディレクトリまたはリモート共有を使用します。

sudo umount /mnt/win_share

CIFSマウントの fstab ファイルにエントリがある場合は、削除します。

umount コマンドは、使用中の共有の umount に失敗します。 どのプロセスがWindows共有にアクセスしているかを調べるには、 fuser コマンドを使用します。

fuser -m MOUNT_POINT

プロセスを見つけたら、 kill コマンドでそれらを停止し、共有をアンマウントできます。

sudo umount -l MOUNT_POINT

結論

Linuxでは、 mount コマンドと cifs オプションを使用して、Windows共有を mount できます。

マウント端子