====== Ubuntu Linux Samba ======
* [[windows:samba|Windows Samba Share 공유 폴더]]
* [[https://ubuntu.com/tutorials/install-and-configure-samba#1-overview|Install and Configure Samba | Ubuntu]]
* [[https://help.ubuntu.com/community/Samba/SambaServerGuide|Samba/SambaServerGuide - Community Help Wiki]]
* [[https://websiteforstudents.com/install-samba-on-ubuntu-20-04-18-04/|Install Samba on Ubuntu 20.04 | 18.04 | Website for Students]]
===== Samba 기본설정 =====
sudo apt-get install samba
# 공유할 디렉토리 생성
mkdir /home//sambashare/
# sudo vi /etc/samba/smb.conf
# 접속 IP, interface 목록이 잘 지정돼 있는지 확인
[global]
netbios name = <검색이름>
security = user
# 이부분, 접속 가능한 IP 목록에 192.168.0 으로 돼 있으면 192.168.1 로 시작하는 호스트 접속 불가
hosts allow = 127. 192.168.
# 이 부분, 192.168.0.0/24 로 돼있으면, samba server IP가 192.168.1.x 일 경우 바인딩 안됨. /16 으로 전환
interfaces = 127.0.0.1/8 192.168.0.0/16
# 신규 공유 지정
[sambashare]
comment = Samba on Ubuntu
path = /home/username/sambashare
read only = no
browsable = yes
# 이미 설정돼 있는 공유를 끄러면 주석처리 보다는 아래 설정으로
[어떤공유]
available = no
# 데몬 재시작
sudo service smbd restart
# 방화벽 설정이 돼 있을경우
sudo ufw allow samba
# samba 사용자 추가. 현재 시스템에 존재하는 사용자만 가능.
sudo smbpasswd -a username
# IP로 접속 시도
smb://ip-address/sambashare # [sambashare] 의 이름
* ''/etc/samba/smb.conf''를 삭제했을 경우 ''sudo cp /usr/share/samba/smb.conf /etc/samba/''로 복사.
* ''testparm -s'' 로 설정 파일 테스트.
===== findsmb, smbtree =====
* ''findsmb'', ''smbtree'' 명령은 현재 네트워크 상의 윈도우 공유 목록을 보여준다.
===== mouting smbfs =====
* [[https://support.zadarastorage.com/hc/en-us/articles/213024986-How-to-Mount-a-SMB-Share-in-Ubuntu|How to Mount a SMB Share in Ubuntu – Zadara Support]]
* [[https://linuxhint.com/mount-smb-shares-on-ubuntu/|How to Mount SMB Shares on Ubuntu?]]
* 기초 작업
# 패키지 설치
sudo apt-get install cifs-utils
sudo mkdir /mnt/share
* credential 파일 생성및 권한 부여: ''.smbcredential''
username=example_username
password=example_password
sudo chmod 400 /path/to/.smbcredential
* 명령행 Mount
sudo mount -t cifs -o rw,vers=3.0,credentials=\
/// /mnt/share
* ''/etc/fstab'' 자동 mount
/// /mnt/share cifs vers=3.0,credentials= 0 0
# username/password 직접지정
/// /mnt/share cifs vers=3.0,user=,pass= 0 0
===== smbclient =====
==== 일반접속 ====
smbclient /// -U "username"%"password"
# %"password" 생략하면 비밀번호 질문
==== 공유 폴더 목록보기 ====
smbclient -L //SHARE_PD -U "username"%"password"
==== anonymous 접속 ====
* [[windows:samba|Windows Samba Share 공유 폴더]] Anonymous 도 계정명이 존재한다. Windows ''gpedit.msc''에서 이를 설정해두면 된다.
* [[https://unix.stackexchange.com/questions/65106/accessing-a-smb-share-without-a-password|windows - Accessing a SMB share without a password - Unix & Linux Stack Exchange]]
* ''" "%" "'' 에서 따옴표 사이의 공백 주의
smbclient //host/share -U ""%""
# anonymous 계정이 추가가 안 된 상태에서는 ''" "%" "'' 에서 따옴표 사이의 공백 주의
smbclient //host/share -U " "%" "
* ''nemo'', ''thunar'' 등에서 ''%%smb://host/share%%'' 형태로 접속할 때도, 만약 익명 로그인이 작동하지 않는다면 사용자명에 공백 하나, 비밀번호에 공백 하나를 지정해본다.
==== Windows 10 Share 에 접속하지 못하는 현상 ====
* [[https://superuser.com/questions/1273456/windows-10-share-not-accessible-from-ubuntu-16-04-lts|Windows 10 Share not accessible from Ubuntu 16.04 LTS - Super User]]
* ''protocol negotiation failed: NT_STATUS_CONNECTION_RESET'' 오류가 발생하면서 Windows 10 공유 폴더에 접속을 못한다면,
* ''/etc/samba/smb.conf''의 ''[global]'' 섹션에 다음 추가
client min protocol = SMB2
client max protocol = SMB3
* 재시작
sudo service smbd restart
===== gadmin-samba =====
* samba 설정 gui 도구.