Microsoft Word - enterprise-linux-2-6.doc

Similar documents
<B0F8B0B35357B8AEBAE432315FBBEFB9D D424129BCADB9F6BBE7BFEBB9FD2E687770>

PowerPoint 프레젠테이션

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -


Windows 8에서 BioStar 1 설치하기

Microsoft PowerPoint - 5. 사용자 계정관리-1(2016-1학기).ppt [호환 모드]

SMB_ICMP_UDP(huichang).PDF

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

/chroot/lib/ /chroot/etc/

작성자 : 기술지원부 김 삼 수

PowerPoint 프레젠테이션

untitled

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

untitled

PowerPoint 프레젠테이션

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

단계

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Adobe Flash 취약점 분석 (CVE )

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

[ 시작 ] -> [ 제어판 ] -> [ 새하드웨어추가 ] [ 다음 ] 을클릭합니다. 목록에서직접선택한하드웨어설치 ( 고급 ) 에체크하고 [ 다음 ] 클릭.

Microsoft Word - Network Programming_01.docx

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

MySQL-Ch10

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

PowerPoint 프레젠테이션

다. 최신 버전의 rpm 패키지 버전을 다운로드해 다음과 같이 설 치한다. 단 debuginfo의 rpm 패키지는 설치할 필요가 없다. 하기 위한 옵션이고, init는 저장소를 초기화하기 위한 cvs 명령 어이다. - 새로 설치한 경우 : rpm -ivh cvs* -

Windows Server 2012

Contents Test Lab 홖경... 3 Windows 2008 R2 서버를도메인멤버서버로추가... 4 기존 Windows 2003 AD 홖경에서 Windows 2008 R2 AD 홖경으로업그레이드를위한사젂작업 7 기존 Windows 2003 AD의스키마확장...

INDEX 1. 개요 데이터백업스크립트작성 crontab 을이용한자동백업예약 활용 - 다른서버에백업하기

NTD36HD Manual

PowerPoint 프레젠테이션

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

01Àå

OnTuneV3_Agent_Install

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

