Samba 서버 · 3 min read · Dec 06, 2025
CentOS 7에서 Samba 서버 설치 및 구성
이 튜토리얼은 CentOS 7에서 익명 및 보안 Samba 공유로 Samba 서버를 구성하는 방법을 설명합니다. Samba는 Windows와 같은 SMB/CIFS 클라이언트에 원활한 파일 및 인쇄 서비스를 제공하는 오픈 소스/무료 소프트웨어 모음입니다. Samba는 다른 SMB/CIFS 구현과 달리 무료로 제공되며, Linux/Unix 서버와 Windows 기반 클라이언트 간의 상호 운용성을 허용합니다.
1 사전 참고
저는 Samba 서버를 설치할 새로 설치된 CentOS 7 서버를 가지고 있습니다. 물론 CentOS 7 서버에 도달할 수 있는 Windows 머신이 필요합니다. 제 CentOS 7 서버의 호스트 이름은 server1.example.com이고 IP는 192.168.0.100입니다.
참고:
- Windows 머신은 동일한 작업 그룹에 있어야 합니다. Windows 머신에서 cmd 프롬프트에서 다음 명령을 실행하여 값을 확인하십시오.
net config workstation이렇게 표시됩니다:

귀하의 Windows 머신은 CentOS 7.0 서버와 동일한 워크스테이션 도메인에 있어야 합니다. 즉, 제 경우에는 WORKGROUP입니다.
- Windows에서 Windows 머신에 도달할 수 있도록 하려면 다음과 같이 진행하십시오. 실행 터미널에서 서버 IP 주소의 항목을 추가하십시오:
notepad C:\Windows\System32\drivers\etc\hosts제 경우에는 이렇게 되어 있었고, 값을 저장하기만 하면 됩니다.
[...]
192.168.0.100 server1.example.com centos2 익명 Samba 공유
먼저 익명 공유로 Samba를 설치하는 방법론을 설명하겠습니다. Samba 소프트웨어를 설치하려면 다음을 실행하십시오:
yum install samba samba-client samba-common현재 Samba 버전이 CentOS 소프트웨어 저장소에서 설치됩니다.
이제 Samba를 구성하려면 /etc/samba/smb.conf 파일을 편집하십시오. 변경하기 전에 원본 파일의 백업을 /etc/samba/smb.conf.bak로 만들겠습니다.
cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak빈 파일로 시작하고 싶으므로 cat 명령을 사용하여 smb.conf를 비우겠습니다. vi에서 모든 줄을 삭제하는 것보다 빠릅니다.
cat /dev/null > /etc/samba/smb.conf이후 다음과 같이 항목을 추가하십시오.
vi /etc/samba/smb.conf[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ==============================
[Anonymous]
path = /samba/anonymous
browsable =yes
writable = yes
guest ok = yes
read only = nomkdir -p /samba/anonymous
systemctl enable smb.service
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service
CentOS 7 Firewall-cmd가 Samba 액세스를 차단하므로 이를 제거하기 위해 다음을 실행합니다:
firewall-cmd --permanent --zone=public --add-service=samba[root@server1 ~]# firewall-cmd --permanent --zone=public --add-service=samba
success
[root@server1 ~]#마지막으로 변경 사항을 적용하기 위해 방화벽을 다시 로드합니다.
firewall-cmd --reload[root@server1 ~]# firewall-cmd --reload
success
[root@server1 ~]#이제 Windows에서 다음과 같이 CentOS 7 공유에 액세스할 수 있습니다. 실행 프롬프트로 가서 \centos를 입력하십시오:
\centos
Windows 머신에서 폴더를 탐색하고 텍스트 파일을 생성하려고 시도하지만 권한 거부 오류가 발생합니다.

공유 폴더의 권한을 확인하십시오.
ls -l
drwxr-xr-x. 2 root root 6 Jul 17 13:41 anonymous
[root@server1 samba]#익명 사용자에 대한 액세스를 허용하려면 권한을 다음과 같이 설정하십시오:
cd /sambachmod -R 0755 anonymous/
chown -R nobody:nobody anonymous/ls -l anonymous/total 0
drwxr-xr-x. 2 nobody nobody 6 Jul 17 13:41 anonymous
[root@server1 samba]#추가로, Samba 구성을 위해 SELinux를 허용해야 합니다:
chcon -t samba_share_t anonymous/이제 익명 사용자가 폴더 내용을 탐색하고 생성할 수 있습니다.

서버에서 콘텐츠를 교차 확인할 수도 있습니다.
ls -l anonymous/total 0
-rwxr--r--. 1 nobody nobody 0 Jul 17 16:05 anonymous.txt
[root@server1 samba]#3. 보안 Samba 서버
따라서 smbgrp 그룹과 srijan 사용자를 생성하여 적절한 인증으로 Samba 서버에 액세스하겠습니다.
groupadd smbgrpuseradd srijan -G smbgrpsmbpasswd -a srijan[root@server1 samba]# smbpasswd -a srijan
New SMB password:<--yoursambapassword
Retype new SMB password:<--yoursambapassword
Added user srijan.
[root@server1 samba]# 이제 /samba 폴더에 secured라는 이름의 폴더를 만들고 다음과 같이 권한을 설정합니다:
mkdir -p /samba/secured
다시 SELinux를 통해 수신을 허용해야 합니다:
cd /samba
chmod -R 0777 secured/
chcon -t samba_share_t secured/
다시 구성 파일을 다음과 같이 편집하십시오:
vi /etc/samba/smb.conf
[...]
[secured]
path = /samba/secured
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yessystemctl restart smb.servicesystemctl restart nmb.service추가로 설정을 다음과 같이 확인하십시오:
testparm[root@server1 samba]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[Anonymous]"
Processing section "[secured]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions <--ENTER
[global]
netbios name = CENTOS
server string = Samba Server %v
map to guest = Bad User
dns proxy = No
idmap config * : backend = tdb
[Anonymous]
path = /samba/anonymous
read only = No
guest ok = Yes
[secured]
path = /samba/secured
valid users = @smbgrp
read only = No
[root@server1 samba]# 이제 Windows 머신에서 적절한 자격 증명으로 폴더를 확인하십시오.

사용자 srijan에게 쓰기 권한을 부여하려면 다음을 수행하십시오:
cd /samba
chown -R srijan:smbgrp secured/이제 Samba 사용자는 폴더에 쓸 수 있는 권한을 갖습니다. 축하합니다, CentOS 7에서 Samba 서버를 설정했습니다! :)

새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.