Linux

[Linux] 삼바(SAMBA) 관련 명령어 - smbclient / smbstatus / testparm / smbpasswd

thdwldud 2026. 1. 25. 21:53

smbclient

  • 리눅스 및 유닉스에서 사용하는 삼바 클라이언트 명령으로 윈도우 서버로 접근할 때 사용
  • 사용법이 ftp 클라이언트 명령과 유사하게 접속한 후에 특정 명령을 입력하여 작업을 수행
  • 접속된 후에 ?나 help라고 입력하면 사용 가능한 명령어의 목록을 볼 수 있음
smbclient [option] [호스트명]
  • 대상이 되는 호스트명은 192.168.12.22처럼 IP 주소도 가능하고, 동일한 작업 그룹을 사용할 때 리눅스 시스템인 경우에는 호스트이름, 윈도우 시스템인 경우에는 컴퓨터 이름을 지정하면 됨
  • 호스트명 다음에 공유 디렉터리명을 입력할 수 있는데 \(BackSlash)나 /(slash) 기호 모두 사용 가능
  • 윈도우에서 NetBIOS를 이용하여 접속할 때 윈도우 탐색기나 웹 브라두저로 \\192.168.12.22 형태로 접속 가능한데, 리눅스에서 smbclient 명령을 이용하여 \로 접근할 때는 일반적인 윈도우에서 사용하는 개수의 2배로 지정
  • 또한 /를 사용하는 경우에는 호스트명 앞에는 2개를 사용하고 디렉터리 구분은 1개를 사용
  • 참고로 윈도우 호스트에 접근할 때 윈도우 운영체제가 대소문자를 구분하지 않는 관계로 smbclient 명령어도 대소문자를 구분하지 않음
    • \\\\192.168.12.22\\source
      //192.168.12.22/source

옵션

옵션 설명
-L
--list
접속하려는 삼바 서버의 공유 디렉터리 정보를 출력
-U
--user=사용자명[%패스워드]
삼바 서버에 접속할 때 사용자명을 입력
-M
--message NetBIOS name
지정한 호스트명에 메시지를 전송할 때 사용
명령을 입력하고 전송하려면 [ctrl]+[d]를 누름

사용 예

  • IP 주소가 192.168.56.1인 윈도우 시스템에 lin이라는 계정으로 접근하는 과정. 설정된 패스워드를 입력하면 공유된 목록을 확인할 수 있음. 공유된 디렉터리는 Type 항목에서 Disk 라고 쓰여있고, Sharename 항목의 값에 $이 없음. 위의 그림에서는 linux_doc 라는 윈도우의 폴더가 공유되어 있음
smbclient -L 192.168.56.1 -U lin
  • joon이라는 호스트에 administrator 계정으로 접근하여 공유된 목록을 확인
smbclient -L joon -U administrator
  • joon이라는 호스트에 administrator 계정으로 접근하는데 패스워드는 1234
smbclient -L joon -U administrator%1234
  • 203.247.40.248의 공유 디렉터리인 sdata에 접속한 ls 명령을 입력해서 파일을 확인. 사용 가능한 명령은 ?를 입력해서 확인하고, 파일을 복사하려면 ftp와 동일하게 get, 접속을 종료할 때에는 quit 명령을 사용하면 됨
smbclient \\\\192.168.56.1\\linux_doc -U lin
smb: \> ls
  • joon이라는 호스트에 공유 디렉터리인 source에 administrator 계정으로 접근하는데 패스워드는 1234
smbclient \\\\joon\\source -U administrator%1234
  • /기호를 사용하는 경우에는 호스트를 호출할 때는 2개, 디렉터리 구분은 1개를 사용
smbclient //192.168.56.1/linux_doc -U lin

 

smbstatus

  • 삼바 서버에 사용하는 명령어로 클라이언트와 연결된 상태를 출력
smbstatus

 

testparm

  • 삼바의 환경 설정 파일인 smb.conf 의 설정 여부를 확인
testparm [파일 경로] [호스트명 IP 주소]

사용 예

  • 현재 서버의 smb.conf 설정을 확인
testparm
  • IP주소가 192.168.5.13이고 호스트명이 www인 삼바 서버의 환경 설정 파일을 확인
testparm /etc/samba/smb.conf www 192.168.5.13

 

smbpasswd

  • 삼바 사용자를 생성 및 삭제, 패스워드 변경, 활성 및 비활성화 등 관련 정보를 변경하는 명령
smbpasswd [option] [사용자명]

옵션

옵션 설명
-a 삼바 사용자를 추가할 때 사용
삼바 사용자는 리눅스 시스템에 존재하는 계정이어야 함
-x 삼바 사용자를 제거할 때 사용
-d 삼바 사용자를 일시적으로 비활성화할 때 사용
-e 삼바 사용자를 활성화할 때 사용
-n 패스워드 없이 로그인이 가능하도록 할 때 사용
smb.conf에 ‘null passwords =yes’라고 추가로 설정해야 함

사용 예

  • posein이라는 삼바 사용자를 생성하면서 패스워드를 부여
[root@www ~]# smbpasswd -a posein
  • posein의 삼바 패스워드를 변경
[root@www ~]# smbpasswd posein
  • 설정되어있는 삼바 패스워드를 변경
[posein@www ~]# smbpasswd
  • posein이라는 삼바 사용자를 제거
[root@www ~]# smbpasswd -x posein
  • posein이라는 삼바 사용자를 비활성화
[root@www ~]# smbpasswd -d posein
  • 비활성화된 posein이라는 삼바 사용자를 활성화
[root@www ~]# smbpasswd -e posein
  • posein 삼바 사용자의 패스워드를 없앰. 이 경우에는 패스워드 입력 없이 로그인됨
[root@www ~]# smbpasswd -n posein