RedHat Linux Fedora Core 4 + APM 소스컴파일설치 김희균 [ 사전준비 : 리눅스시디, 리눅스설치공간준비와컴퓨터의 IP 주소와넷마스크, 게이트웨이주소기록 1. Linux 시디로부팅을한다. 2. Gra

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

Chapter 05. 파일접근권한관리하기

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Microsoft Word ARM_ver2_0a.docx

Linux Server - FTP Good Internet 소 속 IDC실 이 름 정명구매니저

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

Mango220 Android How to compile and Transfer image to Target

운영체제실습_명령어

BEA_WebLogic.hwp

Microsoft Word - enterprise-linux-2-2.doc

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

2주차

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여

Microsoft Word - src.doc

Microsoft PowerPoint - comp_prac_081223_2.pptx

LXR 설치 및 사용법.doc

망고100 보드로 놀아보자-4

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

PowerPoint 프레젠테이션

<4D F736F F D20BDC7B9AB20B0FCB8AEC0DAB8A620C0A7C7D B8AEB4AABDBA20B1B8C3E020C7CFB1E22DB8F1C2F72E646F63>

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

chapter4

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

Sun Java System Messaging Server 63 64

CD-RW_Advanced.PDF

PowerPoint 프레젠테이션

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

chapter1,2.doc

DocsPin_Korean.pages

User Guide

untitled

Sena Device Server Serial/IP TM Version

1217 WebTrafMon II

Chapter 1

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox

<4D F736F F D E6320BFF8B0DD20B3D7C6AEBFF6C5A920B9E9BEF720BCADB9F620B1B8C3E020BDC7B9AB2E646F63>

Discrete Mathematics

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

TTA Journal No.157_서체변경.indd


Orcad Capture 9.x

슬라이드 1

PowerPoint 프레젠테이션

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

PowerPoint 프레젠테이션

The Pocket Guide to TCP/IP Sockets: C Version

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Microsoft PowerPoint 통신 및 압축 명령어.ppt

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

bn2019_2

Interstage5 SOAP서비스 설정 가이드

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Transcription:

2. 리눅스 Server 구축및실무운영 2.6. Samba Server 2.6.1 Samba 란 삼바는유닉스기반시스템이윈도우기반시스템들과상호서비스연동을가능케해주는프로그램이다. 삼바가마이크로소프트기반시스템과호환되는것은마이크로소프트네트워크프로토콜인 SMB(Session Message Block) 를구현가능하기때문이다. 리눅스에서삼바를이용하게되면리눅스와윈도우운영체제간의서비스를상호호환사용가능하게된다. 리눅스운영체제기반의파일시스템을윈도우에서사용가능하고, 윈도우기반의 AD 사용자계정을윈도우에서도사용가능하다. 또한리눅스에장착된프린트와같은서비스윈도우사용자들이이용할수있게되는것이다. 이장에서는삼바에대한설치방법과기본설정방법, 그리고실무에서주로사용되는설정방법에대해알아보도록하겠다. 2.6.2 Samba 설치하기 먼저아래사이트에서 Samba 최신소스를다운받는다. http://www.samba.org http://mirror.korea.co.kr/samba/download.html 다운받은소스를 /usr/local/src 밑에놓고압축을푼다. [root@arhdev src]# tar xzvf samba-latest.tar.gz [root@arhdev src]# cd samba-3.0.12/source [root@arhdev source]#./configure \ --prefix=/usr/local/samba \ --with-smbmount \ --with-pam 1/26 페이지

- 옵션설명 --with-smbmount : 컴파일시 smbmount 명령프로그램도같이컴파일한다. --with-pam : PAM 관련인증기능활성 [root@arhdev source]# make && make install [root@arhdev source]# touch /usr/local/samba/lib/smb.conf [root@arhdev source]# ln -s /usr/local/samba/lib/smb.conf /etc/smb.conf 삼바는 smb.conf 란하나의설정파일로모든기능이제어된다. 이설정파일의샘플은 samba source Directory 하부의 examples 란폴더밑에있다. 여기에있는파일을 /etc 밑으로옮겨도무방하다. [root@arhdev source]# vi /etc/rc.d/init.d/samba --------------------------------------------------------------------------------------- #!/bin/sh # # /etc/rc.d/init.d/smb - 삼바서비스를시작, 중지한다. # # 아래와같이이화일을심볼릭링크를시킨다. #. /etc/rc.d/init.d/functions. /etc/sysconfig/network [ ${NETWORKING} = "no" ] && exit 0 case "$1" in start) echo -n "Starting SMB services: " daemon /usr/local/samba/sbin/smbd -D daemon /usr/local/samba/sbin/nmbd -D echo touch /var/lock/subsys/smb ;; 2/26 페이지

stop) echo -n "Shutting down SMB services: " killproc smbd killproc nmbd rm -f /var/lock/subsys/smb echo "" ;; *) echo "Usage: smb {start stop}" exit 1 esac --------------------------------------------------------------------------------------- Daemon 관리의효율성을높이기위해간단한 initscripts 를만들어놓는다. initscripts 를이용하지않는경우는 smbd, nmbd 두 Daemon만실행해도무방하다. 부팅시자동으로 samba 서비스를시작시킬려면. /etc/rc.d/rc.local 파일제일밑에 samba 실행 Daemon을실행시키면된다. # vi /etc/rc.d/rc.local ---------------------------------------------------------------------------------------. /usr/local/samba/sbin/smbd -D /usr/local/samba/sbin/nmbd -D --------------------------------------------------------------------------------------- 2.6.3 Samba 기본설정및사용하기 Samba 는앞에설치단계에서링크시킨 /etc/smb.conf 파일에의해모든기능이제어된다. 3/26 페이지

smb.conf 파일에대해알아보도록하자 [root@arhdev root]# vi /etc/smb.conf --------------------------------------------------------------------------------------- [global] dos charset = cp949 unix charset = euc-kr workgroup = ARCHON ;; MS 환경에서 WorkGroup에해당 netbios name = arhdev ;; MS 네트워크브라우저에서나타나는서버이름 server string = arhdev samba server log file = /usr/local/samba/var/log.%m max log size = 1024000 ;; 로그크기가 1MByte 넘게되면자동으로 Log file를새로생성한다. ;; 로그파일의크기가무한정커지는것을방지한다. hide dot files = yes ;; hidden file를숨겨버린다. veto files = /.?*/ host allow = 192.168.123. 192.168.133. ;; 삼바서버에접근가능한클라이언트네트워크대역지정 encrypt passwords = yes ;; 암호화된암호사용여부 null passwords = yes ;; 사용자계정의패스워드사용여부, yes 인경우사용자계정만등록되어져 ;; 있는경우패스워드없이접속가능 dns proxy = no preserve case = yes short preserve case = yes interfaces = 192.168.123.110/255.255.255.0 ;; 삼바서비스를하는 IP 주소 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 stat cache = false log level = 3 security = user 4/26 페이지

