Computer/LINUX

삼바 서버 설정

알찬돌삐 2012. 8. 10. 16:14

 1.
[root@l134 /var/log/squid]
# cd /etc/samba

2.
[root@l134 /etc/samba]
# ls
lmhosts smb.conf smbusers

3.
[root@l134 /etc/samba]
# rpm -qa | grep samba
system-config-samba-1.2.21-1
samba-common-3.0.10-1.4E.6
samba-3.0.10-1.4E.6
samba-swat-3.0.10-1.4E.6
samba-client-3.0.10-1.4E.6

4.
[root@l134 /etc/samba]
# ls
lmhosts smb.conf smbusers

5.
[root@l134 /etc/samba]
# mv smb.conf smb.conf.bak

6.
[root@l134 /etc/samba]
# vi smb.conf

[GLOBAL]
workgroup = Class4
netbios name = l134
server string = l134 samba server
log file = /var/log/samba/log.%m
max log size = 50 byte
security = user
socket options = TCP_NODELAY
dns proxy = No
encrypt passwords = no

[HOMES]
comment = User's Home Directories
browseable = no
writable = yes

7.
[root@l134 /etc/samba]
# ls
lmhosts smb.conf smb.conf.bak smbusers

8.
[root@l134 /etc/samba]
# testparm ß 삼바설정 파일 확인하는 명령어
Load smb config files from /etc/samba/smb.conf
Processing section "[HOMES]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

# Global parameters
[global]
workgroup = CLASS4
server string = l134 samba server
encrypt passwords = No
log file = /var/log/samba/log.%m
max log size = 50
dns proxy = No

[HOMES]
comment = User's Home Directories
read only = No
browseable = No

<--- 여기서 에러 나면 안됨 /testparm 명령은 삼바설정 파일을 확인하는 명령어

에러없이 정상 확인됨



9. 삼바 데몬 실행
[root@l134 /etc/samba]
# service smb start
SMB서비스를 시작하고 있습니다: [ 확인 ]
NMB서비스를 시작하고 있습니다: [ 확인 ]


이후 윈도우 네트워크 연결 눌르고 작업그룹에 들어 가면 l134 samba server(L134) l134 samba server 가 보임



이렇게 하면 윈도우와 리눅스가 연결된 것임

누르면 권한이 없다고 함.....다음부터는 이 권한 문제를 해결하는 부분

10. - 권한 문제 해결하기
[root@l134 /etc/samba]
# cat /etc/passwd | mksmbpasswd.sh smbpasswd

11.
[root@l134 /etc/samba]
# cat /etc/passwd | mksmbpasswd.sh > smbpasswd

12.
[root@l134 /etc/samba]
# grep tland smbpasswd
tland:501:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[UD ]:LCT-00000000:

13.
[root@l134 /etc/samba]
# smbpasswd tland
New SMB password:class1
Retype new SMB password:class1

14.
[root@l134 /etc/samba]
# grep tland smbpasswd
tland:501:17B74D3EFEBD5A5DAAD3B435B51404EE:2BC7F632057EB99C995A0B2B9B4330A1:[U ]:LCT-44BF2544:

이것이 윈도우에서 사용하는 암호화 방법임
사용자 여러명 등록하기 - 우선 2명 등록 함 (linux, test1)

15.
[root@l134 /etc/samba]
# smbpasswd linux
New SMB password:class1
Retype new SMB password:class1
You have new mail in /var/spool/mail/root

16.

[root@l134 /etc/samba]
# smbpasswd test1
New SMB password:test1
Retype new SMB password:test1

17.
[root@l134 /etc/samba]
# grep linux smbpasswd
linux:502:17B74D3EFEBD5A5DAAD3B435B51404EE:2BC7F632057EB99C995A0B2B9B4330A1:[U ]:LCT-44BF2599:
linux2:503:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[UD ]:LCT-00000000:

18.

[root@l134 /etc/samba]
# grep test1 smbpasswd
test1:500:E88D94D6EBD10FC7AAD3B435B51404EE:AACD12D27C87CAC8FC0B8538AED6F058:[U ]:LCT-44BF25A7:

19.
[root@l134 /etc/samba]
# vi smb.conf
10 encrypt passwords = yes <-- no 를 yes 로 바꿔준다.

20.
[root@l134 /etc/samba]
# service smb restart
SMB 서비스를 종료함: [ 확인 ]
NMB 서비스를 종료함: [ 확인 ]
SMB서비스를 시작하고 있습니다: [ 확인 ]
NMB서비스를 시작하고 있습니다: [ 확인 ]

21.
* 윈도우로 가서 네트워크 연결 눌르고 작업그룹에 들어 가면 l134 samba server(L134) 보이며 클릭하면



