문서의 이전 판입니다!
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 " "%" "
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