;; 삼바보안모델 stat cache = false template shell = /bin/false load printers = no read list = @members write list = @members ;; 읽기, 쓰기가가능한그룹지정, 그룹명앞에 @ 를붙여줌 browseable = yes [data] -> 네트워크공유명 comment = 공유데이터 path = /data/share valid user = @members writeable = no write list = alang create mask = 644 directory mask = 755 ;; 삼바 Directory에접근하여파일, Directory 생성시포미션설정 ---------------------------------------------------------------------------------------- [root@arhdev root]# groupadd members [root@arhdev root]# adduser -g members clunix [root@arhdev root]# mkdir /data/share [root@arhdev root]# chmod 770 /data/share [root@arhdev root]# chgrp members /data/share/ smb.conf 설정파일에접근권한이주어진사용자환경에맞게사용자및그룹, 서비스디렉토리등을생성한다. [root@arhdev root]# cp /usr/local/src/samba-3.0.12/source/script/mksmbpasswd.sh \ /usr/local/samba/bin/ passwd 파일을 smbpasswd 파일로변환시켜주는스크립터를적정위치에옮긴다. 5/26 페이지

[root@arhdev root]# cp /etc/passwd /usr/local/samba/private/ [root@arhdev root]# vi /usr/local/samba/private/passwd --------------------------------------------------------------------------------------- alang:x:500:500::/home/alang:/bin/bash clunix:x:501:501::/home/clunix:/bin/bash --------------------------------------------------------------------------------------- 실제시스템 passwd 파일에서 samba user 로사용할계정만을선출한다. [root@arhdev root]# cat /usr/local/samba/private/passwd \ /usr/local/samba/bin/mksmbpasswd.sh > /usr/local/samba/private/smbpasswd mksmbpasswd.sh 파일을이용하여선출된계정의 passwd 파일을 smbpasswd 파일로변환한다. 만약 samba 계정이별도로존재하거나소수의계정일경우는 smbpasswd 의 "-a" option 을이용하면간편하게만들수있다. [root@arhdev root]# smbpasswd -a alang 보안상중요한파일이므로퍼미션을강화한다. [root@arhdev root]# chmod 500 /usr/local/samba/private/ [root@arhdev root]# chmod 600 /usr/local/samba/private/smbpasswd 삼바패스워드를지정한다. [root@arhdev root]# /usr/local/samba/bin/smbpasswd alang New SMB password:xxxxx Retype new SMB password:xxxxx [root@arhdev root]# /usr/local/samba/bin/smbpasswd clunix New SMB password:xxxx Retype new SMB password:xxxx 윈도우실행창을열어 cmd.exe 를실행한다. 그런후 net use 명령어를이용하여네트워크드라이브를맺어보도록하자. 6/26 페이지

> net use z: \\arhdev\data /user:alang xxxx 그럼윈도우탐색기에 z: 라는네트워크드라이브가생길것이다. 리눅스에서역시 mount 를이용하여특정 Directory 에마운트를시켜놓고사용이가능하다. [root@arhfw root]# mkdir /mnt/smb [root@arhfw root]# mount -t smbfs -o username=clunix,password=root/// \ //arhdev/data /mnt/smb/ 만일리눅스사용자와윈도우사용자계정의이름과패스워드가동일한경우리눅스서버의홈Directory를윈도우에서쉽게네트워크드라이브로연결할수있는데이는 smb.conf 파일밑에다음과같이추가해주면된다. [homes] path = %H public = no read only = no create mask = 600 directory mask = 700 그럼윈도우탐색기에서 //arhdev/homes 로연결을하면접속이가능할것이다. 2.6.4. Samba 사용자패스워드관리방법 삼바를관리하다보면사용자패스워드관리에대한고민을한번쯤하게될것이다. 리눅스시스템의자원을윈도우시스템에서사용을할려고하고, 사용자인증을통해서하고싶을경우리눅스의계정과윈도우의계정이일치해야하는문제와리눅스시스템계정과삼바계정을이중으로관리해야하는문제등을겪게될것이다. 여기서는실무에서주로사용되어지는사용자패스워드관리방법에대해알아보도록하겠다. 7/26 페이지

