web-dev-qa-db-ja.com

CIFSを使用してLinuxからWindows 7共有をマウントできない:マウントエラー(13):権限が拒否されました

次のように機能するウィンドウXP共有エントリがFSTABにあります。

//MAIN/StorageD /mnt/storaged cifs username=admin,password='',uid=1001,gid=1000,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0    0

ただし、Windows7ボックスのエントリは次のことを行いません。

//MAIN-WIN7/Win7VM /mnt/Win7VM cifs username=main,password='',uid=1001,gid=1000,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0    0

ディレクトリ/ mnt/Win7VMは777許可に設定され、ユーザー1001が所有しています

だから私たちは少しデバッグして手動でマウントしようとします...

チェックと同じように、次のように機能します。

mount -t cifs '//MAIN/backupx' /mnt/backupx -o username=Admin,password=''

しかし、Windows 7マシンの場合、これは機能しません。

mount -t cifs '//MAIN-WIN7/Win7VM' /mnt/Win7VM -o username=Main,password=''

エラーが出ると(これは有名だと思います):

root@debian:/home/user# mount -t cifs //MAIN-WIN7/Win7VM /mnt/Win7VM -o     username=Main,password='',sec=ntlm
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

そのため、私は何時間もかけて検索、チェック、および次のことを試みています。

チェックされた設定:

  • ワークグループは「ワークグループ」です
  • ドメインは「MAIN-WIN7」です
  • ユーザーは「メイン」です
  • パスワードが設定されていません
  • 共有はWin7VMです
  • 共有は、Windowsのネットワーク共有を通じて利用できます

SMBTREEリスト:

root@debian:/home/user# smbtree
Enter root's password: 
WORKGROUP
\\MAIN-WIN7             
    \\MAIN-WIN7\Win7VM    
  • 「Microsoftネットワーククライアント:暗号化されていないパスワードをサードパーティに送信する」のWindowsセキュリティポリシー設定を「有効」に変更
  • 「ネットワークセキュリティ:LMおよびNTLMを送信するためのLAN Manager認証レベル-ネゴシエートされている場合はNTLMv2セッションセキュリティを使用する」のWindowsセキュリティポリシーを変更
  • すべてのウイルス対策とファイアウォールをオフにしました
  • 「/ mnt/Win7VM-o username = Main、password = ''、sec = ntlm」のように「sec = ntlm」スイッチを追加する
  • 「MAIN-WIN7/Main」のようにユーザーにドメインを追加する
  • 「mount -t cifs」の代わりに「mount.cifs」を使用する
  • CHMODマウントディレクトリを777 CHOWNマウントディレクトリをユーザー "1001"に、グループを "user"に(これを手動でマウントできる場合は、fstabエントリにこれが必要になります)

共有はWindows7 Ultimate上にあり、アクセス許可エラーのあるクライアントはDebianWheezyです。

今、私は用語やアイデアを検索していません。これは簡単だと思いました。今、私は何時間も無駄にしています。誰かアイデアはありますか?それはおそらく単純なことですよね?

編集:

Windowsコンピューターから共有にアクセスしようとするダミーチェックを忘れました。それは私を以下に投稿された解決策に導いたより多くのウィンドウ設定を調査するように私を導いて機能しませんでした。

4
Damon

これは奇妙かもしれませんが、前の答えを使用したので、すべての問題を解決したわけではないようでした。しかし、私は実際に問題を修正しているように思われる解決策の組み合わせを見つけました。この問題は非常に蔓延しているように見えるので、私の修正を投稿することは賢明に思えました。

最初にウィンドウのいくつかの項目に注意して、いくつかの設定を変更します。ユーザー名、パスワード、およびワークグループ(ドメイン)をメモします。私も「ホームグループ」を去りました。

また、レジストリエントリを変更して、より大きな(1GB未満で問題が発生した)共有と転送でのメモリ割り当てエラーを防止します。変化する HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Sizeから「3」へ

このレジストリ設定に関する追加情報へのリンクは ここ です。

ここで、LanmanServerを再起動して、レジストリ設定を適用します。管理者権限でCMDプロンプトを開き、次のように入力します。

sc stop LanmanServer
sc start LanmanServer

その解決策は ここ から来ました

これで、Windowsの準備が整いました。

次にLinux側。うまくいった大きな変更は、マウントコマンドではなく、共有のユーザーとサーバーの情報を資格情報ファイルに入れることでした。これは私が何もしないと思った最後の魔法のピースであり、変更後すぐに機能し始めました(上記で解決したメモリの問題はありますが)。これを行うには、次のファイルを作成します。

user="UserName"
password="Password"
domain="WindowsWorkgroup"

次に、「cred」パラメータをfstabエントリに追加します。 rwパラメーターも追加しました。念のため、Linuxボックスにログインしているユーザーにuidとgidを変更しました。 1001はうまくいくかもしれません、私はそれを試していません。

したがって、私の最後のfstabエントリは次のようになりました。

//DESIGNPC/BackupX /mnt/backupx cifs rw,uid=user,gid=user,file_mode=0777,dir_mode=0777,cred=/home/user/.cred,sec=ntlm 0 0

これのいくつかの詳細は ここ から来ました

ファイルを両方向に転送することは、以前の私の答えがまだ回避していてこの質問に戻ってこなかった書き込みと削除に関するいくつかの権限の問題を抱えていた場所を読んだり削除したりするとともに完璧に機能しました。これにより、Linux側にあるように見えるが、Windowsレジストリの変更を修正する必要がある、発生するはずのメモリ割り当ての問題も解決されます。

2
Damon

LinuxではなくWindowsに問題を任せてください。

解決策は、共有と共有のセキュリティ設定を変更して、必要なアクセス許可を含めることでした。

パズルの最後のピースであるビデオを こちら のチューブで見つけました。

基本的に、共有するドライブの「EVERYONE」に共有とセキュリティの両方のアクセス許可を付与します(これはおそらくフォルダにも当てはまりますが、私が共有しようとしていたことではありません)。

最初に、ドライブに移動し、次に[プロパティ]> [共有]> [高度な共有]> [アクセス許可]に移動し、[全員]グループ/ユーザーですべてのアクセス許可を割り当てます。全員がリストされていない場合は、リストに追加します。

2番目の場合は、[プロパティ]> [セキュリティ]> [編集]> [追加]に移動し、「全員」を追加します。次に、必要なすべての権限を「全員」に割り当てます。

メモとして、[コントロールパネル]> [管理ツール]> [ローカルセキュリティポリシー]> [ネットワークマネージャーリストポリシー]>でネットワークを「プライベート」として識別し、該当するネットワークを選択して場所を「プライベート」に変更しました。これが何かに影響したかどうかはわかりません。終わり。

デフォルト設定はすべて正当な理由によるものであり、「すべての人」にフルコントロールのアクセス許可を与えることにより、将来のイベントの一部の人々の解釈によって私のコンピューターとネットワークが爆発する原因となる大きな穴が開いたと確信していますが、問題は修正されました。

3
Damon