이런 보안창 나옴


여기다 위에 설정한 user: tland, linux, test1 의 user들 중
하나를 선택 패스워드를 넣으면 해당 계정으로 들어감

// 여기까지 됐다면 원하는 계정으로 접속은 완료

22.
* 여기서 부터는 윈도우에서 아무 파일이나 복사하여
tland\public.html에다가 아무 파일이나 복사해서 집어넣는다.
내가 복사한 파일은: 1. master.doc, 2. 부화를 막기위한 방법.doc
파일을 복사했음

23.
*다시 리눅스로 가서

해당 파일을 보려면 아래 경로로 접속한다.
[root@l134 /etc/samba]
# cd /home/tland/public_html

24.
* 파일 열면 아래 쪽에 2개의 파일이 모두 보임

[root@l134 /home/tland/public_html]
# ls -l
합계 72
-rwxr-xr-x 1 tland tland 53 7월 19 16:27 index.html
-rwxr--r-- 1 tland tland 27136 7월 18 19:40 master.doc
-rwxr--r-- 1 tland tland 25600 7월 18 19:40 부화를 막기 위한 방법.doc












삼바 설치하기



삼바 설치는 와우 리눅스 7.1에 있는 RPM 패키지로 설치하기로 합니다. 여기에서는 소스 컴파일 설치는 다루지 않으므로 소스 컴파일에 관한 것은 리눅스 7.1 그대로 따라하기 책을 참고하기로 합니다.

와우 리눅스 7.1 첫 번째 장 시디로부터 다음과 같이 삼바 패키지를 설치합니다.

[root@dumca /]# mount -t iso9660 /dev/cdrom /mnt/cdrom

[root@dumca /]# cd /mnt/cdrom/Redhat/RPMS

[root@dumca RPMS]# rpm -ivh samba*

Preparing... ##################################### [100%]

1:samba-common ##################################### [ 30%]

2:samba ##################################### [ 60%]

3:samba-client ###################################### [100%]

[root@dumca RPMS]#






2. 삼바 데몬 띄우기




다음과 같이 삼바 데몬을 띄웁니다.

[root@dumca RPMS]# samba start



삼바 데몬을 띄운 후에 삼바 설정과는 관계없이 삼바 데몬의 작동 유무를 점검합니다. 삼바 데몬이 정상적으로 작동할 경우 다음과 같이 두 개의 데몬이 프로세스상에서 작동합니다.

[root@dumca RPMS]# ps ax

14365 ? S 0:00 smbd -D

14374 ? S 0:00 nmbd -D



이 단계에서 상기 화면과 같이 두 개의 데몬이 떠 있지 않아도 상관이 없습니다. 만일 smbd 한 개의 데몬만 작동하고, nmbd 데몬은 떠 있지 않은 경우에는 /etc/hosts 파일에 로컬 호스트명을 지정해 주시기 바랍니다. 상기 화면과 같이 두 개의 데몬이 떠 있는 것을 확인한 분들은 윈도우 클라이언트 컴퓨터에서 네트워크 환경을 클릭하여 삼바 서버를 찾아 보세요. 아마도 삼바 서버를 찾을 수 없을 것입니다. 윈도우 컴퓨터에서 삼바 서버가 보일 수 있도록 삼바 설정을 해 봅시다.




3. 삼바 설정


먼저 윈도우 클라이언트 컴퓨터의 작업 그룹을 확인합니다. 작업 그룹이 dumca라고 지정되어 있다면 삼바 서버의 /etc/smb.conf 가운데 workgroup=dumca 라 설정해 줍니다. 이 부분은 그대로 따라하시면 안됩니다. 여러분의 작업그룹에 따라서 지정해 주어야겠지요.

자, 이제 삼바 스크립트로 삼바 서버를 재실행해 보도록 합니다.

[root@dumca /etc]# samba restart



그리고 나서 윈도우 클라이언트에서 바탕화면의 네트워크 환경을 더블 클릭한 후에 전체 네트워크를 눌러 컴퓨터 찾기에서 *로 검색하여 삼바 서버가 나타나는지 확인합니다. 디렉토리 폴더가 보이지 않더라도 삼바 서버가 보이거나 암호를 물어 보더라도 접근이 가능하다면 삼바 서버는 제대로 작동하고 있는 것입니다.

자, 삼바 서버에서 공유 폴더와 여러 가지 설정으로 클라이언트에서 삼바 서버를 이용할 수 있도록 해 봅시다.