- 수동으로 smbpasswd 명령어를통해관리하는방법 가장기본적인방법으로 mksmbpasswd.sh 를통해 /etc/passwd 파일을 smbpasswd 파일로변환시킨후 smbpasswd 명령어를이용하여삼바사용자계정패스워드를적용하는방법이다. 2.6.3 장의방식이이기본방식이다. - NULL PASSWORD 를이용하는방식 삼바계정이리눅스시스템에존재할경우패스워드인증없이계정의존재여부만으로접속을허용해주는방식이다. 패스워드에대한관리부담이필요없어진다. 하지만사용자계정에대한보안레벨은매우낮게된다. 사용자가적거나모든자료를공유가능한경우에만주로사용된다. 사용방법은 [global] 세션에서 null passwords를 yes 해주면된다. 그런후 smbpasswd 로패스워드부여시 -n 옵션을사용하여부여를해주면된다. [root@arhdev root]# /usr/local/samba/bin/smbpasswd -n alang User alang password set to none. - Update encrypted 를이용한방식 사용자의수가많을경우주로사용하는방법이다. 먼저사용자의계정만을셋팅을한후 [global] 세션밑에 password 관련설정을아래와같이변경한다. encrypt password = no update encrypted = yes 그런후사용자가접속시적용하는패스워드가바로 smbpasswd에적용되는방법이다. 단패스워드는리눅스시스템패스워드와동일해야한다. 사용자패스워드가다변경이되면, encrypt password = yes update encrypted = no 8/26 페이지

로변경해주면된다. - 패스워드설정이완료된후이후 System password 파일과동기화 패스워드관련초기설정이완료된후사용자가임으로시스템패스워드를변경을하게되면 Smbpasswd 도변경을해주야하는관리상의번거로움이존재한다. 이런문제를해결하기위해주로사용되는방법으로시스템 passwd 파일을 smbpasswd에 alias 시켜서사용하는방법이있다. smb.conf [ global ] -------------------------------------------------------------------------------- smb passwd file = /usr/local/samba/private/smbpasswd passwd program = /usr/bin/passwd.real %u unix password sync = yes --------------------------------------------------------------------------------- 으로변경후 [root@arhdev root]# /usr/bin/passwd /usr/bin/passwd.real [root@arhdev root]# ln -s /usr/bin/passwd.real /usr/local/samba/private/smbpasswd 이제부터 smbpasswd 로 smb 패스워드를변경하면시스템패스워드도자동으로변경이되게된다. - 리눅스시스템인증계정과삼바인증계정통합관리 삼바패스워드설정이다왼료된상태에서새로운계정이추가되는경우에대해설정과정에대해알아보도록하자. 먼저시스템계정이추가되어져야할것이다. [root@arhdev root]# adduser -g members user2 새로추가된시스템계정을 /usr/local/samba/private/smbpasswd 파일에추가해줘야한다. 9/26 페이지

[root@arhdev root]# cat /etc/passwd grep user2 /usr/local/samba/bin/mksmbpasswd.sh \ >> /usr/local/samba/private/smbpasswd 그런후 /usr/local/samba/bin/smbpasswd 를통해새로추가되는계정에삼바패스워드를지정해줘야한다. 이와같이하나의계정을추가할때여러단계의설정이필요하다. 이것을자동화하는스크립터를생성해보도록하자. 2.6.5 Winbind 를이용한윈도우와리눅스통합모델구현 Samba 패키지에기본적으로들어있는 Winbind 를이용하면유닉스와 Windows 계정관리를통합하여유닉스머신이완벽한 NT 계열도메인멤버가되도록허용한다. 유닉스의 NIS 와같이유닉스에서윈도우서버의계정과그룹을자기자신의시스템에등록된계정처럼사용가능하다는의미이다. Winbind 를이용하기위해서는설치방법이위의기본방식과는조금다른부분이있다. - Samba 설치 다운받은 samba 소스를적당한곳에풀고 configure 한다. # tar xzvf samba-latest.tar.gz # cd samba-x.x.x #./configure --prefix=/usr/local/samba # make 여기서 pam_winbind.so 라이브러리를삼바에서자동으로만들어주지않기때문에 i 수동으로직접만들어줘야한다. # make nsswitch/pam_winbind.so 10/26 페이지

# make install 이렇게하면 Samba 와 Winbind 라이브러리설치가완료된다. - 설정하기 nsswitch.conf 설정 먼저 /etc/nsswitch.conf 파일을설정함. 기존의내용은모두지우고간단히아래내용만기입. # vi /etc/nsswitch.conf ----------------------------------------------------------- passwd: group: files winbind files winbind ----------------------------------------------------------- - Samba 설정 그다음 Samba 설정파일인 smb.conf 파일을작성합니다. smb.conf 파일의규칙에대해서는다른문서를참조하시오. 아래파일은 Clunix 사내 NAS 서버에이용된삼바설정입니다. /usr/local/samba/lib/smb.conf ------------------------------------------------------------------ [global] client code page = 949 workgroup = CLUNIX server string = Clunix NAS Server security = domain 11/26 페이지

