2つのUbuntuシステム間のSambaは一方向のみです

2つのUbuntuシステム間のSambaは一方向のみです

Samba の設定に問題があります。

私は Ubuntu システム (A と呼ぶことにします) を持っています。このシステムには最近まで Ubuntu 16.04 が入っていましたが、現在は Ubuntu 20.04 が入っています。この A コンピューターは、Ubuntu 18.04 が入っている 2 台目のコンピューター (B と呼ぶことにします) に、Samba (その他の方法) 経由で接続され、これらのシステム間でファイルをコピーしていました。

各システムに複数のフォルダがあり、16.04ではすべて正常に動作しました

フォーマットして Ubuntu 20.04 に移行した後、接続は片方向のみになりました。具体的には、B は A のフォルダーを表示できなくなりました。ただし、フォルダーはファイルで共有されているように見えます。一方、A から B の共有フォルダーにアクセスすると、すべて正常に動作します。いくつかの解決策を試しましたが、問題を解決できるものはないようです (明らかに、ここで何かが欠けています)。

/etc/samba/smb.cfgたとえば、私のsamba confファイル( )では、両方のシステムで、[global]セクションにこれがあります

   workgroup = WORKGROUP
   client min protocol = NT1
   server min protocol = NT1

これは質問で提案された解決策でした。これにより、B から共有フォルダーにアクセスしたときに実際のエラーが発生しなくなりましたが、実際には共有フォルダーは表示されません (空のフォルダーがあるだけです)。

私の最後の試みは、これを使用した手順でしたサイト:

匿名の共有は(理論的には)以下を追加することで共有されていました:

[Anonymous]

path = /samba/anonymous
browsable = yes
writable = yes
read only = no
force user = nobody

#======================= Share Definitions =======================Aシステムのみ。

これにより、共有フォルダの B から見ると、 という名前のフォルダが作成されますAnonymousが、実際にはアクセスできません。パスワードが必要ですが、パスワードは取得されません。samba パスワードもユーザー パスワードも取得されません。とにかく、これはシステム内の存在しないフォルダを指しています (既存のフォルダで試しましたが、何も変わりません)。しかし、これをすべての共有フォルダに適用しなければならない場合、それほど便利ではないようです。

それで、2 つの Ubuntu システム間でフォルダーを適切に共有する方法を知っている人はいますか? 私の知る限り、Samba と Samba クライアントは両方のシステムにインストールされています。

編集(@Morbious1 からのコメントリクエストを受けて):

$testparm -s

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

# Global parameters
[global]
    client min protocol = NT1
    log file = /var/log/samba/log.%m
    logging = file
    map to guest = Bad User
    max log size = 1000
    obey pam restrictions = Yes
    pam password change = Yes
    panic action = /usr/share/samba/panic-action %d
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    passwd program = /usr/bin/passwd %u
    server min protocol = NT1
    server role = standalone server
    server string = %h server (Samba, Ubuntu)
    unix password sync = Yes
    usershare allow guests = Yes
    usershare owner only = No
    idmap config * : backend = tdb


[Anonymous]
    force user = nobody
    path = /home/gorfanidis/share_testing
    read only = No


[printers]
    browseable = No
    comment = All Printers
    create mask = 0700
    path = /var/spool/samba
    printable = Yes


[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers

そして

$net usershare info --long

[python_projects]
path=/home/xxxx/python_projects
comment=
usershare_acl=Everyone:F,
guest_ok=y

[misc_cerberus]
path=/home/xxxx/misc
comment=
usershare_acl=Everyone:F,
guest_ok=y

[EfficientDet]
path=/home/xxxx/python_projects/EfficientDet
comment=
usershare_acl=Everyone:F,
guest_ok=n

[surveillance object detection]
path=/home/xxxx/Datasets/surveillance object detection
comment=
usershare_acl=Everyone:F,
guest_ok=n

答え1

あなたが従った HowTo では、この共有定義によりゲスト アクセスが許可されると述べられています。

[Anonymous]
    force user = nobody
    path = /home/gorfanidis/share_testing
    read only = No

それは逆の効果をもたらします。

ゲストがアクセスできるようにし、Linux の権限に関する問題が発生しないようにするには、次の変更をお勧めします。

[Anonymous]
    force user = gorfanidis
    path = /home/gorfanidis/share_testing
    read only = No
    guest ok = yes

わかりました。これは機能しているようです。しかし、ファイル (nautilus) から自動的に機能させるという段階からは後退しています。これを実現する方法はありますか?

これがシングルユーザーシステムの場合、force user = gorfanidissmb.confの[global]セクションに次の行を追加します。ワークグループ = WORKGROUPそこに置くと、作成方法に関係なく、作成するすべての共有に適用されます。

関連情報