プロが教えるわが家の防犯対策術!

Linuxサーバから、Qnap NASの共有フォルダにマウントして業務を行ってるのですが、
ある日Qnap NASが故障してしまい、
余ってたWindows10 をNAS代わりにしようと設定していますがうまくいきません。
マウントはされている様で、
CD コマンドで移動できますが、lsコマンドで中の一覧を表示できません。

WindowsPCに行った作業は、
・NASと同じIPに設定
・NASと同じアカウント、パスワードを作成
・NASと同じ名称の共有フォルダを作成し、作成したアカウントのフルアクセス権限
・WindowsDefenderでファイアウォール一時解除
・プログラムの機能でSMBを有効化
・ネットワークと共有センター → 共有の詳細設定で共有を有効、パスあーど保護共有を無効等

それでもやはり中身を閲覧できません。
ちなみにマウントできている証拠は、
mkdir コマンドでファイルだを作為するとちゃんと作成できてたからです。
Windows10で実現する方法、
または他の方法がないでしょうか?
最終手段はNASを再設置しないといけないと思っています。

A 回答 (9件)

>(In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))



cd /mnt/data したままなら、cd / で移動すれば良いかも。

何が(誰が)使用しているか下記コマンドで確認できます。

fuser -muv /mnt/data

・umountできないときに確認すること
https://memo.morelents.com/umount-busy/
    • good
    • 0
この回答へのお礼

ありがとうございます。
fuser -muv /mnt/data を入力したら
-bash: fuser: command not found
と返ってきました。
sudo -i で切り替えても同様でした・・・

お礼日時:2022/03/26 08:13

念のために確認です。

sestatus コマンドの実行結果は何ですか?

私の環境では、SELinux は無効にしています。

$ sestatus
SELinux status: disabled
    • good
    • 0

df コマンドの実行結果に /mnt/data が表示されていたら、消えるまで umount.cifs /mnt/data を繰り返し実行してから mount.cifs を実行してみてください。



Windows PC の共有フォルダに他の Windows PC からアクセスできますか?つまり、共有フォルダの設定に問題はありませんか?

下記コマンドの実行結果は何ですか?実行環境のバージョンがわかります。

cat /etc/redhat-release
rpm -q cifs-utils

私の方で CentOS 7 の環境を構築して検証する時間的余裕がないので、回答は期待しないでください。

Linux から Windows にファイル転送を行うだけなら、マウントしなくても、smbclient コマンドで転送できます。使い方はググったら見つかります。
    • good
    • 0
この回答へのお礼

ありがとうございます。感謝しています。
ます、
$ sestatus の結果は
SELinux status: disabled でした。

umount.cifs /mnt/data を1回やって
df で確認。
これを4回ほど繰り返したら、消えました。
ですが、CD /mnt/data をしてから
ls -a では「ls: reading directory '.': Invalid argument」の結果となりました
その後色々やっていたら、
umount も mount でも
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
が出るようになってしまいました。
放置、もしくは再起動すべきでしょうか?

>Windows PC の共有フォルダに他の Windows PC からアクセスできますか?つまり、共有フォルダの設定に問題はありませんか?

現在、他のPCからアクセスできてるんですよ。。。


こんな結果でした。
> cat /etc/redhat-release
 CentOS Linux release 7.9.2009(Core)
> rpm -q cifs-utils
 cifs-utils-6.2-10.e17.x86_64


> 私の方で CentOS 7 の環境を構築して検証する時間的余裕がないので、回答は期待しないでください。

もちろん、回答いただいてるだけで感謝してます。
可能な範囲でアドバイス頂けたら幸いです。

お礼日時:2022/03/24 17:00

CentOS 8 と Windows 10 (21H2) で確認したら、下記オプションのどれでもマウントできて、ls コマンドでファイルの一覧を表示できました。



mount.cifs -o "username=****,password=******,vers=3.0" //192.168.3.5/data /mnt/data
mount.cifs -o "username=****,password=******,vers=3.0,cache=none" //192.168.3.5/data /mnt/data
mount.cifs -o "username=****,password=******,vers=2.1" //192.168.3.5/data /mnt/data
mount.cifs -o "username=****,password=******,vers=3.0,sec=ntlmsspi" //192.168.3.5/data /mnt/data


mount.cifs を実行する前に、下記コマンドでアンマウントしても変わりませんか?

umount /mnt/data
または
umount.cifs /mnt/data


cifs-utils をアップデートしても変わりませんか?アップデート方法は、使用している Linux ディストリビューションの方法を調べてください。

yum update cifs-utils
    • good
    • 0
この回答へのお礼