log file = /usr/local/samba/var/log.%m max log size = 50 encrypt passwords = yes interfaces = 211.241.202.229/24 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 stat cache = false log level = 3 winbind separator = + winbind cache time = 10 # template homedir = /data/clxdb/home/%u template shell = /bin/false winbind uid = 10000-20000 winbind gid = 10000-20000 password server = ares browseable = yes [ 회사문서자료 ] comment = Clunix Job Doc Folder path = /data/clxdb/company public = no writable = yes admin users = CLUNIX+Administrator write list = @CLUNIX+Administrators, @CLUNIX+"Domain Users", [ 홈폴더 ] comment = User Home Folder path = /data/clxdb/home/%u create mask = 600 directory mask = 700 writable = yes admin users = CLUNIX+Administrator write list = @CLUNIX+Administrators, @CLUNIX+"Domain Users", 12/26 페이지

[home] comment = Users Home Path path = /data/clxdb/home public = no writable = yes admin users = CLUNIX+Administrator write list = @CLUNIX+Administrators, @CLUNIX+"Domain Users", browseable = no [profile] comment = Users Profile Path path = /data/clxdb/profile public = no writable = yes admin users = CLUNIX+Administrator write list = @CLUNIX+Administrators browseable = no -------------------------------------------------------------------------- winbind 를사용하기위해필수적으로해야하는설정으론 [global] workgroup = CLUNIX security = domain encrypt passwords = yes winbind separator = + winbind cache time = 10 log level = 3 winbind separator = + winbind cache time = 10 winbind uid = 10000-20000 winbind gid = 10000-20000 : 워크그룹혹은도메인 : 보안모드 : 암호화된암호사용 : 윈도우계정이사용할 uid : 윈도우계정이사용할 gid 13/26 페이지

password server = ares : PDC 서버 이와같다. smb.conf 의간단한법칙으로 [ 회사문서자료 ] : 네트워크공유명 comment = Clunix Job Doc Folder : 공유드라이브설명 path = /data/clxdb/company : 공유명의실질적은공유폴더경로 public = no : 인증없이공개할건지, 아닌지.. 결정 writable = yes : 읽기만할것인지, 쓰기도할것인지.. admin users = CLUNIX+Administrator : 공유관리자결정 write list = @CLUNIX+Administrators, @CLUNIX+"Domain Users", : 실제쓸수있는그룹지정 smb.conf 파일이완성되면기본적으로리눅스시스템의설정파일이저장되는 /etc 로복사하던지심볼릭링크를걸어놓도록한다. # ln -s /usr/local/samba/lib/smb.conf /etc/smb.conf - Pam 설정 이제 winbind 를통한유닉스시스템의인증을위해 pam 설정에 winbind 라이브러리를추가함. 기존거지우고아래내용복사해서넣으면됨. # vi /etc/pam.d/login ----------------------------------------------------------------------------- #%PAM-1.0 14/26 페이지

auth required /lib/security/pam_securetty.so auth required /lib/security/pam_nologin.so auth sufficient /lib/security/pam_winbind.so auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok account required /lib/security/pam_winbind.so password required /lib/security/pam_stack.so service=system-auth session required /lib/security/pam_stack.so service=system-auth session optional /lib/security/pam_console.so ----------------------------------------------------------------------------- 만일윈도우계정서버의계정으로 FTP 를사용하고싶다면... # vi /etc/pam.d/ftp ----------------------------------------------------------------------------- #%PAM-1.0 auth required /lib/security/pam_listfile.so item=user sense=deny \ file=/etc/proftpd/ftpusers onerr=succeed auth sufficient /lib/security/pam_winbind.so auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok # This is disabled because anonymous logins will fail otherwise, # unless you give the 'ftp' user a valid shell, or /bin/false and add # /bin/false to /etc/shells. #auth required /lib/security/pam_shells.so account required /lib/security/pam_winbind.so session required /lib/security/pam_pwdb.so ----------------------------------------------------------------------------- - winbind 라이브러리를시스템라이브러리경로에복사하기 처음 Samba 소스컴파일시별도로 make nsswitch/pam_winbind.so 파일컴파일한거기억하라. 그위치로간다. # cd ~ samba-x.x.x/source/nsswitch 15/26 페이지

이곳에가면 libnss_winbind.so, pam_winbind.so 두개의바이너리파일이생성되어져있을것이다. 이파일을적용하기위해서기본적으로리눅스시스템의라이브러리가저장되는곳으로옮겨야한다. # cp libnss_winbind.so /lib # cp pam_winbind.so /lib/security 라이브러리버전충돌이생길수있으니사전에대비하자. # cd /lib # ln -s libnss_winbind.so libnss_winbind.so.1 # ln -s libnss_winbind.so libnss_winbind.so.2 - Daemon 실행및 Winbind 로 AD 연결.. 기본적으로 Samba 는 smbd 와 nmbd 두개의 Daemon으로구동되어진다. smbd 는파일공유및프린터공유등을제어하고 nmbd 는 Netbios 명을찾는데사용된다. # /usr/local/samba/sbin/smbd -D # /usr/local/samba/sbin/nmbd -D 매번실행할때마다.. 이긴경로를적기귀찮으니아예 root 의 system path 에 samba 경로를등록하도록하자. 등록은 /root/.bash_profile 파일에서등록하면된다. # vi /root/.bash_profile --------------------------------------------------------------------.. PATH=$PATH:$HOME/bin:/usr/local/samba/sbin:/usr/local/samba/bin 16/26 페이지

