LinuxおよびUNIXオペレーティングシステムでは、cifs
を使用して、ローカルディレクトリツリーの特定のマウントポイントにWindows共有をマウントできます。 mount
のオプション コマンド。
Common Internet File System(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またはsudoprivilegesを持つユーザーとして次のコマンドを実行して、共有をマウントします。
sudo mount -t cifs -o username=<win_share_user> //WIN_SHARE_IP/<share_name> /mnt/win_share
パスワードの入力を求められます:
Password:
成功すると、出力は生成されません。
リモートWindows共有が正常にマウントされていることを確認するには、mount
のいずれかを使用します またはdf -h
コマンド。
共有がマウントされると、マウントポイントはマウントされたファイルシステムのルートディレクトリになります。リモートファイルをローカルファイルであるかのように操作できます。
パスワードはコマンドラインでも指定できます:
sudo mount -t cifs -o username=<win_share_user>,password=<win_share_password> //WIN_SHARE_IP/<share_name> /mnt/win_share
ユーザーがWindowsワークグループまたはドメインにいる場合は、次のように設定できます。
sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain> //WIN_SHARE_IP/<share_name> /mnt/win_share
セキュリティを強化するために、共有のユーザー名、パスワード、ドメインを含む資格情報ファイルを使用することをお勧めします。
クレデンシャルファイルの形式は次のとおりです。
/ etc / win-credentialsusername=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/<share_name> /mnt/win_share
デフォルトでは、マウントされた共有はrootが所有し、権限は777に設定されています。
dir_mode
を使用します ディレクトリ権限とfile_mode
を設定するオプション ファイルのアクセス許可を設定するには:
sudo mount -t cifs -o credentials=/etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /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/<share_name> /mnt/win_share
追加のオプションを設定するには、-o
の後にコンマ区切りのリストとして追加します オプション。すべてのマウントオプションのリストを取得するには、man mount
と入力します ターミナルで。
自動マウント#
共有がmount
で手動でマウントされた場合 コマンドの場合、再起動後も持続しません。
/etc/fstab
fileには、システムの起動時にどこにどのファイルシステムをマウントするかを定義するエントリのリストが含まれています。
Linuxシステムの起動時にWindows共有を自動的にマウントするには、/etc/fstab
でマウントを定義します。 ファイル。この行には、Windows PCのホスト名またはIPアドレス、共有名、およびローカルマシンのマウントポイントが含まれている必要があります。
/etc/fstab
を開きます テキストエディタでファイルする:
sudo nano /etc/fstab
次の行をファイルに追加します:
/ etc / fstab# <file system> <dir> <type> <options> <dump> <pass>
//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
コマンドは、使用中の共有の切り離しに失敗します。 Windows共有にアクセスしているプロセスを見つけるには、fuser
を使用します コマンド:
fuser -m MOUNT_POINT
プロセスを見つけたら、kill
でプロセスを停止できます。 コマンドを実行し、共有をアンマウントします。
それでも共有のマウント解除に問題がある場合は、-l
を使用してください (--lazy
)オプション。ビジー状態のファイルシステムがビジー状態でなくなったらすぐにアンマウントできます。
sudo umount -l MOUNT_POINT
結論#
Linuxでは、mount
を使用して共有されたWindowsをマウントできます。 cifs
を使用したコマンド オプション。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。