ありがとうございます。
umount.cifs /mnt/data
の後、
mount.cifs -o "username=****,password=******,vers=3.0,cache=none" //192.168.3.5/data /mnt/data

umount.cifs /mnt/data
の後、
mount.cifs -o "username=****,password=******,vers=3.0,sec=ntlmsspi" //192.168.3.5/data /mnt/data
を試しましたが、
「ls: reading directory '.': Invalid argument」の結果となりました^^;;

ちなみにCentOS7 でした。
yumは業務に支障起きたら困るので手を出してません。

仰られた話からすると条件が異なるのは、CentOSのバージョンと
Windows10側の設定ですよね。
Windows10側の設定の注意点などないでしょうか?
Windows10のPCはどうなったって構いません(笑

お礼日時:2022/03/24 11:36

下記コマンドはどうですか?



mount.cifs -o "username=****,password=******,vers=3.0,sec=ntlmsspi" //192.168.3.5/data /mnt/data

Windows 10 側の問題というか、新しい OS は SMB の脆弱な旧仕様が無効化されているので、それに合わせる必要があります。

「ls: reading directory '.': Invalid argument」の問題は、ググったらたくさん出てきたので、他の環境でも起きています。
    • good
    • 0
この回答へのお礼

ありがとうございます。
mount.cifs -o "username=****,password=******,vers=3.0,sec=ntlmsspi" //192.168.3.5/data /mnt/data
の後、
ls -a
を試したら、また
「ls: reading directory '.': Invalid argument」となってしまいました。
他に試せることはないでしょうか?
お手上げになったらすぐNASを探します。

お礼日時:2022/03/24 07:23

バージョンを変更すれば解決するかも。



mount.cifs -o "username=****,password=******,vers=2.1" //192.168.3.5/data /mnt/data

・cifsでmount error(22): Invalid argumentの場合、ver2.1を付ける
https://qiita.com/tukiyo3/items/2b92db3a67edcb72 …


>元のユーザに戻る場合どんなコマンドで戻れるんでしょうか?

exit
    • good
    • 0
この回答へのお礼

ありがとうございます。
,vers=2.1 を付けて試しましたが、
ls: reading directory '.': Invalid argument
のまま変わらず、でした。

共有フォルダを持っている、Windows10側の問題でしょうか?
Qnap NASを新調して差し替えれば元通り解消するのでしょうが、
日数がかかるため今ある環境でどうにかできないか悪あがきしてるとこです。

お礼日時:2022/03/23 12:15

下記コマンドです。



mount.cifs -o "username=****,password=******,vers=3.0,cache=none" //192.168.3.5/data /mnt/data
    • good
    • 0
この回答へのお礼

教えて頂き、ありがとうございます。
その通りコマンドを入力したらエラーが返ってこなかったので、
次に
ls と打ったら次のメッセージが返ってきました。
ls: reading directory '.': Invalid argument
これは問題解決できてないって事でしょうか?

あと少し逸れますが、mountする前に、知人から聞いて
sudo -i
としてから実施してます。root権限で作業するためのコマンドだと思うのですが、元のユーザに戻る場合どんなコマンドで戻れるんでしょうか?

お礼日時:2022/03/23 09:44

SMB2 のファイル キャッシュが原因かも知れません。



Linux の mount オプションに cache=none を追加すると解決するかも知れません。
    • good
    • 0
この回答へのお礼

ありがとうございます。

実はLinuxよく分かってないので質問しても良いでしょうか?
今回に至ったコマンドは、こんな感じなのですが、
mount.cifs -o "username=****,password=******,vers=3.0" //192.168.3.5/data /mnt/data

どんな風にオプションを付けたら良いですか?
具体的に入力コマンドを指示いただけると助かります。

お礼日時:2022/03/22 23:48

故障した Qnap NAS からドライブを取り出して Windows PC に接続したのですか?それを、Linuxサーバからマウントしたいのですか?



取り出したドライブのファイルシステムは何ですか?それは NTFS ですか?EXT4 や ZFS ではありませんか?

Windows PC からドライブ内のファイルが見えますか?

NTFS ではないドライブを Windows PC に接続して、誤ってフォーマットしたのではありませんか?
    • good
    • 0
この回答へのお礼

ちがいます。Qnap NAS内のデータは不要です。
ドライブを取り出し別PCに接続するなどもしません。

業務の詳細は割愛しますが、Qnap NASはファイルの書き出し先です。
読み出したいデータはありません。
壊れたから、別のPCを代わりにしようとしています。
ちゃんとマウントできているか確認のためにmkdirを試した次第です。

お礼日時:2022/03/22 20:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!