. ------------------------------------------------------------------- 이제유닉스계열시스템을윈도우도메인에참여시키자. # /usr/local/samba/bin/smbpasswd -j DOMAIN -r PDC -U Administrator 그럼 password 를물어본다. 윈도우 DC 의 Administrator 의패스워드를입력한다. 여기서 DOMAIN 은도메인이름이고 PDC 는 PDC 서버의 Netbios 이름이다. 이제시스템의기본준비가완료되었다. winbind 로연결해보자.. # /usr/local/samba/sbin/winbind -i 그럼.. Processing section "[ 회사문서자료 ]" Processing section "[ 홈폴더 ]" Processing section "[home]" Processing section "[profile]" adding IPC service IPC$ adding IPC service ADMIN$ added interface ip=211.241.202.229 bcast=211.241.202.255 nmask=255.255.255.0 added interface ip=211.241.202.229 bcast=211.241.202.255 nmask=255.255.255.0 resolve_lmhosts: Attempting lmhosts lookup for name ares<0x20> resolve_hosts: Attempting host lookup for name ares<0x20> bind succeeded on port 0 cm_get_dc_name: Returning DC ARES (211.241.202.129) for domain CLUNIX IPC$ connections done anonymously Connecting to host=ares share=ipc$ Connecting to 211.241.202.129 at port 445 error connecting to 211.241.202.129:445 (Connection refused) Connecting to 211.241.202.129 at port 139 Added domain CLUNIX (S-1-5-21-1085031214-220523388-725345543) 17/26 페이지

getting trusted domain list 이와같은로그메세지가출력된다. 이부분이무사히진행되면 wbinfo 명령어로윈도우서버의계정과그룹에연결이되어졌는지확인한다. # /usr/local/samba/bin/wbinfo -u : 사용자검색 resolve_lmhosts: Attempting lmhosts lookup for name ares<0x20> resolve_hosts: Attempting host lookup for name ares<0x20> bind succeeded on port 0 cm_get_dc_name: Returning DC ARES (211.241.202.129) for domain CLUNIX IPC$ connections done by user CLUNIX\CLUNIX\Administrator Connecting to host=ares share=ipc$ Connecting to 211.241.202.129 at port 445 error connecting to 211.241.202.129:445 (Connection refused) Connecting to 211.241.202.129 at port 139 CLUNIX+1F4D2A20-A908-4D92-A CLUNIX+Administrator CLUNIX+airabbit CLUNIX+alang CLUNIX+albatrros CLUNIX+anmerong CLUNIX+arbeit CLUNIX+ballkim CLUNIX+bjkim CLUNIX+cezanne CLUNIX+chom1444.. # /usr/local/samba/bin/wbinfo -g : 그룹검색 18/26 페이지

CLUNIX+Domain Admins CLUNIX+Domain Users CLUNIX+Domain Guests CLUNIX+Domain Computers CLUNIX+Domain Controllers CLUNIX+Cert Publishers CLUNIX+Schema Admins CLUNIX+Enterprise Admins CLUNIX+Group Policy Creator Owners CLUNIX+DnsUpdateProxy CLUNIX+Exchange Domain Servers CLUNIX+BackOffice Template Users CLUNIX+BackOffice Folder Operators.. 만일이부분에서 # /usr/local/samba/bin/wbinfo -u resolve_lmhosts: Attempting lmhosts lookup for name ares<0x20> resolve_hosts: Attempting host lookup for name ares<0x20> bind succeeded on port 0 cm_get_dc_name: Returning DC ARES (211.241.202.129) for domain CLUNIX IPC$ connections done anonymously Connecting to host=ares share=ipc$ Connecting to 211.241.202.129 at port 445 error connecting to 211.241.202.129:445 (Connection refused) Connecting to 211.241.202.129 at port 139 0xc0000022 이와같이에러가나온다면이는 AD 서버의보안정책에따라서일반적으로 Anonymous 로 IPC$ 에접속인증이 19/26 페이지

