인디노트

Samba(3.6.23) 서버 설정 for RHEL 6.5 본문

개발 플랫폼 및 언어

Samba(3.6.23) 서버 설정 for RHEL 6.5

인디개발자 2018. 3. 6. 10:00

1. Samba 설치

   OS 설치시 Samba를 같이 설치하였다면 추가 설치할 필요가 없으나 서버에 Samba가 설치되어 있지 않다면 yum을 이용해서 설치한다.

 # yum install samba

 

 

 

2. Samba 설정

기본 설정 파일에서 변경이 필요한 부분만 설명하였다.

# vi /etc/samba/smb.conf

 

# samba의 Global 설정이다. - default로 주석처리가 되어 있으므로 풀어서 사용하면 된다.
[global] 

# Windows와 연결하려면 workgroup 이름을 맞춘다.

   workgroup = WORKGROUP

   server string = Samba Server Version %v
   netbios name = My_Server
   hosts allow = 127. 172.20.101.
# 서버의 사용자 계정만 사용할 수 있도록 한다.
   security = user

   passdb backend = tdbsam


# [homes] 영역을 수정하면, 사용자 계정을 통해서 자기 홈 경로를 접근할 수 있다.

   나는 home directory를 공유할 생각이 없으므로 모두 주석처리 하였다. 

[homes]
;  comment = Home Directories
   # yes로 설정하면 접속 권한이 없어도 같은 네트웍에 있는 모든 컴터에서 폴더를 볼 수 있다.
;  browseable = no
  # 읽기전용으로 할 것인지 여부.
;  writable = yes
  # home 계정은 일반적으로 모든 사용자가 접근 가능하다.

  # %S로 설정해 주면 username 사용자만이 \\server\username을 사용할 수 있게 할 수 있다.
;  valid users = %S
;  valid users = MYDOMAIN\%S


# 여러 사용자가 함께 사용할 수 있는 공유 폴더 설정이다. '[]'안에 접속할 경로를 설정해준다.

# 아래처럼 '[My_share]'를 사용하면 '\\server\My_share'로 접속하면 된다. 이름은 원하는대로 지으면 된다.
# 이 부분은 설정 파일에 존재하지 않으므로 적당한 위치에 내용 전체를 추가해 주면 된다.
# 사용자간 공유할 필요가 없으면 생략해도 된다.


[My_share]
  comment = My Shared Files
  # 실제 파일이 저장될 공간으로, 설정이 끝나고 폴더를 생성해 주어야 한다.
  path = /data/samba/share

  writable = yes

  # 쓰기 허영 할것인지 여부​
  # 접속을 허용할 사용자를 설정한다.

  valid users = user1, user2

 

 

3. samba 사용자  패스워드 설정

samba 계정이 사용할 패스워드를 설정한다. 시스템에 등록된 사용자만 samba 사용자로 추가 가능하다. OS 계정 패스워드와 별개로 저장되므로 OS 계정 패스워드와 다르게 설정하는것이 좋다.

 # smbpasswd -a user1

New SMB password:
Retype new SMB password:
Added user user1.

 

 

4. Samba 계정 그룹 생성 및 권한 부여

Samba 사용자에 대한 그룹을 생성하고 해당 그룹에 계정을 할당한다.

# groupadd sambauser

# vi /etc/group

...

sambauser:x:503:user1, user2
#

 

  

5. 공유폴더 생성 및 권한 설정

공유할 디렉토리를 생성하고 사용자 그룹이 Write할 수 있도록 권한을 변경해 준다.

# mkdir /data/samba/share

# chown -R root:sambauser /data/samba/share

# chmod -R 774 /data/samba/share

 


6. SELinux 설정

공유 디렉토리에 파일을 읽고 쓸수 있도록 하기 위해 SELinux의 security context 변경이 필요하다. 

만약, SELinux를 사용하지 않는다면 해당 설정이 필요 없다.

 # ls -ldZ /data/samba/share

drwxrwxr--. root sambauser unconfined_u:object_r:usr_t:s0   /data/samba/share


 # chcon -R -t samba_share_t /data/samba/share


# ls -ldZ /data/samba/share
drwxrwxr--. root sambauser unconfined_u:object_r:samba_share_t:s0 /data/samba/share

 

 

7. iptable 설정

iptable을 사용하는 시스템이라면 samba로 접속이 가능하도록 iptable 설정에서 포트를 허용해 줘야 한다.

/etc/sysconfig/iptables 파일에 아래 행을 추가한 후, iptable 서비스를 재시작한다.

# vi /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT

#

# service iptables restart


 

8. samba 프로세스 시작

 # service smb start

  

반응형
Comments