====== 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 도구.