안되는경우에발생한다. 로컬보안정책, 도메인컨트롤러보안정책에서 [ 보안설정 ] -> [ 로컬정책 ] -> [ 보안옵션 ] 에서 " 익명연결의추가적제한 " 부분을 " 없음 " 으로해놓으면위부분에서정상적으로동작할것이다. 그래도안되는경우가발생한다. 이때는 wbinfo 인증계정을강제로지정해놓는방법이있다. 원래는이방법이보안상권장하는방법임 anonymously 로이유없이 IPC$ 를열어줄필요는없음. # wbinfo --set-auth-user=domain\\user%password 즉.. # wbinfo --set-auth-user=clunix\\administrator% 패스워드 이설정은한번해주면시스템에그정보가기록되어진다. 이제다시 wbinfo -u 해보면멋지게윈도우서버의계정들이나타날것이다. 2.6.6 Swat 을이용한 Samba 설정및관리하기 지금까지는 smb.conf 를이용한설정에대해서만살펴보았다. 이장에서는 Swat 에대한간단한소개와설정방법에대해서만알아보도록한다. SWAT(Samba Web Administartion Tool) 말그대로 samba 웹관리툴이다. smb.conf 에서설정하던내용을웹인터페이스로모두설정및 Daemon 관리등이가능하다. 먼저 SWAT을활성해해보도록하자. Samba 를설치를하면 SWAT은기본설치가되어진다. 단설정이되지않으면사용할수없다. SWAT 의경우 xinetd Daemon 에서관리하는것이효율적이다. [root@arhdev root]# vi /etc/xinetd.d/swat ---------------------------------------------------------------------------------- 20/26 페이지

service swat { port = 901 socket_type = stream wait = no user = root only_from = localhost server = /usr/local/samba/sbin/swat log_on_failure += USERID } ----------------------------------------------------------------------------------- SWAT 접근을위해서는 Pam 설정이필요하다. [root@arhdev root]# vi /etc/pam.d/samba ------------------------------------------------------------------------------------ #%PAM-1.0 auth required /lib/securitypam_pwdb.so shadow account required /lib/securitypam_pwdb.so password required /lib/securitypam_pwdb.so shadow use_authtok session required /lib/securitypam_pwdb.so ------------------------------------------------------------------------------------ 그런후웹브라우저에서 http://smb_server_ip:901 로접속하면 SWAT 화면이뜰것이다. 2.6.7 Samba Mount 를통한 ACL 관리 실제 Samba는 NFS 와같은 Kernel Level 에서지원하는 File System 이라기보다는 Application Laye 에서존재하는 API 와같은프로그램이다. 그렇기때문의흔히 NFS 나로컬디스크장치에마운트를하고해당 Mount point 에퍼미션을부여해권한을관리하는거와는다르다. Samba 의경우실제 Samba 서버에존재하는데이터의퍼미션소유권한과 Samba client 에서 21/26 페이지

smbmount 시부여되는퍼미션소유권한은별도로관리된다. Samba 서버에있는데이터는 smb.conf 에지정된설정에의해퍼미션정책이정의되고데이터가관리된다. 하지만 samba client 에서는 client 에서 mount 시킬때사용되는 smbmnt (mount) 명령의옵션에의해그정책이정해진다. 즉 Samba client 에서는 samba 프로그램을통해 mount가이루어지는것이기때문에 smbmount 에의해실제의파일시스템에부여된퍼미션과는전혀다르게부여되는것이다. 아래의예를살펴보도록하자. - Samba 서버 ACL 관련설정 # vi /etc/samba/smb.conf ---------------------------------------------------------------------------------------- [global].. [data] comment = web data path = /home/data writable = yes write list = @members create mask = 660 directory mask = 770 ---------------------------------------------------------------------------------------- 위와같이 create mask 와 directory mask 가각각 660, 770 으로주어져있다. 위의 mask 설정은실제 Samba 서버의운영체제에서부여하여관리하는퍼미션정책에해당한다. 즉실제 Samba 서버의시스템퍼미션이라볼수있다. [root@clxfile root]# cd /home/data [root@clxfile data]# ls -al ------------------------------------------------------------------------------------- total 8 drwxrwx--- 2 clunix clunix 4096 Sep 20 18:23 clunix -rw-rw---- 1 clunix clunix 1 Sep 20 18:13 clunix.txt ------------------------------------------------------------------------------------- 22/26 페이지

