
이번 글에서는 리눅스 상에서 삼바 서버를 구현하는 방법에 대해서 정리한다.
먼저 ping www.google.com로 핑이 가는지 테스트 한번 한다. 인터넷이 연결되어 있어야 패키지를 다운로드 받을 수 있다. 리눅스에서 삼바서버를 만들려면 먼저 samba 패키지를 설치해야한다.
dnf install -y samba
삼바 시작
systemctl start smb
systemctl restart smb

(참고) user를 하나 추가해야하는데 이미 있는 경우에는 유저를 삭제하고 다시 하나 만들 수 있다. man 을 사용 하면 명령어의 구체적인 매뉴얼을 볼 수 있다.
리눅스에서는 유저가 생성 되었으면 반드시 비밀번호를 설정해야 쓸 수 있다.
man userdel
userdel -r test01
useradd test01
passwd test01

유저가 만들어졌으면 공유할 디렉토리를 만들어야 한다. 중첩되어 있으면 안만들어지는데 -p 옵션을 주면 한번에 만들어진다.
mkdir -p /data/shared
rm -rf /data/shared
디렉토리 생성이 완료가 되었으면 /etc 아래에 있는 samba 관련 config 파일들을 모두 수정해줘야한다. cp로 백업파일을 하나 만들어 놓고 수정한다.
vi /etc/samba/
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi /etc/samba/smb.conf
smb.conf 파일에 들어가면 여러가지 변수들이 있다.
리눅스에 공유폴더를 만들고 윈도우 클라이언트에서 접속할 것이므로 윈도우 기준으로 만들어줘야 한다. 없는 부분은 추가해준다.
11: [global]
workgroup = WORKGROUP
…
[shared]
path = /data/shared
available = yes
browseable= yes
writable = yes
read only = no
public = yes
guest ko = yes



testparm은 문법 검사를 해준다.
testparm


설치할 때 samba로 설치했지만 상태 확인할 때는 smb이다. avtive 상태를 확인한다. IP도 올바르게 되어있는지 확인한다. (이 다음에서는 윈도우 클라이언트에서 접속함)
systemctl status smb
ifconfig


아래 map to quest 부분을 추가해준다. 이것까지 쓰면 클라이언트에서 접속은 된다.
[global]
map to quest = Bad User

여기까지 완료되었으면, 윈도우 클라이언트로 가서 \10.17.0.81로 접속하면 접속될 것이다.
그리고 쓰기 권한까지 줘가면서 만들었는데 정작 윈도우 클라이언트에서는 파일이 생성 안되었을 것이다. smb.conf 뿐만 아니라 리눅스 자체에서 권한 설정을 해줘야한다. 아래에서 chmod로 모든 권한을 부여한다.
chmod 777 /data/shared

그리고 shared에 valid users에 test01을 추가해준다.

여기까지 했으면 config 파일 수정했으므로 restart 다시한다. 리눅스에서 마지막으로 smbpasswd도 설정해주고, 윈도우 클라이언트에서 접속한다.
systemctl restart smb
smbpasswd -a test01
비밀번호 입력