-
[리눅스] SAMBA / wins-lux 공유 폴더 연결 / 에러발생서버/리눅스 2017. 4. 14. 21:45
SAMBA
리눅스와 윈도우즈 간의 사용 가능 ( 공유폴더 )
목차
구성
서버 : Windows
클라이언트 : Linux
서버 구성 ( Windows )
추가
확인
권한 : 읽기/쓰기
윈도우키 > 고급 공유
맨아래 >
암호 보호
공유 끄기
클라이언트 구성 ( Linux )
#1. 패키지 설치
samba-client.x86_64
cifs-utils.x86_64
#>yum install -y samba-client.x86_64
#>yum install -y cifs-utils.x86_64
#>yum update -y
: 일단 yum을 업그레이드 해보자
윈도우에서 cmd > ipconfig
이더넷 어댑터 로컬영역 > IPv4 주소를 본다.
Windows에서 따온 ip주소를 입력한다.
#>smbclient -L <server_ip>
#>smbclient -L
#결과
공유 폴더 연결( 마운트 )
서버의 폴더와 리눅스안의 빈 디렉터리와 연결( 마운트 ) 시켜 접근한다.
>> 파티션과 비슷하다.
#>mount -t cifs <server_path> <mount_point>
option : -t를 사용해 cifs 프로토콜을 입력 ( 네트워크를 위한 samba 파일 규약 프로토콜 )
>> server path는 컴퓨터 검색창에서 내 ip를 입력하면 공유 폴더로 접근이 된다.
여기서 공유된 폴더를 찾아서 path를 복사한다.
저는 \\192.168.3.176\linux 이네요 ( 인코딩 방식에 따라 \로 표시된다 )
또한 테스트를 위해 윈도우 폴더에 file.txt를 만듭니다.
*소스코드
#>mkdir /samba
#>mount -t cifs \\\\192.168.3.176\\linux /samba
마운트할 directory를 만들어준다.
\ : escape seqence 이므로 2배로 작성한다. ( 싱글쿼터를 사용해도 괜찮다 )
#실행결과
:
*소스코드
#>df -h
#읽기 쓰기
서버 : Linux
클라이언트 : Windows
Linux 서버 만들기
#패키지 설치
samba.x86_64
#>yum install -y samba.x86_64
but : 현재 ( 2017.4.17 ) 기준 4.4.4_version이다 ( #> rpm -qa | grep samba )
www.samba.org 에서 소스코드로 업그레이드가 가능하다.
#Samba 사용자 설정
삼바로 접속할 계정은 리눅스pw, 삼바용pw 2개를 가지게 된다.
#>useradd samba
#>passwd samba
: samba
#>smbpasswd -a samba
: samba
smbpasswd <option> <user_name>
-a : 추가
-x : 삭제
samba pw는 linux pw와 달라도 가능하다.
#공유폴더 만들기
#>mkdir /samba
#>chmod 777 /samba
공유 폴더를 만들고 권한을 추가해준다.
#samba 설정 설명서
/etc/samba/smb.conf.example
#>cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
#>vi /etc/samba/smb.conf
:%d
: 먼저 백업 본을 하나 만들고 설정을 한다.
%d로 전체 삭제 한다.
share모드 간단한 설정
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
security = user
map to guest = Bad Password
[public]
path = /samba
public = yes
writable = yes
guest ok =yes
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
security = user
log file = /var/log/samba/log.%m
max log size = 50
hosts allow = 100.100.100.1
hosts deny = 100.100.100
[public]
path = /samba
public = yes
writable = yes
read only = no
browseable = yes
valid users = samba user01 user02
[homes]
comment - Home Directories
browseable = no
:wq
[global] : samba 전반적인 설정이 global 단락에 있다.
workgroup 과 secutiry 만 있으면 동작이 가능
[public] : 제공할 디렉터리
path랑 public만 있어도 읽기전용으로 동작 가능
[homes] : 로그인한 사용자의 홈 디렉터리
기본으로 사용자의 홈디렉터리 ( 2개가 보여짐 )
comment만 있어도 동작가능
%v : version
%m : netBios
[global]
workgroup = ( 컴퓨터 > 속성 에서 확인 )
server string = [ comment ] : 그냥 string 설명이다.
security = user : 사용자 명과 패스워드 확인 후 접속 ( 틀리면 접속 불가 )
share : 사용자명과 패스워드 없이 접속한다 ( ghest )server : 인증서버로 인증 후 접속 ( 인증에 관련된 서버를 따로 둔다. )samba_ver2 에서는 사용하지않다고 samba_ver4에서는 지원하지 않는 옵션이 되었다.
#share (사용자명과 패스워드 없이 접속)
map to guest = <bad_user>
Bad Passwd : 암호가 틀릴시 guest로 동작인데 ( windows가 계정을 물어본다면 아무거나 입력.)
이 옵션을 사용하면 public에 있는 valid user 옵션을 지워야 원하는 동작을 수행할 수 있다.
log file = 로그 경로를 지정한다.
max log size = 로그파일의 사이즈를 지정한다 ( 0인 경우 무한 )
hosts allow = 100.100.100.10 100.100.100.20 .. ip로 허용된 ip만 접근시킨다.
100.100.100. (100.100.100.1~100.100.100.254) 네트워크 대역대로 가능
이 네트워크는 windows cmd > ipconfig로 확인이 가능하다.
hosts deny = 100.100.100. 특정 ip / 네트워크 대역대를 차단한다.
[public]
path = 제공할 파일, 디렉터리 path
public = yes : 대괄호 [ ~ ] 안에 들어있는 이름으로 공유폴더가 표시
read only = yes ( 읽기전용으로 설정 기본값 )
writable = yes ( yes : 쓰기 설정 기본값 (no) )
read only , writable 둘중 하나의 옵션만 사용하면 된다.
browseable = 목록 표시 ( 기본값 yes )
valid user = 사용자 지정 하기
guest ok = 게스트의 출입을 허가한다.
[homes]
comment = 설명
browseable =[homes]를 안보이게한다 : 로그인한 사용자의 홈디렉터리만 보이게 된다.
:wq
#방화벽 추가
#>firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload
samba에 대한 방화벽을 해제한다.
#실행
#>systemctl restart smb
#Client 접속
linux ip 확인
en~ ( 뒤에는 다를 수 있음 ) : inet 부분이 ip주소
window + R
<server_IP> 입력
만들어 놓은 계정으로 로그인
#확인
접속한 사용자 목록 (서버)
#>smbstatus
접속 기록 (클라이언트)
cmd > net use ( 접속 기록을 저장해 다음 공유폴더 사용시 id, pw를 안쳐도 된다.)
하지만 지운다.
cmd > net use \delete *
[y/n] : y
Error 수정
1. selinux 설정
#>vi /etc/selinux
disabled로 변경
2. firewall - inactive ( 방화벽 설정이 귀찮으면 테스트할때만 꺼둔다 )
#>systemctl stop firewall
#>systemctl disable firewalld
3. SAMBA 오타
#>vi /etc/samba/smb.conf
오타수정
4. Windows 반복 에러
윈도우 재부팅
'서버 > 리눅스' 카테고리의 다른 글
[리눅스] ACL(Access Control List ) (0) 2017.04.19 [리눅스] NFS (0) 2017.04.18 [리눅스] 기본적인 서버 구성 (0) 2017.04.14 [리눅스] LVM stripe, mirror (0) 2017.04.13 [리눅스] LVM ( 가상화기법 ) (0) 2017.04.12