web-dev-qa-db-ja.com

SAMBAの問題:コアファイルと特定のWin 10マシンからの共有が表示されない

Ubuntu 19.10を少し前にインストールしました。私がそれを使用したい方法の1つは、ファイルサーバーとしてです。 Gnome GUIを使用して、UbuntuShareというフォルダーで共有を有効にし、プロンプトをクリックしてSambaを有効にしました。チェックボックスをオンにして、誰でも共有にアクセスし、すべてのユーザーに読み取り/書き込みのアクセス許可も設定できるようにしました。

これでいくつかの奇妙なことが起こりました。

  1. UbuntuShareフォルダーに、coreというファイルが作成されています。オレンジのロックシンボルと赤いXシンボルが付いています。これは別の共有フォルダで発生しました。私はそれを取り除くためにフォルダーを削除するのをやめましたが、それはこのフォルダーで再び起こりました。オンラインで検索しましたが何も見つからないので、これが正常かどうかはわかりませんが、奇妙に思われます。

  2. Windows10ラップトップからUbuntuShareフォルダーを表示してアクセスできますが、これはコンピューター名またはIPアドレスを入力した場合に限られます。ネットワーク共有画面には表示されません。非常に奇妙なのは、他に2つのデスクトップがあり、コンピューター名またはIPアドレスを入力しても、どちらにも表示されないことです。 3つのマシンはすべてWindows 10であり、3つすべてのネットワーク共有設定を確認しましたが、それらは同じです。唯一の違いは、ラップトップはオフィスのドメインにあり、デスクトップは標準のワークグループにあることです。

  3. 私はラップトップからUbuntuのSamba共有にいくつかのWordドキュメントを作成して保存しました。私がUbuntuマシンにいるときは、ロック記号が付いています。 GUIでアクセス許可を確認すると、ファイルを所有しておらず、アクセス許可を変更できないと表示されます。 Windowsマシンによって追加されたファイルでこの問題が発生しないようにするにはどうすればよいですか?

どういうわけかSambaをめちゃくちゃにしているのではないかと心配しています。 Gnome GUIが共有する方法があることに気づく前に、以前のバージョンのUbuntuにSambaをインストールするために見つけたコマンドラインの指示に従っていました。 GUIの方がシンプルであることに気づいたら、SambaでSudoの適切な消去を実行して、自分が行ったすべての内容を消去し、それがクリアされることを期待しました。

私の目標は、Windowsマシンがアクセスするファイルを簡単に共有できるように、共有を機能させることです。私の小学生は2台のWindows 10マシンを使用しているため、Sambaサーバーにアクセスするために認証を受ける必要はありません。また、コアファイルが正常であれば問題ありません。そうでない場合は、修正したいと思います。

これで何か助けていただければ幸いです。

エリック

1
Erik

皆様のご指導、ご協力をよろしくお願いいたします。これがSambaの問題である可能性が低いことが明らかになった後、私は今日、Windowsで考えられる原因を探すためにしばらく時間を費やしました。

私は以下の記事に出くわし、ソリューションに従いました。両方のデスクトップコンピューターはすぐにsamba共有にアクセスできました。

解決策のある記事: https://superuser.com/questions/1287731/windows-10-can-ping-other-pc-but-cannot-access-shared-folders-what-gives

Microsoft Support Articleソリューションは、以下に基づいています: https://support.Microsoft.com/en-us/help/4046019

コンピューターの構成\管理用テンプレート\ネットワーク\ランマンワークステーション "安全でないゲストログオンを有効にする"

1
Erik

smb.confファイルの変更が効果がない場合、おそらく問題はこれらの2つのWindows 10マシン側にあります。 Windows 10を搭載した1台のマシンがUbuntu共有に接続できるという事実があるため、それは正しいようです。これはおそらく、ファイアウォールもsambaサービスも接続を拒否しないことを意味します。ただし、SMB2およびSMB3プロトコルのバージョンが多数存在するため、ウィンドウによってサービスへの接続が制限され、現在のSMB2またはSMB3プロトコルのバージョンを満たさない場合があります。

確認するには、PowerShellコマンドを実行し、管理者としてPowerShellを実行して、Windows 10マシンでSMB2プロトコル 有効 かどうかを確認します

Get-SmbServerConfiguration | Select EnableSMB2Protocol

無効になっている場合は、有効にします。

Set-SmbServerConfiguration -EnableSMB2Protocol $true

SMB3プロトコルのバージョンを確認するのと同じ方法:

Get-SmbServerConfiguration | Select EnableSMB3Protocol

テストの目的で、SMB3プロトコルをしばらく無効にして、最新のSMB3プロトコルバージョンが原因かどうかを確認できます。

Set-SmbServerConfiguration -EnableSMB3Protocol $false

確認後、再度有効にします。

Set-SmbServerConfiguration -EnableSMB3Protocol $true

最後に、smb.confで次の指定も追加してみてください:

[global]
  server min protocol = SMB2_10
  client max protocol = SMB3
  client min protocol = SMB2_10

しかし、役に立たない場合はコメントしてください。

そして、フルパスを使用して接続してみてください:

//ubuntu_IP_address/UbuntuShare
0
Gryu
  • 奇数フォルダーの内容を確認し、削除できるようにするには、ターミナルを使用します。
  • ターミナルウィンドウで、cdコマンドを使用してフォルダーに移動します:cd /home/$USER/UbuntuShare
  • ls -ailhコマンドを使用して、この奇妙なファイルの所有者と権限を確認してください

そのファイルを本当に削除したい場合は、Sudo rm -fr /pathto/UbuntuShare/coreを使用できます

ただし、Sudo cat /home/$USER/UbuntuShare/coreで内部を確認することをお勧めします。

あなたの場合、共有が設定されていないデフォルトのsmb.confファイルを共有しました。構成するには、/etc/samba/smb.confの最後にを追加します。

[SambaShare]
   # replace yourusername by your real user's name
   path = /home/yourusername/UbuntuShare
   writable = yes
   guest ok = yes
   guest only = yes
   read only = no
   create mode = 0777
   directory mode = 0777
   force user = nobody

また、フォルダに必要な権限と所有権があることを確認してください:

Sudo chown -R nobody:nogroup /home/$USER/UbuntuShare
Sudo chmod -R 0777 /home/$USER/UbuntuShare

次に、Sambaサービスを再起動します。

Sudo systemctl restart smbd nmbd

また、ファイアウォールでsambaを許可します。

Sudo ufw allow samba

更新1:

Windows 10バージョン1511では、SMBv1のサポート、つまりNetBIOSデバイスの検出はデフォルトで無効にされていました。実際のエディションによっては、バージョン1709以降のWindowsの新しいバージョン(「Fall Creators Update」)では、SMBv1クライアントをインストールできなくなりました。これにより、Sambaを実行しているホストがExplorerの[ネットワーク(近隣)]ビューに表示されなくなります。接続の問題はなく、Sambaは引き続き正常に動作しますが、ユーザーはSambaホストをWindowsによって自動的に一覧表示させたい場合があります。

Ubuntu 18.04、19.10でsambaを機能させ、Windows 10バージョン1909共有ネットワークで wsddを使用して表示できるようにする

端末を使用して次の手順を実行します。

  • cd ~/
  • Sudo apt install git
  • git clone https://github.com/christgau/wsdd
  • cd wsdd
  • Sudo cp etc/systemd/wsdd.service /etc/systemd/system/
  • Sudo cp src/wsdd.py /usr/bin/wsdd
  • Sudo nano /etc/systemd/system/wsdd.service

    変化する:
    Group=nobodyからGroup=nogroup

    上記を追加ExecStart
    Restart=on-failure
    RestartSec=15

    そして、次のキーを押して終了します。Ctrl+X、その後 Y、その後 Enter

  • Sudo ufw allow 3702 && Sudo ufw allow 5357#wsddトラフィックがファイアウォールを通過できるようにする

  • Sudo systemctl enable wsdd.service
  • Sudo systemctl start wsdd
  • systemctl status wsddがアクティブかどうかを確認する

enter image description here

サービスがアクティブな場合は、wsddフォルダーを削除します:rm -fr ~/wsdd

また、この構成に煩わされたくない場合、およびWindows 10共有ネットワークでのUbuntuマシンの可視性が重要でない場合は、WindowsファイルエクスプローラーのUbuntuShareフォルダーをドラッグ&ドロップしてクイックアクセスそこにショートカットを作るアイテム。したがって、UbuntuマシンのIPアドレスを入力せずにアクセスできます。

Update 2:Windows 10がUbuntu共有への接続を拒否する場合は、SMB protocol to version 2または3:

  • smb.confファイルを編集するために開きます:Sudo nano /etc/samba/smb.conf
  • [global]セクションの下に、次のように入力します。protocol = SMB3が4の場合はsamba --version
  • Sambaサービスを再起動します:Sudo systemctl restart smbd nmbd
  • Sambaサービスが正常かどうかを確認してください:systemctl status smbd nmbd
0
Gryu

ここは混んでいます...

Win10マシンがUbuntu Sambaサーバーにアクセスする方法は4つあります。

[1] IPアドレスによる =中間プロトコルに依存しないため、「最もクリーンな」方法です。サーバーに静的IPアドレスを設定するか、ルーターを使用してそれを行う必要があり、サーバーに明示的にアクセスする必要があります\\192.168.0.100

[2] マルチキャスト =主にホームネットワークで使用されます。 2つのバリアントがあります。

** WS-Discovery =これは、Win10が他のWIn10マシンを検出して接続するために使用するもので、特定のNAS Synologyと同様、Ubuntuが適切に設定されている場合)。次に、エクスプローラーがマシンを検出して接続します。

