CentOS SAMBA ( Client, Server )에 대해서 정리한다.
※ SAMBA
( Linux와 Windows 간의 사용 가능 )
해당 작업을 진행하기전에 yum update -y를 이용해 yum을 업데이트 시키고 진행한다.
1. Client ( Linux - Client, Windows - Server )
1) 설치
samba-client.x86_64
cifs-utils.x86_64
#>yum install -y samba-client.x86_64
#>yum install -y cifs-utils.x86_64
2) 공유 폴더 확인
( Server IP - 192.168.3.187 )
#>smbclient -L <server_ip>
#>smbclient -L 192.168.3.187
( 서버 아이피를 통해 해당 서버에 공유 되있는 폴더 목록들을 볼 수 있고 한글에 경우는 깨져서 나온다 )
3) 공유 폴더 연결 ( 마운트 )
#>mount -t cifs <server_path> <mount_point>
#>mkdir /samba
#>mount -t cifs \\\\192.168.3.115\\linux
( \는 이스케이프 시퀀스 문자이기 때문에 표현하려는 문자 갯수에
두배를 적어주고 싱글쿼터를 이용해서도 표현이 가능하다 )
#>umount /samba
( 마운트 이후에 ls -l /samba를 통해 확인 해보면 윈도우에서 만들었던 file.txt가 보이는걸 알 수 있다 )
2. Server ( Linux - Server, Windows - Client )
1) 설치
samba.x86_64
( 최신버전을 받고 싶다면 www.samba.org에서 소스코드로 받으면 된다 )
#>yum install -y samba.x86_64
#>rpm -qa | grep samba
( 해당 시스템에 설치 되어있는 rpm들 중에서 grep을 이용해 samba만 출력했다 )
2) 설정 파일
/etc/samba/smb.conf
#>cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
( 만일을 위해서 백업 파일을 하나 만들어두고 시작했다 )
#>vi /etc/samba/smb.conf
( 백업해둔 파일이 있기 때문에 :%d를 입력해 실습을 위해 전체 내용 삭제 )
- /etc/samba/smb.conf 파일안에 입력 내용
[global] - samba 서버 전체에 대한 설정
workgroup = WORKGROUP ( 윈도우 작업 그룹 )
server string = Samba Server Version %v ( 서버에 대한 설명 )
security = user
- user : 사용자명과 패스워드 확인 후 접속
- share : 사용자명과 패스워드 없이 접속
- server : 인증서버로 인증 후 접속
( 이 경우에는 서버가 한대 더 필요 )
log file = /var/log/samba/log.%m
( 해당 클라이언트마다 로그파일을 생성해 로그를 남긴다 )
max log size = 50 ( 단위는 kb )
* %v는 매직쿠키로 버전을 나타낸다.
* 위쪽 3개는 필수로 입력해줘야 정상적인 동작이 된다.
* max log size를 무한대로 주려면 0을 입력한다.
[public] - 제공하고 싶은 디렉터리 설정
path = /samba
public = yes
read only = yes | no
writable = yes | no
* []안에 입력하는 이름에 따라서 윈도우에서 접속했을때 보이는 파일 이름이 변한다.
* read only와 writable을 둘다 설정 하지 않았을때는 기본 값으로 read only = yes로 동작한다.
( 위 내용을 /etc/samba/smb.conf에 직접 입력한 화면이고 설정 종류는 이외에도 여러가지가 많이 있다 )
3) 서비스 실행
smb ( samba를 관리하는 데몬 )
#>systemctl restart smb
* systemctl : 시스템, 데몬을 관리하는 커멘드
( 7버전부터 사용 되었다 )
#>systemctl <start | restart | stop | status> <service_name>
#>systemctl <enable | disable> <service_name>
( /etc/samba/smb.conf에서 설정을 해주고 smb를 restart 시켜줘서 변경 내용을 적용 시켜주고
상태를 확인하면 정상적으로 잘 동작하는걸 볼 수 있다 )
- Samba 사용자 설정
#>useradd samba
#>passwd samba
#>smbpasswd <option> <user_name>
-a 추가
-x 삭제
#>smbpasswd -a samba
( smbpasswd -a 를 이용해 별도의 samba 비밀번호를 설정 해주지 않는다면
해당 사용자를 이용한 접속이 불가능하다 )
4) Client 접속
\\<server_ip>
( Windows에서 공유 폴더에 접속 할때와 똑같은 방식으로 서버 아이피를 입력후에 접속해주면 된다 )
( 아까전에 /etc/samba/smb.conf에서 [public]이라는 이름을 입력해줘서 해당 폴더도
public이라는 이름을 가지는걸 확인 할 수 있다 )
( 해당 디렉터리에 대한 권한 설정에서 제3의 사용자는 쓰기 권한이 없기 때문에
설정파일에서 writable = yes를 해줬음에도 불구하고
새로운 파일을 만들수 없고 만들고 싶다면 해당 디렉터리 권한을 수정 해줘야 된다 )
( 서버에서 file.txt를 하나 생성하면 아까 설정에서 서비스로 제공할 디렉터리를 /samba로
설정 해뒀기 때문에 클라이언트에서 접속 했을때도 똑같이 보이는걸 볼 수 있다 )
댓글