Samba server - Windows에서 리눅스 공유폴더 사용

|


출처 : http://www.server-world.info/en/note?os=CentOS_7&p=samba&f=1




0. 사전 설치


CentOS 7 minimal 설치


네트워크 설정


필요 PKG 설치 및 업데이트

# yum install -y ntp samba samba-client; yum update -y

# systemctl enable ntpd; systemctl start ntpd





1. 누구나 접근 가능한 공유폴더 생성 및 설정


# mkdir /home/share 

# chmod 777 /home/share 

# vi /etc/samba/smb.conf

     66 unix charset = UTF-8                          // 이 부분 추가

     89         workgroup = WORKGROUP         // Windows Default

     95         hosts allow = 127. 192.168.1.

     97         max protocol = SMB2

    125         map to guest = Bad User           // 추가


2. 공유 폴더 속성 정의

맨 아랫줄에 아래의 옵션을 넣어 작성한다.


[Share]                               // 공유 되어질 이름

   path = /home/share        // 공유 폴더 경로

   writable = yes                  // 쓰기 가능

   guest ok = yes                // guest OK

   guest only = yes             // guest only

   create mode = 0777        // 모든 권한 가능

   directory mode = 0777    // 모든 권한 가능# fully accessed

   share modes = yes         // warn if some people access to a file (?)



# systemctl start smb nmb

# systemctl enable smb nmb 





3. 방화벽 해제 및 SELinux 해제


# systemctl stop firewalld

# systemctl disable firewalld


# vi /etc/sysconfig/selinux

      7 SELINUX=disabled


SELinux 는 재시작 해야 풀린다.

# reboot





4. 공유폴더 접근


이제 같은 대역대에 있는 컴퓨터에서는 누구나 공유 폴더로 접근이 가능하다.


\\server_ip[내가 입력한 이름] 으로 접속하면 된다.

ex) \\192.168.1.21\share





5. 로그인이 필요한 공유폴더 설정


먼저 특정 그룹만 사용 가능토록 하기 위한 보안 그룹 생성

# groupadd security


공유 할 폴더 생성 및 해당 그룹의 기본디렉터리 설정, 권한 설정

# mkdir /home/security 

# chgrp security /home/security 

# chmod 770 /home/security 



smb.conf 파일 설정

# vi /etc/samba/smb.conf

     66 unix charset = UTF-8                  // 추가

     67 dos charset = CP932                   // 추가

     90 workgroup = WORKGROUP          // Windows Default

     96 hosts allow = 127. 192.168.1.

     98 max protocol = SMB2


맨 아랫줄에 추가 설정

[Security]                                   // 보여질 디렉터리 이름

   path = /home/security          // 경로

   writable = yes

   create mode = 0770              // 권한

   directory mode = 0770          // 권한

   share modes = yes

   guest ok = no                         // guest 접근 금지

   valid users = @security        // 접근 가능한 그룹 명


데몬 재시작 및 자동 실행 설정

# systemctl restart smb nmb

# systemctl enable smb nmb 


공유폴더 사용 가능 유저 생성 및 그룹 가입

# useradd -G security cent

# smbpasswd -a cent

New SMB password:                       // set password

Retype new SMB password:           // confirm

Added user cent.


이제 지정한 계정 및 패스워드로 해당 공유 폴더 접근하면 된다.





6. Active Directory 에 Join 하여 사용하는 경우


$ sudo chown .domain^users /home/security/


$ sudo vi /etc/samba/smb.conf

[Security]

   path = /home/security

   writable = yes

   create mode = 0770

   directory mode = 0770

   share modes = yes

   guest ok = no

   valid users = @domain^users


(권한을 적절히 수정한 다음 @domain^users 에 계정 이름을 넣으면 그 계정만 사용할 수 있는 공유폴더가 생성된다.)



Active Directory 에 계정이 있다 하더라도 samba server를 이용하려면 smbpaasswd 로 계정을 생성해줘야한다.

Active Directory 계정과 같은 계정으로 생성을 하게 되면 리눅스 내의 자기 홈 디렉터리와 공유 폴더에 접근 가능하다.

(이 때 생성하는 비밀번호는 Active Directory의 계정과 같을 필요는 없다.)


$ sudo smbpasswd -a username

$ sudo systemctl restart smb nmb




And