Samba 설치 · 6 min read · Dec 08, 2025
CentOS 8에 Samba 서버 설치하는 방법

Samba는 Linux와 Windows 시스템 간에 파일, 폴더 및 프린터를 공유하는 데 사용할 수 있는 무료 오픈 소스 소프트웨어입니다. 또한 인증 및 권한 부여, 이름 해상도 및 서비스 발표에도 사용됩니다. Linux, Unix, OpenVMS 등 다양한 운영 체제에서 실행할 수 있습니다.
이 튜토리얼에서는 CentOS 8에서 Samba를 설치하고 독립형 공유 서버로 구성하는 방법을 배웁니다.
전제 조건
- CentOS 8이 실행되는 서버.
- 서버에 루트 비밀번호가 설정되어 있어야 합니다.
Samba 서버 설치
기본적으로 Samba 패키지는 CentOS 기본 저장소에서 사용할 수 있습니다. 다음 명령어로 설치할 수 있습니다:
dnf install samba samba-common samba-client -ySamba를 설치한 후, SMB 서비스를 시작하고 시스템 재부팅 후 자동으로 시작되도록 설정하려면 다음 명령어를 사용합니다:
systemctl start smb
systemctl enable smb이제 다음 명령어로 Samba 서비스를 확인할 수 있습니다:
systemctl status smb다음과 같은 출력이 표시되어야 합니다:
? smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 2072 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 4 (limit: 25028)
Memory: 33.8M
CGroup: /system.slice/smb.service
??2072 /usr/sbin/smbd --foreground --no-process-group
??2074 /usr/sbin/smbd --foreground --no-process-group
??2075 /usr/sbin/smbd --foreground --no-process-group
??2076 /usr/sbin/smbd --foreground --no-process-group
Samba로 공개 공유 만들기
이 섹션에서는 Samba로 공개 공유를 만들어 모든 사용자가 비밀번호 없이 공개 공유 디렉토리에 접근할 수 있도록 합니다.
공개 공유 디렉토리 만들기
먼저, public이라는 이름의 공유 폴더를 만들고 public 디렉토리 안에 두 개의 파일을 생성합니다:
mkdir -p /samba/share/public
touch /samba/share/public/file1.txt
touch /samba/share/public/file2.txt다음으로, 다음 명령어로 필요한 권한과 소유권을 부여합니다:
chmod -R 0755 /samba/share/
chmod -R 0755 /samba/share/public
chown -R nobody:nobody /samba/share
chown -R nobody:nobody /samba/share/publicSamba 구성
다음으로, Samba를 구성하여 공개 디렉토리를 공유해야 합니다.
먼저, 다음 명령어로 /etc/samba/smb.conf 파일의 백업 복사본을 만듭니다:
mv /etc/samba/smb.conf /etc/samba/smb.bak다음으로, 새로운 Samba 구성 파일을 생성합니다:
nano /etc/samba/smb.conf다음 줄을 추가합니다:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = samba-server
security = user
map to guest = bad user
dns proxy = no
[Public]
path = /samba/share/public
browsable =yes
writable = yes
guest ok = yes
read only = no파일을 저장하고 닫습니다. 그런 다음, 변경 사항을 적용하기 위해 Samba 서비스를 재시작합니다:
systemctl restart smb다음으로, 다음 명령어로 Samba 구성을 테스트합니다:
testparm다음과 같은 출력이 표시되어야 합니다:
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
dns proxy = No
map to guest = Bad User
netbios name = SAMBA-SERVER
security = USER
server string = Samba Server %v
idmap config * : backend = tdb
[Public]
guest ok = Yes
path = /samba/share/public
read only = NoSELinux 및 방화벽 구성
다음으로, 다음 명령어로 공유 디렉토리에 적절한 SELinux 불리언 및 보안 컨텍스트 값을 설정합니다:
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"
restorecon /samba/share/public다음으로, 다음 명령어로 firewalld를 통해 모든 Samba 서비스를 허용합니다:
firewall-cmd --add-service=samba --zone=public --permanent
firewall-cmd --reloadUbuntu Gnome에서 Samba 공유 접근하기
Samba 공유에 접근하려면 원격 머신으로 가서 Gnome 파일 관리자를 열고 아래와 같이 서버에 연결을 클릭합니다:

Samba 서버 IP 주소를 입력하고 연결 버튼을 클릭합니다. 성공적으로 연결되면 다음 화면에서 Samba 공유를 볼 수 있습니다:

이제 공개 디렉토리를 클릭하면 다음 화면에서 파일을 볼 수 있습니다:

