2개의 우분투 시스템 사이의 삼바는 단방향으로만 가능합니다.

2개의 우분투 시스템 사이의 삼바는 단방향으로만 가능합니다.

삼바 구성에 문제가 있습니다.

저는 우분투 시스템을 A라고 부르겠습니다. 최근까지 우분투 16.04가 있었고 지금은 우분투 20.04가 있습니다. 이 A 컴퓨터는 두 번째 컴퓨터에 연결되었습니다. 우분투 18.04를 사용하여 삼바(다른 방법 중에서)를 통해 해당 시스템 간에 파일을 복사합니다.

각 시스템에 여러 개의 폴더가 있었고 16.04에서는 모든 것이 잘 작동했습니다.

형식을 지정하고 우분투 20.04로 전환한 후에는 이제 연결이 단방향으로만 가능합니다. 보다 구체적으로 B는 더 이상 A의 폴더를 볼 수 없습니다. 폴더는 파일에서 공유된 것으로 나타납니다. 반면 A에서 B의 공유 폴더에 액세스하면 모든 것이 잘 작동합니다. 몇 가지 해결책을 시도했지만 아무것도 내 문제를 해결하지 못하는 것 같습니다(분명히 여기에 뭔가가 빠졌습니다).

예를 들어 내 Samba conf 파일( /etc/samba/smb.cfg)에서 두 시스템 모두 내 [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

A 시스템 에서만 가능 #======================= Share Definitions =======================합니다.

공유 폴더의 B에서 볼 때 라는 폴더가 생성되었지만 Anonymous실제로 액세스할 수는 없습니다. 비밀번호가 필요하지만 아무 것도 필요하지 않습니다. 삼바도 사용자 비밀번호도 아닙니다. 어쨌든, 이는 내 시스템에 존재하지 않는 폴더를 가리키지만(기존 폴더로 시도했지만 아무것도 변경되지 않음) 모든 공유 폴더에 이것을 적용해야 한다면 그리 편리해 보이지 않습니다.

그렇다면 두 우분투 시스템 간에 일부 폴더를 올바르게 공유하는 방법을 아는 사람이 있습니까? 내가 아는 한 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

알았어 이게 효과가 있는 것 같아. 하지만 Files(nautilus)에서 자동으로 작동하도록 만드는 것보다 한 단계 뒤로 물러났습니다. 이것을 달성하는 방법이 있습니까?

force user = gorfanidis이것이 단일 사용자 시스템인 경우 smb.conf의 [global] 섹션에 추가하면 됩니다 . 바로 아래에 있습니다.작업그룹 = 작업그룹내가 놓을 곳은 바로 여기야. 그런 다음 생성 방법에 관계없이 생성하는 모든 공유에 적용됩니다.

관련 정보