LinuxおよびUNIXオペレーティングシステムでは、cifsを使用して、ローカルディレクトリツリーの特定のマウントポイントにWindows共有をマウントできます。 mountのオプション コマンド。
Common Internet File System(CIFS)は、ネットワークファイル共有プロトコルです。 CIFSはSMBの一種です。
このチュートリアルでは、LinuxシステムにWindows共有を手動および自動でマウントする方法について説明します。
CIFSユーティリティパッケージのインストール#
LinuxシステムにWindows共有をマウントするには、最初にCIFSユーティリティパッケージをインストールする必要があります。
-
UbuntuとDebianへのCIFSユーティリティのインストール:
sudo apt updatesudo 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-credentialssudo 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を使用したコマンド オプション。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。