우선 [Global] 항목에서 guest account = pcguest를 guest account = nobody로 고치고, security = user 설정을 security=share로 수정합니다. 이 두 부분을 고친 후에 삼바 서버를 다시 실행합니다. 그리고 나서 윈도우의 네트워크 환경에서 전체 네트워크를 클릭하고 컴퓨터 찾기에 * 문자를 넣어 검색하여 삼바 서버를 찾아 삼바 서버를 클릭합니다. 패스워드를 묻지 않고 삼바 서버의 폴더의 나타날 것입니다. 그리고 폴더를 접근하면 패스워드없이 접근이 가능할 것입니다.




이제는 공유 폴더를 만들어 보도록 하죠. 우선 누구나 접근하도록 폴더를 만들어 보는 시디롬 디렉토리를 지정해 보도록 합니다.

우선 [home] 항목을 다음과 같이 설정합니다.




[homes]

comment = Home Directories

browseable = no

read only= no

guest ok = no

create mode = 0750




자, 그런 후에 [CDROM] 항목을 설정합니다.




[CDROM]

comment = Samba CDROM

path = /mnt/cdrom

browseable = yes

public = yes




자, 삼바를 다시 실행해 봅니다. 윈도우에서 접근하면 CDROM 폴더가 보이며 접근할 것입니다. 시디롬이 마운트되어 있다면 시디롬 내용이 볼 수 있으나, 마운트되어 있지 않다면 아무런 목록이 출력되지 않을 것입니다.




이번에는 [dumca] 항목을 설정합니다.




[dumca]

comment = dumca's dir

path = /home/dumca

browseable = yes

read only = no

writable = yes

public = no

create mask = 0750




삼바를 다시 실행하면 CDROM과 DUMCA 폴더가 보이나 DUMCA 폴더에 접근하려면 패스워드를 묻게 됩니다. DUMCA 폴더에 접근 가능한 유저를 생성해 주지 않기 때문에 접근이 불가능합니다. 그러면 이 폴더에 접근 가능할 수 있도록 이제는 사용자 인증을 설정해 주어야 합니다.

사용자 인증은 리눅스 사용자와 윈도우 사용자와 일치하도록 해 주어야 합니다. 윈도우에서 네트워크 로그인을 할 때 사용자가 dumca라고 한다면 리눅스에서 다음과 같이 삼바 사용자를 추가해 줍니다.




[root@jaoyo dumca]# smbadduser dumca:dumca

Adding: dumca to /etc/smbpasswd

Adding: {dumca = dumca} to /etc/smbusers

----------------------------------------------------------

ENTER password for dumca

New SMB password:

Retype SMB password:




삼바를 다시 실행하고 윈도우에서 삼바에 접속하면 설정전과 마찬가지로 인증 실패가 나올 것입니다. 왜냐하면 인증에 관련된 부분들을 설정해 주지 않았기 때문입니다.




그러면 인증 설정하는 방법은 [global] 항목에서 security 옵션을 다음과 수정해 주면 됩니다.

security = user

여러분들은 share로 설정되어 있는데 이를 user로 바꿔 주어야 합니다.




그리고 다음 부분들을 주석해지 하거나 삽입해 줍니다.




encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

username map = /etc/samba/smbusers




[dumca] 항목에는 이 디렉토리에 접근가능한 사용자들을 추가해 줍니다.




valid users= dumca




삼바 서버를 다시 실행한 후에 접속합니다. 패스워드를 입력하면 dumca 디렉토리에 있는 내용들을 볼 수 있을 것입니다.




여기까지 완료된 분들은 삼바가 정상적으로 작동하는 것입니다.




마지막으로 저의 삼바 설정 환경 파일 내용입니다. 문제가 있는 분들은 그대로 따라하시면 됩니다.




[global]



workgroup = samba

server string = Samba Server

printcap name = /etc/printcap

load printers = yes

printing = lprng

guest account = nobody

log file = /var/log/samba/%m.log

max log size = 0

security = user

encrypt passwords = yes

smb password file = /etc/samba/smbpasswd

username map = /etc/samba/smbusers

include = /etc/samba/smb.conf.%m

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192




[homes]

comment = Home Directories

browseable = no

writable = yes

valid users = %S

create mode = 0664

directory mode = 0750




[cdrom]

comment = CDROM DATA

path = /mnt/cdrom

browseable = yes

public = yes




[moviez]

comment = DIVX AVI Movie DATA

path = /data

browseable = yes

read only = no

writable = yes

public = no

create mask = 0750

valid users = dumca

이 글은 스프링노트에서 작성되었습니다.

.

'Computer > LINUX' 카테고리의 다른 글

커널 파라메터  (0) 2012.08.10
expect  (1) 2012.08.10
분할 압축  (0) 2012.08.10
디버깅 툴  (0) 2012.08.10
vi tip  (0) 2012.08.10