문서의 이전 판입니다!
sudo apt-get install samba # 공유할 디렉토리 생성 mkdir /home/<username>/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
명령은 현재 네트워크 상의 윈도우 공유 목록을 보여준다.# 패키지 설치 sudo apt-get install smbfs # 계정정보와 비밀번호를 파일로 저장한다. cd echo username=mywindowsusername > .smbpasswd echo password=mywindowspassword >> .smbpasswd chmod 600 .smbpasswd
/etc/fstab
# root user only write/all read //servername/sharename /mountdirectory smbfs credentials=/home/myhomedirectory/.smbpasswd 0 0 # root user and specific user write/all read # uid와 gid를 명시해줘야 한다. //servername/sharename /mountdirectory smbfs credentials=/home/myhomedirectory/.smbpasswd,uid=mylinuxusername,gid=mylinuxgroupname 0 0 # 혹은 쓰기 권한을 줄 사용자를 특정 그룹에 지정하고, gid만 지정한다. //servername/sharename /mountdirectory smbfs credentials=/home/myhomedirectory/.smbpasswd,gid=sambausersgroup 0 0
# smbmount 명령 사용하기 smbmount //servername/sharename /media/mountdir -o credentials=/home/myhomedirectory/.smbpasswd # smbmount 명령은 uid,gid 지정이 안됐다. # mount 명령으로 uid,gid 지정 및 파일/디렉토리 모드 지정가능. 아래 예제는 Ubuntu에서 admin gid만 지정하고 읽기/쓰기 모두 가능하게 지정 mount -t smbfs -o credentials=/home/myhomedirectory/.smbpasswd,gid=admin,file_mode=0660,dir_mode=0770 //servername/sharename /media/mountdir
smbclient -L //SHARE_PD -U "username"%"password"
“ ”%“ ”
에서 따옴표 사이의 공백 주의smbclient //host/share -U "<AnonymousUserName>"%""
nemo
, thunar
등에서 smb://host/share
형태로 접속할 때도, 만약 익명 로그인이 작동하지 않는다면 사용자명에 공백 하나, 비밀번호에 공백 하나를 지정해본다.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