** mDNS = Avahi(Linux)またはBonjour(MacOS)と呼ばれます。 Win10はその方法でSambaサーバーにアクセスできますが、明示的に行う必要があります\\linux-Host-name.local-しかし、その方法でそれを発見することはできません。

[3] NetBIOS =何十年にもわたるSambaの惨劇。 WIn10は、クライアント側でSMBv1を無効にしているため、デフォルトではこの方法でホストを検出できません。必要に応じて再度有効にできますが、Linuxホスト名(NetBIOS名の派生元)が長すぎるため、とにかく機能しません。BUNTU-POWERSPEC

長さは15文字以下にする必要があります。 workgroup = WORKGROUP行のすぐ下に新しい名前を追加したい場合は、smb.conf自体で修正できます。たとえば、次のようになります。

netbios name = ubuntu-powerspc

次に、smbdとnmbdをこの順序で再起動します。

NetBIOSはMicrosoftがWin2000で20年前に取り除くことを最初に試みた不安定なものであるため、新しい名前を登録するためにマシンの場合はすべて再起動する必要があるかもしれません。

個人的には、IPアドレス、mDNS、またはWSDをこの順に使用します。

補足:「パスは許可されていませんでした」-/ media/erikの下で何かを共有しようとしているのではないかと思います。 sambaで定義されているため、そのフォルダーの下のゲスト共有はクライアントに表示される可能性がありますが、デフォルトではLinuxの/ media/erikのアクセス許可があるため、erik以外は誰もアクセスできません。それを修正する1つの方法は、ゲストを強制的にerikとして表示することです。 workgroup = WORKGROUPの下に、以下を追加します。

force user = erik

次に、smbdを再起動します。

0
Morbius1

もう1つsmb.conf設定試してみましたが、Windows 10で機能しているようですVM試してみてください:

[global]
  server max protocol = SMB3
  encrypt passwords = yes
  dns proxy = no
  strict locking = no
  oplocks = yes                                                                                                                   
  deadtime = 15
  max log size = 51200
  max open files = 933761
  logging = file
  load printers = no
  getwd cache = yes
  guest account = nobody
  map to guest = Bad User
  obey pam restrictions = yes
  directory name cache size = 0
  kernel change notify = no
  panic action = /usr/share/samba/panic-action %d
  server string = Media Server
  ea support = yes
  store dos attributes = yes
  lm announce = yes
  hostname lookups = yes
  time server = yes
  acl allow execute always = true
  dos filemode = yes
  multicast dns register = yes
  domain logons = no
  local master = yes
  server role = standalone
  netbios name = Ubuntu
  workgroup = WORKGROUP
  security = user
  create mask = 0666
  directory mask = 0777
  client ntlmv2 auth = yes
  unix charset = UTF-8       
  log level = 1

[sambashare]
  path = /home/spacer/sambashare
  comment = sambashare on Ubuntu
  directory mask = 0755
  create mode = 0777
  read only = no
  available = yes
  browseable = yes
  writable = yes
  guest ok = yes
  public = yes
  locking = no
  strict locking = no

現在作業していることを忘れないでくださいsmb.confファイルがバックアップされ、Sambaサービスを再起動します。

0
Gryu

これらの指示 に従ってください。最大限の使いやすさのために、サーバー上のSAMBAアカウントのユーザー名(サーバーのユーザー名とは別)が、共有へのアクセスに使用しているWindowsアカウントのものと一致することを確認してください。

0
jdrch

今はWindowsで試すことはできませんでしたが、少なくともubuntuで動作します。これは私が here から取得した設定であり、試してみる価値があると思います。

  • 現在のバックアップ/etc/samba/smb.confファイルをコピーして:Sudo cp /etc/samba/smb.conf /etc/samba/bk.smb.conf
  • /etc/samba/smb.conf

    [global]
        workgroup = WORKGROUP
        server string = %h server (Samba, Ubuntu)
        netbios name = UBUNTU-POWERSPEC
        log file = /var/log/samba/log.%m
        max log size = 10240
        security = user
        map to guest = Bad Password
        getwd cache = yes
        guest account = nobody
        usershare allow guests = Yes
        server signing = auto
        passdb backend = tdbsam
        local master = yes
    
        vfs objects = acl_xattr
        map acl inherit = yes
        store dos attributes = yes
    
        winbind nss info = template
        winbind enum users = Yes
        winbind enum groups = Yes
        winbind use default domain = yes
    
        client use spnego = yes
        client ntlmv2 auth = yes
    
        encrypt passwords = yes
    
        local master = No
        hide dot files = No
        allow insecure wide links = yes
        store dos attributes = yes
    
  • Sambaサービスを再起動します。

    Sudo systemctl restart smbd nmbd
    
  • Sambaサービスのステータスを確認します。

    Sudo systemctl status smbd nmbd
    
0
Gryu