즉 samba client 에서 server 로 mount 하여어떤디렉토리와파일을만들어도 samba 서버에서는파일은 660 으로디렉토리는 770의권한으로생성이되어진다. - Samba 클라이언트 ACL 관련설정 Samba Client 의 ACL 관련설정은실제 smbmnt 명령의옵션에의해정해진다. smbmnt 는 mount 의 "-t" 옵션에서 "smbfs" 가정의될때호출되는명령으로보면된다. 즉 Samba Client 시스템에서 Server 로아래와같이 mount 를해보도록하자 # mount -t smbfs -o username=clunix,password=password,fmask=644,dmask=707 //samba/data /home # cd /home # ls al ---------------------------------------------------------------------------------------- drwx---rwx 1 root root 4096 Sep 20 18:23 clunix -rw-r--r-- 1 root root 1 Sep 20 18:13 clunix.txt ---------------------------------------------------------------------------------------- 위와같이실제 Server 에서의퍼미션은 770,660으로지정이되어있지만 Client 에서는 707, 644로퍼미션이주어지는것이다. 만일 /etc/fstab 에위의옵션을포함하여 mount 설정을하고싶을경우는아래를참조하도록한다. # cat /etc/fstab ---------------------------------------------------------------------------------------- //samba/data /home/website smbfs \ defaults,noauto,user,credentials=/etc/samba/smbauth.dat,fmask=644,dmask=707 0 0 ---------------------------------------------------------------------------------------- 위설정에서 credentials 는 mount 의 -o 옵션뒤에 username 과 password 를입력하는데 23/26 페이지

이는 history 등을위해공개될수있다. 그렇기때문에별도의파일에 username 과 password 를관리할때사용되어진다. # cat /etc/samba/smbauth.dat ---------------------------------------------------------------------------------------- username=clunix password=password ---------------------------------------------------------------------------------------- Samba 인증정보파일에대한권한을조정한다. 실제로컬시스템일반유저의접근을제한하고 Samba 그룹에대한접근만을허용하도록한다. # chmod 640 /etc/samba/smbauth.data # chgrp wheel /etc/samba/smbauth.data # usermod -G wheel clunix 정리를하면 Samba Server 에대한모든권한설정은 smb.conf 와 Samba Server 의시스템퍼미션에의해제어되고 Samba Client 에서의권한설정은 Client System 의 Mount Option 에의해제어된다. 2.6.8 일반유저로 Samba server mount 하기 일반유저로 Samba mount 를하기위해서는 mount 명령의퍼미션변경과 fstab 의옵션변경이필요하다. Web Service 같이특정 Service 에서특정유저의소유권한이필요한경우해당유저로 Samba mount 를해야하는경우가있다. 앞에서언급했듯이 Samba Client 의모든권한설정은 Mount 옵션에서제어되기에만일 root 로 samba mount 를하게되면 mount 된삼바서버의모든소유권한은 root 로지정이되기때문이다. 참고 : 간혹 Smb.conf 에서지정되는 valid users, writable, write list 등의설정에서사용자설정을하게되는데, 이는 Samba Client 시스템의시스템유저에대한 Mount 된 24/26 페이지

Resource 의 ACL 권한설정이아니라 samba mount 자체에대한인증정보인것이다. 실제 Client 에대한 ACL 권한의모든것은 Client 의 mount option 에의해제어된다. 먼저일반유저가 mount 를하기위해서는 /etc/fstab 에 Option 에서 "user" 이란 option이추가되어야한다. # cat /etc/fstab ---------------------------------------------------------------------------------------- //samba/data /home/website smbfs \ defaults,noauto,user,credentials=/etc/samba/smbauth.dat,fmask=644,dmask=707 0 0 ---------------------------------------------------------------------------------------- 그런후해당유저에대해 mount 란명령을사용할수있게권한을수정해야한다. 기본적인 mount 소유권한과퍼미션은 root 에대한 4755 권한이주어진다. # ls -al /bin/mount ---------------------------------------------------------------------------------------- -rwsr-xr-x 1 root root 75048 Oct 6 2004 /bin/mount ---------------------------------------------------------------------------------------- mount 명령에 samba mount 권한이있는일반유저의해당그룹을부여하도록한다. # chgrp wheel /bin/mount 그럼일반유저로 mount 가가능할것이다. - 설정이전일반유저로 smbmount 시 $ mount -t smbfs -o username=clunix,password=password //clxfile/data /home/website/ --------------------------------------------------------------------------------------- mount: only root can do that - 설정이후일반유저로 smbmount 시 25/26 페이지

$ mount -t smbfs -o username=clunix,password=password //clxfile/data /home/website/ $ cd /home/website $ ls -al --------------------------------------------------------------------------------------- drwx---rwx 1 clunix clunix 4096 Sep 20 18:23 clunix -rw-r--r-- 1 clunix clunix 1 Sep 20 18:13 clunix.txt --------------------------------------------------------------------------------------- 26/26 페이지