<samba 서버 관리>
● SMB(Server Message Block)
MS와 인넽은 SMB라는 프로토콜을 만들어 디스트나 프린터를 공유할 수 있도록 개발
리눅스와 유닉스 계열 운영체제와 윈도우 운영체제간의 자료 공유 및 하드웨어를
공유할 수 있도록 해준다.
● CIFS(Common Internet File System)
=> 유닉스와 윈도환경을 동시에 지원하는 시스템
RPM 패키지
samba
삼바 데몬, 서버 라이브러리, 실행 데몬 스크립트 등이 포함된 패키지
samba-common
smb.conf,smbpasswd, testparam등이 포함된 패키지.
서버와 클라이언트 모두 필요하다
samba-client
삼바 클라이언트 명령어가 포함된 패키지. smbclient, smbtree등
samba-swat
swat(Samba Web Administratjon)은 웹 기반으로 살바를 제어할 수 있는
패키지로 smb.conf의 주요 설정을 원격에서 제어할 수 있다.
901번 포트를 사용하므로 http://localhost:901 형태로 접근해서 제어한다.
<삼바데몬 >
● smbd
파일과 프린터 공유, 사용자의 권한 부여 및 확인 등 사용자 인증을 담당한다.
● nmbd
담당하는 데몬으로 클라이언트를 위해 NetBOS nameserver를 지원,
browsing 지원, 컴퓨터 이름과 ip주소 연결등이 역할을 수행한다.
smb.conf
[global] 삼바 서버의 전체적인 환경 설정를 담당하는 섹션
[home] 각 사용자들이 자신의 홈 디렉터리로 접근할 때의 권한을 설정하는 섹션
[printers] 프린터 관련 권한 세션
● workgroup = MYGROUP
=> 윈도우 작업 그룹에 해당하는 항목으로 공유 그룹명
● server string = Samba server
=> 서버에 대한 설명을 설정
● netbios name = MYSERVER
=> 윈도우에서 이름으로 접속할 때 관련 이름을 지정한다.
● interfaces = lo eht0 192.168.1.0/24 192.168.2.0/24
=> 네트워크 인터페이스별로 접근 제얼할 때 설정한다.
● host allow =127. 192.168.1. 192.168.14.
=> 삼바 서버에 접속을 허용할 호스트를 지정, EXCEPT라는 키워드와 와일드 문자
사용 가능. 네트워크/서브네 마스트 형태도 가능
● hosts allow 192.168.1.0 EXCEPT 192.168.1.220 192.168.1.144
=> 192.168.1.220, 192.168.1.144 제외한 192.168.1.0 대역대의 ip주소를 허용
● log file = /var/log/samba/log.%m
=> 삼바 서버에 좁속하는 호스트의 로그를 기록하는 파일을 지정한다.
● max log size = 50
=> 로그 파일의 최대 크기를 설정하는 부분으로 단위는 KB 0으로 설정시 크기의 제한 없음
● securtiy = user
=> 삼버 서버 접속시 인증 모드를 설정하는 항목으로 주요 모드는 다음과 같다.
uesr 삼바 서버에 접속할 때 사용자명과 패스워드를 입력해야 한다.
share 삼바 서버에 사용자 인증 없이 접근할 때 사용
server 윈도우 NT 서버와 같이 다른 서버에 사용자명과 암호를 전달하여 인증할 때 사용
domain 또는 ads 윈도우의 도메인 컨트롤러 (Domain Controller)에 전달하여 유효한 사용자 여부를
확인할 때 사용한다. ads는 Activity Directory Server를 사용하는 경우에 지정한다.
● passdb backend = tdbsam
securtiy = user 일때, 사용자의 패스워드를 설정하는 방식
< share definitions의 주요 옵션 >
comment 간단한 설명을 설정
path 공유 디렉터리의 경로를 설정
read only 공유 디렉터리를 읽기 전용으로 설정
writalbe, write OK 공유 디렉터리를 쓰기를 가능하게 설정
valid users 공유 디렉터리를 이용할 수 있는 사용자를 지정
wirte list 공유 디렉터리에 접근 및 쓰기 권한을 행사할 수 있는 사용자를 지정한다.
그룹인 경우에는 @를 붙인다.
public, guset ok 다른 사용자들이 이용할 수 있도록 설정한다.
browseable, browsable 공유 디렉터리의 리스트를 보여줄 때 설정한다.
printable 공유 디렉터리에 스풀 파일을 지정할 때 설정한다.
create mask, create mode 파일을 설정할 때 허가권을 지정할 때 설정한다.
● /etc/samba/smbuser
=> 유닉스 계열 사용자 이름과 삼바 사용자간의 이륾을 매칭시키는 설정파일이다.
root는 administator 및 admin으로 매칭되고, nobody는 guest, pcguest, smbguest로 매칭된다.
● smbclient
=> 리눅스, 유닉스 클라이언트 명령어로 윈도 서버로 접근 할때 사용
\, / 모두 사용가능
주의점
윈도우에서 NetBIOS 접근시 \\192.168.1.1 로 접속간으.
리눅스에서는 smbclient 명령어 이용시 윈도우에 2배를 써야 한다.
이것에 대한 설명은 다음과 같다.
\\\\192.168.12.22\\source
=> \는 호스명 앞에 4개(윈도우가 2개) 디렉터리 \\ 2개(윈도우1개)
//192.168.12.22/source
=> /를 사용하는 경우에 호스트명앞에는 //, 디렉터리앞에는 /개를 사용한다.
※ 윈도우가 대소문자 구분하지 않으므로 리눅스도 대소문자 구분안함
주요 옵션
-L 접속하려는 삼바 서버의 공유 디렉터리 정보를 출력한다.
-U 삼바 서버에 접속할 때 사용자명을 입력한다.
-M 지정한 호스트명에 메시지를 전송할 때 사용한다. 명령을 입력하고 전송하려면
ctrl+d를 누른다.
● smbclient -L joon -U administator
=> joon이라는 호스트에 administator 계정으로 접근하여 공유된 목록된 확인한다.
● smbclient -L joon -U administator%1234
=> joon이라는 호스트에 administarator 계정으로 접근하는데 패스워드는 1234이다.
● smbclient \\\\joon\\source -U administarator
=> joon이라는 호스트에 공유 디렉터리인 source에 administarator 계정으로 접근한다.
● smbstatus
삼바 서버에 사용하는 명령어로 클랑이언트와 연결된 상태를 출력한다.
● testparam
=> 삼바의 환경 설정 파일인 smb.conf의 설정 여부를 확인한다.
● testparam /etc/samba/smb.conf www 192.168.5.13
=> IP주소가 192.168.5.13이고 호스트명이 www인 삼바 서버의 환경 설정 파일을 확인한다.
● nmlookup [option]
=> WINS 서버에 질의할 때 사용하는 명령으로 DNS서버에 질의하는 nslookup 명령과 유사하다.
옵션
-U 조회할 서버 이름을 지정한다.
-R 조회할 이름을 지정한다.
● nmlookup -U samba.org -R IRIX#1B
=> samba.org라늕 서버에 IRIX 그룹의 1B라는 이름을 조회
● nmlblookup *
=> 브로드캐스트 영역에 있는 모든 이름을 조회한다.
● mount.cifs
=> CIFS 기반의 마운트 명령으로 보통 윈도우에 공유된 디렉터리를 마운트할 때 사용한다.
mount -t cifs 명령과 동일하다.
● mount.cifs //192.168.5.13/photo /mnt
=> 192.168.5.13에 공유된 디렉터리인 photo를 /mnt로 마운트한다.
● smbpasswd
=> 삼바 사용자를 생성 및 삭제, 패스워드 변경, 활성 및 비활성화 등 관련 정보를 변경하는 명령어
-a 삼바 사용자를 추가할 때 사용. 삼바 사용자는 리눅스 시스템에 존재하는 계정
-x 삼바 사용자를 제거할 때 사용한다.
-d 삼바 사용자를 일시적으로 비활성화할 때 사용한다.
-e 삼바 사용자를 활성화할 때 사용한다.
-n 패스워드 없이 로그인이 가능하도록 할 때 사용한다. smb.conf에 'null passwords=yes'
추가로 설정해야 한다.
pdbedit
삼바 사용자의 데이터베이스 파일인 SAM database 를 관리해주는 명령어
옵션
-a 삼바 사용자를 추가할 때 사용한다. 삼바 사용자는 리눅스 시스템에 존재하는 계정
-L 등록된 삼바 사용자의 간단한 목록을 출력한다.
-v 등록된 삼바 사용자의 정보를 자세히 출력
공유 정의 (share Definition)의 설정 예
[www]
comment = share directory
path = /songsi
public = yes
write list = @songsi11
=>
윈도우에서 접급할 때 폴더 이름은 www로 설정
설명은 share directory
모든 사용자가 이용 가능
songsi11그룹에 속한 사용자만 파일 생성 및 삭제 가능
p500
<NIS(Network Information System)>
NIS는 하나의 서버에 등록된 사용자 계정, 암호, 그룹 정보 등을 공유하여
다른 시스템에 제공하는 서비스
yellow page라는 불렸으나 영국에서 등록된 상표여서 NIS로 변경
그래서 yp로 명령어가 시작하는 계기가 됨.
NIS의 보안을 강화, 확장성, 유연성을 높인 NIS+를 발표
RPC(Remote Procedure Call)에서 데이터 암호화 및 인증, 운영 중에 관한 설정,
복제(replication) 등을 지원한다.
<LDAP(Lightweight Directory Access Protocol)의 개요>
경량 디렉터리 접근 규약은 X.500 Directory Access Protocol, DAP 기반으로
만들어진 디렉터리 데이터베이스에 접속하기 위한 규약
IP 프로토콜 기반으로 사용자, 시스템, 네트워크, 서비스 정보 등의 디렉터리 정보를 공유할 수 있다.
디렉터리는 논리, 계급 등을 기준으로 조직화되어 있다. 특성이 비슷한 특성을 가진 객체들의 모임
RDBMS에 비해서 검색 속도가 빨라서, 읽기, 위주의 서비스 검색
속성(attribute)을 가진 객체(object)로 구성. 그 객체를 엔트리(entry)라고 부르면 그 엔트리(entry)는 DIT(Directory Information Tree)
라는 구조의 조직화 되고 고유 식별자인 DN(distribute Name), DN은 상대 식별자인 RDN(Relative Distinguished Name)으로 구성
DN(distribute Name)은 파일 시스템의 절대 경로처럼 해당 엔트리의 이름에 상위 엔트리 이름을 붙여서
식별하고, RDN(Relative Distinguished Name)으로 구성
/home/posein/joon.txt가 DN이고 , 여기에서 joon.txt는 RDN이 된다.
● LDAP 속성 관련 키워드
c CountryName 국가이름
st StateProvinceName 주(우리나라의 도)이름
l LocalityName 보통 도시를 나타내지만, 특정 지역 단위에서도 사용 가능
street StreetAddress 도로명 주소(지번)
o OganiczationName 조직(회사) 이름
ou OganiczationUnitName 조직의 부서 이름
cn CommonName 일반적으로 이름과 성의 조합
sn SurName 성을 나타냄
givetName givetName 이름을 나타냄
dc domaincomponet 도메인 네임의 요소를 나타냄
mail mail E-mail 주소
telephonenumber telephonenumber 전화번호
● NIS는 RPC 데몬을 구동시켜야 한다.
/etc/rc.d/init.d/rpcbind start
service rpcbind start
● /etc/hosts 수정하기
=> DNS 없이 빠르게 사용가능, 도메인이 없는 경우에 가상적으로 구성해서 동작 여부를 확인
192.168.1.1 nist.test.co.kr
192.168.1.2 nis.test1.co.kr
yum install ypserv
● 주요 데몬 스크립트
ypserv NIS 서버를 운영하는 주 데몬 스크립트
yppasswdd NIS 클라이언트에서 패스워드 시에 적용되도록 해주는 데몬 스크립트
ypxfrd NIS 서버와 NIS 클라이언트 간의 맵핑 속도로 높여주는 데몬 스크립트
● nisdomainname test.co.kr
=> 일시적으로 test.co.kr 도메인명 설정
● /etc/sysconfig/network
NISDOMAIN=test.co.kr
=> test.co.kr도메인을 영구적으로 설정
● 계정 생성
NIS 클라이언트에서 사용할 계정 하나를 생성
useradd test
passwd test
● 데몬 스크립트를 구동
servce ypserv start
servce yppasswdd start
servce ypxfrd start
● 서버 작동 확인
ps aux | grep yp
● 관련 정보 갱신
NIS 서버에서 사용자 추가 증 설정한 내용이 변경되면 해당 정보를 갱신시켜야 한다. 다음의 2가지 방법중 하나를 실행한다.
cd /var/yp ; make
make -C /var/yp
/var/yp 아래에 도메인 명으로 폴더가 생성되면서 관련 맵 파일들이 생성된다.
<NIS 클라이언트 구성>
yum install ypbind
yum install yp-tools
도메인 지정은 위 서버와 동일
● /etc/yp.conf 파일에 NIS 서버 및 도메인염을 지정한다.
예) vi /etc/yp.conf
server nis.test.co.kr
ypserver nis.test.co.kr
domain nis.test.co.kr
● 관련 데몬 시작
service ypbind start
관련 명령어
● ypwhich
=> NIS 클라이언트에서 사용하는 명령어로 NIS 서버명과 관련 맵 파일을 보여준다.
옵션
-m NIS 서버의 맵 파일을 출력한다.
● ypcat
=> NIS 서버의 데이터베이스라고 할 수 있는 맵 파일의 내용을 확인하는 명령
● yptest
=> 도메인명, NIS 도메인명, 맵 파일 목록, 사용자 계정 정보 등을 출력한다.
● yppasswd
=> NIS클라이언트에서 NIS서버에 등록된 사용자의 패스워드를 변경하는 명령어
● ypchsh
=> NIS서버에 등록된 사용자의 셸을 변경하는 명령어
● ypchfn
=> NIS 클라이언트에서 NIS 서버에 등록된 사용자의 정보를 변경하는 명령이다.
● NIS를 이용한 인증 가능한 서비스
=> telnet, samba, ssh
'리눅스 마스터1급' 카테고리의 다른 글
swqp,ps, find, quata (0) | 2018.08.27 |
---|---|
리눅스 웹 (약간 추가예정) (0) | 2018.08.26 |
리눅스 iptables,xinetd, (0) | 2018.08.24 |
리눅스 명령어(centOs)권한, 파일 시스템 (0) | 2018.08.21 |
워크스테이션 리눅스 하드디스크 추가하기 (0) | 2018.08.21 |