Ubuntu 명령줄에서 Samba 공유 접근하기
명령줄에서 Samba 공유에 접근할 수도 있습니다.
먼저, 다음 명령어로 사용 가능한 모든 Samba 공유를 나열합니다:
smbclient -L //45.58.38.51다음과 같은 출력이 표시되어야 합니다:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
Sharename Type Comment
--------- ---- -------
Public Disk
IPC$ IPC IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
Server Comment
--------- -------
Workgroup Master
--------- -------cifs 프로토콜을 사용하여 Samba 공유를 마운트할 수도 있습니다. 그렇게 하려면, 다음 명령어로 cifs-utils 패키지를 설치합니다:
apt-get install cifs-utils -y다음으로, 다음 명령어로 Samba 공유를 /mnt 디렉토리에 마운트합니다:
mount -t cifs //45.58.38.51/public /mnt/다음과 같이 비밀번호를 입력하라는 메시지가 표시됩니다:
Password for root@//45.58.38.51/public: 비밀번호를 입력하지 않고 Enter를 눌러 Samba 공유를 마운트합니다:
이제 /mnt 디렉토리에서 Samba 공유에 접근할 수 있습니다:
ls /mnt/다음과 같은 출력이 표시되어야 합니다:
file1.txt file2.txtSamba로 개인 공유 만들기
이 섹션에서는 Samba로 개인 공유를 만들어 인증된 사용자만 개인 공유 디렉토리에 접근할 수 있도록 합니다.
사용자 및 그룹 만들기
먼저, 다음 명령어로 private이라는 이름의 그룹을 만듭니다:
groupadd private다음으로, private 그룹에 추가된 privateuser라는 이름의 새 사용자를 만듭니다:
useradd -g private privateuser다음으로, 다음 명령어로 사용자 비밀번호를 설정합니다:
smbpasswd -a privateuser출력:
New SMB password:
Retype new SMB password:
Added user privateuser.개인 공유 디렉토리 만들기
다음으로, private이라는 이름의 공유 폴더를 만들고 private 디렉토리 안에 두 개의 파일을 생성합니다:
mkdir -p /samba/share/private
touch /samba/share/private/private1.txt
touch /samba/share/private/private2.txt다음으로, 다음 명령어로 적절한 권한과 소유권을 부여합니다:
chmod -R 0770 /samba/share/private
chown -R root:private /samba/share/private다음으로, 다음 명령어로 개인 디렉토리에 대한 SELinux 컨텍스트를 구성합니다:
semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"
restorecon /samba/share/privateSamba 구성
다음으로, Samba 구성 파일을 열고 개인 공유를 정의합니다:
nano /etc/samba/smb.conf파일 끝에 다음 줄을 추가합니다:
[Private]
path = /samba/share/private
valid users = @private
guests ok = no
writable = yes
browsable = yes파일을 저장하고 닫은 후, 변경 사항을 적용하기 위해 Samba 서비스를 재시작합니다:
systemctl restart smb다음으로, 다음 명령어로 Samba 구성을 확인합니다:
testparm다음과 같은 출력이 표시되어야 합니다:
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
dns proxy = No
map to guest = Bad User
netbios name = SAMBA-SERVER
security = USER
server string = Samba Server %v
idmap config * : backend = tdb
[Public]
guest ok = Yes
path = /samba/share/public
read only = No
[Private]
path = /samba/share/private
read only = No
valid users = @privateUbuntu 명령줄에서 Samba 공유 접근하기
먼저, 다음 명령어로 사용 가능한 공유에 접근합니다:
smbclient -L //45.58.38.51다음과 같은 출력이 표시되어야 합니다:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
Sharename Type Comment
--------- ---- -------
Public Disk
Private Disk
IPC$ IPC IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
Server Comment
--------- -------
Workgroup Master
--------- -------다음으로, Samba 서버에 연결하고 다음 명령어로 사용 가능한 공유를 나열합니다:
smbclient //45.58.38.51/private -U privateuser다음과 같이 비밀번호를 입력하라는 메시지가 표시됩니다:
Enter privateuser's password: 비밀번호를 입력하고 Enter를 눌러 Samba 셸에 접근합니다:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
smb: \>이제 다음 명령어로 사용 가능한 공유를 나열합니다:
smb: \> ls다음과 같은 출력이 표시되어야 합니다:
. D 0 Tue Mar 3 10:03:22 2020
.. D 0 Tue Mar 3 10:01:56 2020
private1.txt N 0 Tue Mar 3 10:03:17 2020
private2.txt N 0 Tue Mar 3 10:03:22 2020
51194 blocks of size 2097152. 49358 blocks available이제 다음 명령어로 Samba 셸에서 나갑니다:
smb: \>exit/opt 디렉토리에 Samba 공유를 마운트할 수도 있습니다:
mount -t cifs -o user=privateuser //45.58.38.51/private /opt다음과 같이 비밀번호를 입력하라는 메시지가 표시됩니다:
Password for privateuser@//45.58.38.51/private: *********비밀번호를 입력하고 Enter를 눌러 Samba 공유를 마운트합니다.
이제 /opt 디렉토리에서 Samba 공유를 확인할 수 있습니다:
ls /opt/출력:
private1.txt private2.txtUbuntu Gnome에서 Samba 공유 접근하기
Samba 공유에 접근하려면 원격 머신으로 가서 Gnome 파일 관리자를 열고 아래와 같이 서버에 연결을 클릭합니다:

Samba 서버 IP 주소를 입력하고 연결 버튼을 클릭합니다. 성공적으로 연결되면 다음 화면에서 Samba 공유를 볼 수 있습니다:

이제 개인 디렉토리를 클릭하고 사용자 이름과 비밀번호를 입력한 후, 연결 버튼을 클릭하면 다음 화면에서 파일을 볼 수 있습니다:


축하합니다! CentOS 8에 Samba 서버를 성공적으로 설치하고 구성했습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.