사용자 도구

사이트 도구


linux:ubuntu:samba

문서의 이전 판입니다!


Ubuntu Linux Samba

Samba 기본설정

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

  • findsmb, smbtree 명령은 현재 네트워크 상의 윈도우 공유 목록을 보여준다.

mouting smbfs

  • 기초 작업
    # 패키지 설치
    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

공유 폴더 목록보기

smbclient -L //SHARE_PD -U "username"%"password"

anonymous 접속

smbclient //host/share -U "<AnonymousUserName>"%""
 
# anonymous 계정이 추가가 안 된 상태에서는 ''" "%" "'' 에서 따옴표 사이의 공백 주의
smbclient //host/share -U " "%" "
  • nemo, thunar 등에서 smb://host/share 형태로 접속할 때도, 만약 익명 로그인이 작동하지 않는다면 사용자명에 공백 하나, 비밀번호에 공백 하나를 지정해본다.

Windows 10 Share 에 접속하지 못하는 현상

client min protocol = SMB2
client max protocol = SMB3
  • 재시작
    sudo service smbd restart

gadmin-samba

  • samba 설정 gui 도구.
linux/ubuntu/samba.1649831657.txt.gz · 마지막으로 수정됨: 2022/04/13 15:34 저자 kwon37xi