내 우분투 18.04 서버에서 삼바를 통해 폴더 공유를 활성화하려고 합니다.
내가 이미 한 일:
- 다음과 같이 /etc/samba/smb.conf를 편집합니다.
[global] workgroup = WORKGROUP interfaces = lo eth0 server role = standalone server server string = Samba Server %v security = user map to guest = bad user name resolve order = bcast host dns proxy = no bind interfaces only = yes log file = /var/log/samba/smb.log max log size = 10000 [Public] path = /samba/share writable = yes guest ok = yes guest only = yes read only = no create mode = 0777 directory mode = 0777 force user = nobody
- 이 결과로 testparm을 실행하세요.
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[Public]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] bind interfaces only = Yes dns proxy = No interfaces = lo eth0 log file = /var/log/samba/smb.log map to guest = Bad User max log size = 10000 name resolve order = bcast host security = USER server role = standalone server server string = Samba Server %v idmap config * : backend = tdb [Public] create mask = 0777 directory mask = 0777 force user = nobody guest ok = Yes guest only = Yes path = /samba/share read only = No
- smbd.service 다시 시작
- Windows를 통해 로그온을 시도 중입니다. 창에서 \SERVERNAME\에 액세스할 수 없습니다...
- 오류 로그 보기
[2019/06/23 21:05:54.565424, 0] ../lib/util/become_daemon.c:124(daemon_ready) STATUS=daemon 'smbd' finished starting up and ready to serve connections [2019/06/23 21:06:34.482176, 0] ../source3/smbd/ipc.c:843(reply_trans) reply_trans: invalid trans parameters
나는 약 5일 동안 이 일을 해왔습니다. 누군가 무슨 일이 일어나고 있는지 단서가 있습니까? 이걸 어떻게 고치나요? 공개 공유 하나와 제한된 액세스를 위한 공유 하나가 필요합니다.
답변1
바인드 인터페이스만 = 예
인터페이스 = lo eth0
Samba에게 특정 인터페이스만 사용하라고 지시했지만 지정한 인터페이스( eth0 )가 Ubuntu 18.04에 존재하지 않습니다. 다른 형태입니다.
무엇이든 지정할 이유가 없고 삼바가 스스로 이를 파악하도록 하려는 경우가 아니라면 smb.conf에서 해당 두 줄을 제거하고 smbd를 다시 시작합니다.
sudo service smbd restart
특정 인터페이스를 지정하려면 다음 명령을 사용하여 실제 이름을 찾으세요.
nmcli device show | grep DEVICE
답변2
Windows는 이제 Ubuntu 19.04부터 사용 가능한 다양한 Samba에 포함되지 않은 WSD(웹 서비스 검색?)를 사용합니다.
Python으로 작성된 WSD를 구현하는 프로젝트가 github에 있습니다. 다음에서 찾을 수 있습니다.https://github.com/christgau/wsdd또는 직접 다운로드https://raw.githubusercontent.com/christgau/wsdd/master/src/wsdd.py
이를 사용하는 비결 중 하나는 방화벽을 통해 두 개의 포트를 활성화해야 한다는 것입니다.
wsdd를 실행하려면 포트 5357/tcp 및 3702/udp를 열어야 합니다.
wsdd는 명령줄에서 실행하거나 systemd 서비스를 생성하여 실행할 수 있습니다.
이는 Samba 개발의 활발한(아마도) 영역이며 이에 대한 일부 정보는 다음에서 찾을 수 있습니다.https://www.ixsystems.com/community/resources/how-to-kill-off-smb1-netbios-wins-and-still-have-windows-network-neighbourhood-better-than-ever.106/현재 Arch 사용자 저장소와 다른 배포판에서도 사용할 수 있습니다. AskUbuntu에서도 언급되어 있습니다.Windows "네트워크"에 삼바 공유가 표시되도록 설정
서비스로 시작하기
/lib/systemd/system/wsdd.service
내용은 다음 과 같이 wsdd에 대한 시스템 서비스 단위 파일을 만들었습니다.
[Unit]
Description=WSDD Network Service
BindsTo=smbd.service
After=smbd.service
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/bin/wsdd
#ExecReload=/user/bin/wsdd
[Install]
WantedBy=multi-user.target
wsdd.py
그런 다음 으로 이동하여 /usr/bin/wsdd
권한을 555(읽기 및 실행)로 수정했습니다.
마지막으로 sudo systemctl enable wsdd.service
재부팅하면 이제 내 Ubuntu 시스템이 내 Win10 컴퓨터에 표시됩니다.