LoginSignup
1
2

More than 5 years have passed since last update.

Linuxサーバの一般ユーザから、多数のWindowsマシンの共有フォルダを参照する方法

Last updated at Posted at 2019-03-03

はじめに

LinuxサーバからWindowsマシンの共有フォルダを参照したいとき、
接続先が少数であれば、fstabに設定する方法でよいですが、
接続先が多数1あるときには、それらをすべてfstabに設定する作業なんてしたくないですよね。

そんなときは、sudoersに設定を入れて、一般ユーザからmount、umountを可能にすると便利です。2

この記事では、/mnt 配下にマウントしたかったので、mkdirもsudoを許可してあります。

cifsはセットアップ済の想定です。
(なお、WSLは現時点ではcifsに対応していないようですね。3

設定手順

ここでは、一般ユーザのユーザ名は foo としてあります。

console
$ su
# visudo -f /etc/sudoers.d/foo
sudoers.d
foo ALL=(ALL) NOPASSWD:/bin/mount,/bin/umount,/bin/mkdir
console
# exit

マウント手順

lsコマンドは、状況確認のために実行しているだけですので、実施しなくても構いません。
下記の例は、接続先WindowsマシンのIPアドレスが 192.168.111.222 、ユーザIDが hoge 、パスワードが Hogefuga123 です。
サーバ側のマウントポイントは /mnt/shares/machine001/ です。

console
$ sudo mkdir -p /mnt/shares/machine001/
$ ls /mnt/shares/
machine001
$ ls /mnt/shares/machine001/
$ sudo mount -t cifs -o ro,user=hoge,password=Hogefuga123 //192.168.111.222/share /mnt/shares/machine001
$ ls /mnt/shares/machine001/
(//192.168.111.222/share内の各フォルダが表示されます)
  • 参照のみの例なので、マウント時の -o オプションで ro を指定しています。書き込みもする場合は ro, が不要になります。
  • 一度マウントしたら、マウントポイント(/mnt/shares/machine001/)は残す運用をしています。

アンマウント手順

console
$ sudo umount /mnt/shares/machine001
$ ls /mnt/shares/machine001/
(なにも表示されなくなります)

  1. 100端末以上あって、それが頻繁に追加・変更されるような状況です。 

  2. 最初から全コマンドがsudoできる設定になっている環境でしたら、追加設定は不要です。 

  3. WSL上のubuntuで試したら「mount error: cifs filesystem not supported by the system」とのエラーが発生しました。 

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2