삼바 란 무엇입니까?

네트워크 프로토콜 구현 서버 메시지 블록 (SMB)   및 공통 인터넷 파일 시스템 (CIFS). 주요 목적은 Linux와 Windows 시스템간에 파일 및 프린터를 공유하는 것입니다.

삼바   백그라운드에서 실행되고 Windows 서비스와 상호 작용할 수있는 서비스 및 명령 줄 도구를 제공하는 몇 가지 데몬으로 구성됩니다.

  • smbd   - 파일 및 인쇄 서비스를위한 SMB 서버 인 데몬.
  • nmbd   - NetBIOS 이름 서비스를 제공하는 데몬;
  • smblient   -이 유틸리티는 명령 줄에서 SMB 리소스에 대한 액세스를 제공합니다. 또한 원격 서버에서 공유 리소스 목록을 가져 와서 네트워크 환경을 볼 수 있습니다.
  • smb.conf   - 모든 Samba 도구에 대한 설정을 포함하는 구성 파일.

Samba에서 사용하는 포트 목록

  • 공유하다   -이 보안 모드는 Windows 9x / Windows Me 운영 체제에서 사용되는 인증 방법을 에뮬레이트합니다. 이 모드에서는 사용자 이름이 무시되고 암호가 공유 자원에 할당됩니다. 이 모드에서 Samba는 다른 사용자가 사용할 수있는 클라이언트가 제공 한 암호를 사용하려고합니다.
  • 사용자* -이 보안 모드는 기본적으로 설정되며 일반적으로 Linux에서 수행되는 것처럼 인증에 사용자 이름과 암호를 사용합니다. 대부분의 경우 최신 운영 체제는 Samba 만 사용하는 암호화 된 데이터베이스에 비밀번호를 저장합니다.
  • 서버   -이 보안 모드는 Samba가 다른 서버에 액세스하여 인증을 수행해야 할 때 사용됩니다. 클라이언트의 경우이 모드는 사용자 수준 인증 (사용자 모드)과 동일하게 보이지만 사실 Samba는 password server 매개 변수에 지정된 서버에 액세스하여 인증을 수행합니다.
  • 도메인   -이 보안 모드를 사용하면 Windows 도메인에 완전히 가입 할 수 있습니다. 클라이언트의 경우 사용자 수준 인증과 동일하게 보입니다. 서버 수준 인증과 달리 도메인 인증은 도메인 수준에서보다 안전한 암호 교환을 사용합니다. 도메인에 완전히 가입하려면 Samba 시스템 및 가능하면 도메인 컨트롤러에서 추가 명령을 실행해야합니다.
  • 광고들   -이 보안 모드는 도메인의 인증 방법과 비슷하지만 Active Directory 도메인 서비스 도메인 컨트롤러가 필요합니다.

전체 매개 변수 목록 삼바 맨 페이지에 있습니다.

위의 예는 공유 디렉토리에 대한 액세스 권한이있는 예입니다. 로그인과 비밀번호로만 액세스 할 수있는 개인 디렉토리가있는 다른 예를 생각해보십시오.

그룹을 생성하고 그룹에 사용자를 추가하십시오.

Sudo groupadd smbgrp sudo usermod -a -G smbgrp proft

사용자에 대한 디렉토리를 만들고 사용 권한을 설정하십시오.

Sudo mkdir -p / srv / samba / proft sudo chown -R proft : smbgrp / srv / samba / proft sudo chmod -R 0770 / srv / samba / proft

samba 사용자 만들기

Sudo smbpasswd -a proft

/etc/samba/smb.conf에 새 리소스를 추가하십시오.

    path = / srv / samba / proft 유효한 사용자 = @smbgrp guest ok = 아니오 writable = yes browsable = yes

서버 다시 시작

Sudo systemctl restart smbd

있는 자원을 설정하는 예제 심 링크   사용자 폴더 당 ( / srv / samba / media / video » / home / proft / video)

    path = / srv / samba / media guest ok = 예 읽기 전용 = 예 browsable = 예 force user = proft

클라이언트 설정

컴퓨터 공유 리소스보기

Smbclient -L 192.168.24.101 -U %

익명 사용자를 명령 줄에 연결하는 또 다른 방법

Smbclient -U 아무도 //192.168.24.101/public ls

서버가보다 높은 수준의 보안으로 구성된 경우 -W 및 -U 매개 변수를 사용하여 사용자 또는 도메인의 이름을 각각 전송해야 할 수 있습니다.

Smbclient -L 192.168.24.101 -U proft -W 작업 그룹

Samba 자원 마운트

   # 마운트 지점을 만드십시오 mkdir -p ~ / shares / public # mount resource # 익명의 사용자를 위해 # 아무도 마운트하지 않음 mount -t cifs //192.168.24.101/public / home / proft / shares / public -o user = nobody, password =, workgroup = WORKGROUP, ip = 192.168.24.101, utf8 # 사용자 proft 마운트 -t cifs //192.168.24.101/public / home / proft / shares / public -o user = proft, password = 1, workgroup = 작업 그룹, ip = 192.168. 24.101, utf8

암호는 별도의 파일에 저장하는 것이 더 좋습니다.

   # sudo vim / etc / samba / sambacreds 사용자 이름 = proft password = 1 username = noboy password =

0600 액세스 권한을 설정합시다

Sudo chmod 0600 / etc / samba / sambacreds

마운트 할 새 줄

마운트 -t cifs //192.168.24.101/public / home / proft / shares / public -o user = proft, credentials = / etc / samba / sambacreds, 작업 그룹 = 작업 그룹, ip = 192.168.24.101

그리고 / etc / fstab

   //192.168.24.101/public / home / proft / shares / public cifs noauto, username = proft, credentials = / etc / samba / sambacreds, 작업 그룹 = 작업 그룹, ip = 192.168.24.101 0 0

이 경로를 사용하여 Nautilus / Nemo / etc 파일 관리자에서 자원을 열 수 있습니다. smb : //192.268.24.101.

Nemo가 쓴다면 Nemo는 "smb"위치를 처리 할 수 ​​없습니다.   충분한 포장을 의미하지 않는다. gvfs-smb.

Windows 및 Android 클라이언트에서 서버에 액세스

Windows에서는 콘솔에서 작업 그룹을 찾을 수 있습니다.

넷 구성 워크 스테이션

탐색기 행을 입력하거나 UNC 주소를 실행 (시작 - 실행)하여 원격 시스템에서 자원을 열 수 있습니다. \192.168.24.101 .

Android에서는 다음을 사용하여 서버에 연결할 수 있습니다. ES 파일 탐색기, 네트워크 탭에서 IP (스킴을 지정하지 않고 smb)로 서버를 추가하십시오. 그런 다음 공유 리소스를 열 수 있습니다. 통계 정보 : HDRIP 필름은 속도를 늦추지 않습니다.

추가 독서

아니면 단지 관심과 호기심 때문에 사용자가 서로 다른 적합한 소프트웨어를 검색해야 할 수도 있습니다. 이 소프트웨어는 Samba입니다. 컴퓨터에서 데이터베이스 또는 파일 저장소를 만들려면 Ubuntu 서버에서 Samba를 구성하는 방법을 알아야합니다.

Ubuntu Server에 Samba를 설치하면 데이터베이스를 만들 수 있습니다.

이 페이지가 댄스 연구에 바쳐진다고 생각하면 약간 실수하는 것입니다. Samba는 자유 소프트웨어입니다. 프린터 및 파일에 대한 액세스를 제공합니다. 또한 다양한 운영 체제에서이 작업을 수행합니다.

그것을 위해 무엇입니까?

유사한 목적의 다른 소프트웨어 패키지와 비교하여 Samba는 몇 가지 장점과 기능을 가지고 있습니다.

  • Unix 계열 시스템 (Linux 및 Windows의 모든 시스템)을 서로 연결할 수 있습니다. Windows 뿐만이 아닙니다. 이 프로그램은 맥 오에스 (MacOS), 솔라리스 (Solaris) 및 다양한 운영 체제로 매우 다양합니다.
  • Samba는 Windows 사용자가 Ubuntu에서 컴퓨터를 서버로 사용할 수있게합니다. 즉, 액세스가 설정된 파일과 연결된 장치의 일부를 사용하십시오.
  • NT 도메인의 도메인 구조를 지원하고 NT 사용자를 관리하며 참가자의 기능을 지원합니다.

아마도 많은 사람들에게 이것이 가장 중요한 것은 Windows상의 시스템과의 연결 일 것입니다. 이 경우에는 클라이언트 역할을하고 우분투 컴퓨터를 서버로 사용합니다. 반면에 우분투 사용자는 Windows 네트워크 폴더에 액세스 할 수 있습니다.


Samba는 1992 년부터 생산되었습니다. 그리고 가장 중요한 것은 새 버전이 아직 남아 있습니다. 후자는 2017 년 3 월 7 일에 릴리스되었습니다. 개발자는 매년 여러 가지 버전의 운영 체제와 호환되도록 노력하고 있지만 주요 칩은 Linux 시스템과 Microsoft의 연결입니다. Windows Server와 비교할 때 Samba는 일부 프로토콜 및 호스트 인프라에 대한 지원 부족으로 인해 열세보다 떨어질 수 있습니다. 그러나 많은 사람들이 Samba의 속도가 훨씬 더 높다고 주장합니다.

Samba 구성

직접 설정하기 전에 프로그램을 설치해야합니다. Samba 설치는 터미널에 명령을 입력하여 다른 프로그램의 경우와 같은 방법으로 수행됩니다.

sudo apt-get install samba


즉시주의 : 프로그램 설치를 포함하여 설명 될 모든 작업은 간단한 우분투 및 우분투 서버에서 수행 될 수 있습니다. 후자에서만 텍스트 인터페이스 만 사용할 수 있습니다.

설치가 끝나면 구성 파일을 백업해야합니다.

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

$ sudo vi /etc/samba/smb.conf

또는 기존의 것을 편집합니다. 이 파일에는 Samba 서버의 기본 설치가 들어 있습니다. 우리가 다음에 무엇을 할 것인지 이해하려면, 다른 라인이 무엇을 의미하는지 이해해야합니다.

  • 작업 그룹 - 작업 그룹. Windows에서 기본 작업 그룹 도메인은 정확히 이와 비슷하게 보이기 때문에이 매개 변수의 값은 Workgroup입니다.
  • Netbios 이름은 Windows 사용자가 보는 우분투 컴퓨터 이름입니다. 여기에서 재량에 따라 값을 입력 할 수 있습니다.
  • 보안 - 사용자 인증 모드. 기본값은 사용자, 즉 사용자 레벨 인증입니다. 당분간은 떠나는 것이 낫습니다.
  • Os 레벨 - Samba가 로컬 또는 인터넷 네트워크의 다른 클라이언트 (PC)보다 우선 순위가 높음을 나타냅니다.
  • 이름 해결 순서 - NetBIOS 이름으로 IP 주소를 확인하는 순서입니다.
  • 읽기 전용 - 디렉토리 읽기 또는 쓰기 권한. 값은 "예"일 수 있습니다 - 읽기 전용, "아니오"- 쓰기.

사용자 만들기

이것은 Samba 작업을 시작할 수있는 가장 간단한 작업입니다.


OS 자체에 사용자 추가 :

$ useradd -M -l -s / sbin / nologin 사용자 이름

암호를 만드십시오.

우리의 사용자를 Samba 데이터베이스에 추가하십시오 :

$ smbpasswd -a 사용자 이름


$ smbpasswd 명령을 사용하여 다양한 다른 작업을 수행 할 수 있습니다.

  • $ smbpasswd 사용자 이름 - 비밀번호 변경
  • $ smbpasswd -x username - 사용자 삭제
  • $ smbpasswd -d username - 사용자 차단

구성 파일을 변경하면 서버를 재부팅해야합니다. 이것은 다음 명령을 사용하여 수행됩니다.

$ systemctl restart smb

이것들은 기본적인 Samba 설정입니다. 이제 프로그램을 실천할 수 있습니다.

폴더 액세스

먼저 Samba에서 승인되지 않은 사용자를 포함하여 모든 사용자에게 액세스 할 수있는 폴더를 생성 해 봅시다.

두 대의 컴퓨터에서 작업 할 폴더를 만듭니다.

$ sudo mkdir -p / samba / access

이제 로컬 네트워크의 클라이언트가 열 수 있도록이 폴더에 대한 확장 액세스를 수행합니다.

$ cd / samba
  $ sudo chmod -R 0755 액세스
  $ sudo chown -R 아무도 : nogroup 액세스 /

코드에 따르면 소유자는 아무도 아닙니다.


이제 서버 구성 파일에서 두 섹션을 수행해야합니다. 첫 번째 섹션은 기본 정보를 포함합니다.


  workgroup = 작업 그룹
  서버 문자열 = Samba 서버 % v
  netbios name = srvr1
  보안 = 사용자
  손님 = 나쁜 사용자로 매핑
  이름 해결 순서 = bcast 호스트
  DNS 프록시 = 아니오
#==============
  두 번째는 액세스 폴더에 데이터가 들어 있습니다.

  경로 = / 삼바 / 액세스
  browsable = 예
  쓰기 가능 = 예
  손님 ok = 예
  읽기 전용 = 아니오

동일한 순서로 차례대로 섹션을 따라 가십시오.

서버 변경 사항 업데이트 :

$ sudo 서비스 smbd restart

Windows에서의 컴퓨터 작업

Windows에서는 새 공유 폴더를 쉽게 열고 편집 할 수 있도록 일부 작업을 수행해야합니다.

  1. 명령 프롬프트를 엽니 다. 관리자를 대신하여 확장 된 권한으로이 작업을 수행하는 것이 좋습니다.
  2. 다음 명령을 실행하십시오.
  3. 메모장 C : \\ Windows \\ System32 \\ drivers \\ etc \\ hosts
  4. 다음 줄을 입력하는 파일이 열립니다.
  5. 168.0.1 srvr1.domain.com srvr1
      그녀의 폴더 덕분에 사용할 수 있습니다.
  6. "실행"라인의 도움으로 열 수 있습니다. 우리는 Win + R을 누르고, 입력합니다 : 그 후에, 우리는 폴더를 열 것입니다.


닫힌 폴더

구성된 Samba 서버를 사용하여 제한된 액세스 권한으로 네트워크 폴더를 만들 수도 있습니다. 이 폴더는 먼저 생성 된 다음 Samba 구성에 추가되어야합니다.

이름이 "Closed"인 폴더 만들기 :

$ sudo mkdir -p / samba / allaccess / closed

이 폴더에 액세스 할 수있는 특수 그룹을 만듭니다.

$ sudo addgroup securedgroup

우리는 다양한 그룹에 대해 특별한 권리를 창출합니다.

$ cd / samba / access
  $ sudo chown -R richard : securedgroup closed
  $ sudo chmod -R 0770 종료 /

열린 폴더의 경우와 마찬가지로 구성에 정보를 추가합니다.


  경로 = / 삼바 / 액세스 / 폐쇄
  유효한 사용자 = @securedgroup
  손님 확인 = 아니오
  쓰기 가능 = 예
  browsable = 예

서버를 다시 시작하십시오.

보시다시피 Access 내부에서 Closed 폴더를 만들었습니다. 따라서 로컬 네트워크의 각 사용자가 Access를 열 수 있지만 Closed를보고 편집하려면 특별한 권한이 필요합니다.

배치 파일에서 모든 것을 정확하게 설정하려면 몇 가지 간단한 단계를 수행하면됩니다.

먼저 패키지를 설치하십시오. 삼바:

Sudo apt는 Samba를 설치합니다.

이제 공유를 위해 Samba를 설정할 수 있습니다.

삼바 설정

Samba 구성 파일은 /etc/samba/smb.conf 경로에 있습니다. 원래 구성 파일에는 다양한 구성 지정 문을 문서화 할 때 상당한 양의 주석이 있습니다.
  모든 가능한 옵션이 기본 설정 파일에 포함되어있는 것은 아닙니다. 자세한 내용은 man smb.conf 또는 Samba Help 매뉴얼을 참조하십시오.

먼저 섹션에 다음 값을 변경하거나 추가하십시오.   /etc/samba/smb.conf 파일 :

작업 그룹 = 작업 그룹 security = 사용자

설정에 따라 작업 그룹의 이름을 변경하십시오 (Windows의 경우 기본적으로 작업 그룹의 이름은 작업 그룹입니다).

새 섹션 추가   파일의 끝에, 또는 공유 될 디렉토리에 대한 예제 중 하나의 주석을 제거하십시오.

     comment = Ubuntu 경로의 공유 폴더 = / home / samba / share browsable = 예 guest ok = 예 읽기 전용 = no create mask = 0644

comment - 공유에 대한 설명.
   path - 공유 디렉토리의 패스
   browsable - 클라이언트가 공유 디렉토리의 내용을 볼 수있게합니다.
   guest ok - 클라이언트가 암호를 지정하지 않고 공유에 연결할 수 있습니다.
   읽기 전용 - 자원이 "읽기 전용"인지 여부.
   마스크 - 파일 권한을 만듭니다.

이제 디렉토리를 만들어야합니다.

Sudo mkdir -p / home / samba / share

-p 옵션은 mkdir에 존재하지 않는 경우 전체 디렉토리 트리를 작성하도록 지시합니다.
  그것에 대한 사용 권한 설정 :

Sudo chown 아무도 : nogroup / home / samba / share / sudo chmod 755 / home / samba / share /

마지막으로 samba 서비스를 다시 시작하여 새 설정을 적용합니다.

Sudo 서비스 smbd restart

이제 우분투 공유가 네트워크에 나타나고 공유 디렉토리를 탐색 할 수 있습니다. 클라이언트가 공유 리소스를 자동으로 표시하지 않으면 IP 주소 (예 : \\\\ 192.168.0.1)로 서버에 문의하십시오. 파일 서버가 작동하는지 확인하려면 공유 리소스 내에 디렉토리를 만드십시오.

추가 공유 리소스를 만들려면 새 섹션을 만듭니다. /etc/samba/smb.conf에 넣고 Samba를 다시 시작하십시오. 공유 디렉터리가 만들어 졌는지, 올바른 사용 권한이 있는지 확인하십시오.

이 제품은 UNIX 시스템을 Microsoft 및 LanManager 네트워크와 통신하기위한 서버 및 클라이언트 소프트웨어 세트로, Windows에서는 "파일 공유 및 폴더"또는 지구본이라고합니다. 다른 컴퓨터에서 Linux 서버의 하드 디스크에 액세스하려면 Samba 서버가 필요합니다. 페도라 측에서는 nmbd와 smbd 두 서비스가 서비스를 담당합니다 (winbindd 서비스도 있지만, 서비스가 없으면 모든 것이 잘 작동하며 서버가 도메인에서 작동해야합니다).

  • 중소기업청   각각의 삼바 서버 데몬
  • NMBD   호스트 이름을 확인하는 NetBios 데몬은 네트워크 환경에서 컴퓨터를 찾을 수 있는지 확인하고 시작 또는 구성이 잘못되어 있으면 컴퓨터가 ip-person 만 볼 수 있습니다.
  • Winbind   이 서비스는 Samba를 Windows 도메인에보다 완벽하게 통합 할 수 있도록 설계된 새로운 도구입니다. Samba 2.2.0부터 시작되었습니다. 이 서비스는 /etc/samba/smb.conf에서 구성을 읽고 PDC 도메인과 동적으로 상호 작용하여 사용자 및 도메인 그룹과 Samba 시스템 목록을 자동으로 동기화합니다. 따라서 winbind는 Samba 워크 스테이션에서 도메인 사용자 기반의 관련성을 자동으로 유지 관리하기위한 매우 편리한 도구입니다.

SMB 네트워크에서 일하려면 다음이 필요합니다.

  • 고객
  • 서버
  • 관리 도구

SMB를 사용할 때 다음 리소스를 사용할 수 있습니다.

  • 네트워크 드라이브
  • 직접 구동 경로
  • 프린터
  • 도메인 인증 및 관리

필요한 패키지 설치

다음 명령을 입력하십시오.

Su -c "yum -y 설치 samba samba-client samba-common"

smbd 및 nmbd와 추가 소프트웨어 패키지 모두 필수 데몬이 설치됩니다. 추가 패키지를 설치하여 서버를 그래픽 모드로 구성 할 수도 있습니다.

Yum -y는 samba system-config-samba를 설치합니다.

그런 다음 서버를 구성해야합니다.

서버 구성

대부분의 경우 Samba를 구성하는 것은 /etc/samba/smb.conf 기본 파일을 편집하고 smbpasswd를 사용하여 사용자를 관리하는 것입니다. 비정상적인 경우 SWAT 웹 인터페이스 (Samba 웹 관리 도구)를 사용해보십시오. 이렇게하려면 samba-swat 패키지를 설치하고 http : // localhost : 901 / URL을 브라우저에 엽니 다.

일반 그래픽, system-config-samba 패키지를 통해 모든 것을 구성 할 수 있습니다.

백업 파일을 저장하려면 다음과 같이 반환하십시오.

Cp smb.conf smb.conf.backup

일정 사용자 지정

일반적인 smb.conf 구성

Samba 서버 구성은 크기와 기능이 크게 다를 수 있습니다. 이 파일은 엄청난 수의 다른 지시어를 사용할 수 있습니다. 이 기사에서 가장 일반적인 구성 만 고려하고 이에 포함 된 지시문을 고려합니다.

  일반 서버

    workgroup = OFFICE security = 사용자 os level = 65 domain master = no logons = no 지원 = no comment = 공공 물건 경로 = / home / samba / public public = 예 쓰기 가능 = 아니오 쓰기 목록 = @staff

이 절에서는 모든 자원에 대해 전체적으로 Samba 서버 측의 일반 설정을 정의합니다.

  • 작업 그룹: 작업 그룹 이름
  • 보안: 사용자 액세스 수준 정의 수준.
  • oS 레벨: 작업 그룹의 다른 컴퓨터 중이 서버의 우선 순위 : 네트워크 리소스 매핑을 담당하는 주 컴퓨터가 정확히 될 사용자를 결정합니다. 비교를 위해 Win9X는 os level = 34이고, NT4는 os level = 64입니다.
  • 도메인 마스터   : 마스터 서버 도메인을 정의합니다. 이 경우 지시문은 비활성화됩니다.
  • 도메인 로그온   : 주변 기기의 암호 서버가되지 마십시오. 따라서, 이웃 NT 서버의 어리둥절한 관리자가 자신의 서버에서 그를 보내지 않는다고 불평하면 - 도메인 로그온 = 아니오
  • 지원을 얻는다.A : 일반적으로 가장 단순한 네트워크에서는 WINS가 필요하지 않습니다. WINS를 사용하지 않도록 설정하고 자체적으로 동일한 작업을 수행합니다.
  • 의견   : 댓글, 웹에 리소스에 대한 주석으로 표시
  • 경로   : 리소스 디렉토리 경로
  • 공공의   : 모든 승인 된 사용자 (정의 된 경우 게스트 사용자 포함)에 대한 읽기 권한
  • 쓰기 가능한   : 모든 사용자에게 쓰기 금지
  • 쓰기 목록   = @staff : 시스템 스태프 그룹의 모든 사용자에 대한 쓰기 권한

  확장 된 정규 구성

이 구성에서는 가장 빈번한 지시문이 사용됩니다. 완전히 복사 할 필요는 없으며이 구성은 일반 서버에서는 필요없고 도메인의 서버에서는 충분하지 않습니다. 그러나 일반적인 구성으로 서버를 시작하지 않으면이 서버의 작동 방식과 무언가가 작동하지 않는 경우 디버깅하는 방법을 이해할 수 있습니다.

작업 그룹 = 서버 그룹 서버 문자열 = Samba 서버 버전 % netbios 이름 = MYSERVER 이름 해결 순서 = 승리 lmhosts bcast 도메인 마스터 = 없음 도메인 로그온 = 아니오 인터페이스 = lo eth0 192.168.1.0/24 로그 수준 = 10 passdb : 5 인증 : 10 winbind : 10 로그 파일 = /var/log/samba/log.%m 최대 로그 크기 = 50 승 지원 = 아니오 승 서버 = 192.168.1.1 승 프록시 = 예 dns 프록시 = 예 smb passwd 파일 = / etc / samba / smbpasswd 소켓 옵션 = TCP_NODELAY SO_RCVBUF = 8192 SO_SNDBUF = 8192 IPTOS_LOWDELAY IPTOS_THROUGHPUT 로컬 마스터 = 예 유닉스 캐릭터 세트 = UTF8 도스 문자셋 = CP1251 디스플레이 캐릭터 세트 = UTF8 보안 = 사용자 passdb 백엔드 = tdbsam 게스트 계정 = 게스트 코멘트 = 홈 디렉토리 탐색이 = 아니오 쓰기 = 예 코멘트 = 공용 항목 경로 = / home / samba browseable = 예 public = 예 writable = 예 printable = 아니오 쓰기 목록 = + staff 경로 = / pub browseable = 예 public = yes writable = yes

  • 서버 문자열   : 네트워크 환경을 볼 때 컴퓨터 이름 뒤에 나오는 문자열 (예 : MYSERVER Samba Server 버전 3.3.4).
  • 넷비어스 이름   : 이것은 netbios 컴퓨터 이름입니다.
  • 이름 해결 명령   : 지시문은 서버가 호스트 이름을 해석하려고 시도하는 순서를 지정합니다.
  • 인터페이스   : 지시문은 samba 서버가 수신 대기하는 인터페이스 및 서브넷을 지정합니다.
  • 로그 수준   : 상세 수준의 로그 수준, 많은 디버깅 클래스를 지원합니다. 지시문에 대한 자세한 내용은 smb-conf.ru에서 찾을 수 있습니다.
  • 로그 파일   : 로그 파일의 경로를 나타냅니다. 서버는 다른 사용자 또는 컴퓨터에 대한 다양한 이벤트 파일을 보관합니다 (이 사실에주의하십시오).
  • 최대 로그 크기   : 최대 로그 크기 (KB). 파일 크기에 도달하면 회전 된 로그가 실행됩니다.
  • 지원을 얻는다.   : Samba의 nmbd가 WINS 서버 인 경우 매개 변수가 yes로 설정됩니다. 즉 wins 서버는 nmb 데몬의 일부입니다. WINS에 대한 자세한 내용은 나중에 설명하겠습니다.
  • 서버를 얻다   : WINS 서버의 주소.
  • 프록시를 얻는다.   :이 매개 변수는 다른 컴퓨터의 이름을 확인하기위한 브로드 캐스트 요청에 응답할지 여부와 관계없이 nmbd의 동작을 제어합니다. 일부 이전 클라이언트의 경우 매개 변수를 yes로 설정해야 할 수도 있습니다.
  • dNS 프록시   : Samba가 일반 DNS nslookup을 통해 Netbios 이름을 확인하거나 시도하지 말라고 말합니다.
  • smb passwd 파일   :이 매개 변수는 암호화 된 암호 파일 smbpasswd의 경로를 지정합니다. 기본적으로이 경로는 Sambu에서 컴파일됩니다.
  • 소켓 옵션   : 클라이언트를 서비스하는 데 사용될 소켓 매개 변수를 설정할 수 있습니다. samba의 작업을 "가속화"하는 데 사용됩니다.
  • 로컬 마스터   :이 옵션을 사용하면 nmbd 데몬이이 서브넷의 로컬 마스터 브라우저가 될 수 있습니다.
  • 유닉스 문자 집합   : Samba가 * nix-clients와 상호 작용하는 인코딩
  • dos charset   : Windows 클라이언트와 상호 작용하기위한 인코딩
  • 문자셋 표시   : samba가 메시지를 stdout (출력 스트림) 및 stderr (오류 스트림)에 인쇄하는 데 사용할 문자 집합을 지정합니다.
  • 보안   : 고객과의 상호 작용 모드를 결정하거나 고객에게 서버에 액세스하기위한 사용자 이름과 암호를 보내도록 지시합니다.
  • passdb 백엔드   :이 매개 변수는 관리자가 사용자 및 가능하면 그룹에 대한 정보를 저장하는 메커니즘을 선택할 수 있도록합니다. 기본값은 smbpasswd입니다.
  • 게스트 계정   : 일반 사용자 또는 게스트 사용자가 Samba 서버에 연결하면 해당 서버 사용자와 일치해야합니다. Samba 게스트 계정이 될 시스템의 기존 사용자 중 하나를 선택하십시오.

  중요 지시어

지침 보안

  • 광고   - Samba 서버는 Active Directory 도메인 (Active Directory 도메인, ADS) 도메인의 도메인 구성원으로 작동합니다. 이렇게하려면 서버에 Kerberos를 설치하고 구성해야하며 Samba는 samba-client 패키지에 포함 된 net 명령을 사용하여 ADS 영역의 구성원이어야합니다. 자세한 정보는 net man 페이지를 참조하십시오. 이 옵션을 선택하면 Samba가 ADS 컨트롤러가되지 않습니다. Kerberos 도메인 (Kerberos 영역) 필드에서 Kerberos 서버의 범위를 지정하십시오.
  • 도메인   - Samba 서버는 기본 및 백업 Windows NT 도메인 컨트롤러를 사용하여 사용자를 확인합니다. 서버는 사용자 이름과 암호를 컨트롤러에 보내고 응답을 기다립니다. 인증 서버 필드에 기본 또는 백업 도메인 컨트롤러의 NETBIOS 이름을 입력합니다.이 옵션을 선택하면 암호화 된 암호 매개 변수가 예이어야합니다.
  • 서버   - Samba 서버는 다른 Samba 서버를 사용하여 사용자 이름과 암호의 조합을 확인하려고 시도합니다. 이것이 실패하면 서버는 사용자 인증 모드를 사용하여 서버를 검증하려고 시도합니다. 인증 서버 필드에 다른 Samba 서버의 NETBIOS 이름을 입력하십시오.
  • 리소스 (공유)   - Samba 사용자는 Samba 서버에 연결할 때 사용자 이름과 비밀번호를 입력 할 필요가 없습니다. Samba 서버는이 서버의 특정 공유 디렉토리에 연결을 시도 할 때까지 이름과 암호를 묻지 않습니다.
  • 사용자 - (기본값) Samba 사용자는 Samba 서버에 대한 올바른 사용자 이름과 암호를 제공해야합니다. Windows 사용자 이름 옵션 (Windows 사용자 이름)을 사용하려면이 옵션을 선택하십시오.

지시문 WINS

WINS (Windows 인터넷 이름 서비스)는 노드 IP 주소가있는 NetBIOS 컴퓨터 이름의 매핑 서비스입니다. WINS 서버를 지정하지 않으면 wins를 통한 resolv 메서드가 무시됩니다. wins 서버와 wins 클라이언트가 있습니다. 클라이언트가 네트워크에 로그온하면 Netbios 이름을 서버에 알린 다음 서버를 사용하여 다른 시스템 이름을 확인합니다. 브로드 캐스트 트래픽 양을 줄이려면 WINS 서버가 있어야합니다. 서브넷이 충분히 크면 브로드 캐스트가 많이 발생할 수 있습니다.

서버 시작

서버가 구성되면 서버의 smb 서비스를 자동로드로 설정하고 서버 자체를 시작해야합니다.

Systemctl 활성화 smb systemctl 활성화 nmb systemctl 시작 smb systemctl 시작 nmb

systemd가없는 구형 시스템의 경우 다음을 사용하십시오.

Chkconfig - 레벨 235 smb 235 chkconfig - 레벨 235 nmb 235 서비스 smb 시작 서비스 nmb start

smb.conf를 변경할 때마다 서버를 다시 시작합니다.

Systemctl restart smb

또는 오래된 시스템의 경우 :

Smbd 다시 시작

또한 올바른 디렉토리가 공유 디렉토리에 있는지 확인하십시오. SElinux는 사용자의 홈 폴더에있는 볼에 대한 액세스를 허용하지 않는다는 것을 기억하십시오.

iptables 방화벽 구성

클라이언트에서 samba 자원에 액세스하려면 iptables 방화벽을 구성해야합니다. 포트 137-139와 445를 열어야합니다. 다음 예에서 서브넷 192.168.1. *에서 SAMBA 서버에 대한 액세스가 허용됩니다. 필요한 경우 -s 192.168.1.0/24 옵션을 제거하여 서버에 대한 모든 액세스 허용

iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp -dport 137 -m 상태 --state NEW -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp - dport 138 -m 상태 - 상태 NEW -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp -dport 139 -m 상태 - 상태 NEW -j ACCEPT iptables -A INPUT -s 192.168 .1.0 / 24 -p tcp -m tcp -dport 445 -m state --state NEW -j ACCEPT iptables-save\u003e / etc / sysconfig / iptables

SAMBA 사용자 생성

먼저 시스템에 일반 사용자를 생성 한 다음 smbpasswd라는 특수 명령을 사용하여 사용자를 데이터베이스에 추가해야합니다. Samba-server 일반 사용자 생성 :

Useradd -M (홈 폴더 제외) -l -s / sbin / nologin (ssh를 통해 로그인하지 않도록) username

사용자 비밀번호 지정 :

패스워드 톰

Samba 사용자 만들기 :

Smbpasswd - 톰

서버 진단

서버를 시작한 후에는 smbclient를 사용하여 서버 자체에서 연결할 수 있습니다.

Smbclient // /   -U

대체   연결하려는 Samba 서버의 호스트 이름 또는 IP 주소,   - 탐색하려는 디렉토리의 이름   - 원격 시스템의 사용자 이름 Samba. 이 사용자에게 암호가 필요하지 않으면 올바른 암호를 입력하거나 클릭하십시오.

Smbclient -L hostname - 호스트의 공유 자원보기

네트워크 환경에서 컴퓨터가 전혀 보이지 않으면 nmblookup 유틸리티를 사용하여 이름 서비스의 작동을 확인해야합니다. 먼저 유틸리티가 클라이언트에서 실행되고 클라이언트가 서버에서 resolv 실행 오류를 발생시킵니다. 서버가 아무것도주지 않는다면, nmb-daemon에 문제가있어서 서버를 다루어야합니다. 클라이언트 또는 서버의 방화벽도 간섭 할 수 있습니다.

Nmblookup<имя_компьютера>   nmblookup -A IP

findsmb 명령을 사용하여 네트워크에서 서버를 찾을 수도 있습니다.

유사한 나사 명령 :

네트워크보기 \\\\ NBNAME nbtstat -a

아무 것도 작동하지 않으면 방화벽을 비활성화하면 어떤 일이 발생하는지 확인하는 것이 목적입니다.

iptables 서비스 중지

서버 유틸리티

서버에 대한 작업을 위해 다음과 같은 추가 유틸리티가 있습니다.

smbstatus :: 현재 서버 연결에 대한 보고서를 표시합니다.

smbpasswd :: Samba 사용자의 암호를 설정하거나 변경하는 데 사용됩니다.

findsmb :: 네트워크에서 Samba 컴퓨터를 찾는 데 사용됩니다.

nmblookup :: TCP / IP를 통한 NetBIOS를 사용하여 컴퓨터 이름을 IP 주소로 변환합니다.

net :: Samba 서버를 원격으로 관리하는 데 사용됩니다.

smbclient :: UNIX / Linux 클라이언트 컴퓨터에서 서버에 연결하는 데 사용됩니다.

smbtar ::이 유틸리티는 서버에 저장된 데이터의 백업을 만드는 데 사용됩니다.

testparm :: 유틸리티는 서버 구성 파일 (smb.conf)의 구문을 검사합니다.

유용한 명령

smb.conf가 변경되면 서비스를 다시 시작해야합니다.

Systemctl restart smb

Samba 자원을 디렉토리에 마운트하려면 디렉토리가 없으면 디렉토리를 만들고 루트로 다음 명령을 실행하십시오.

마운트 -t cifs -o 사용자 이름 = , password = ///   / mnt / point /

이 명령은 자원을 마운트합니다.   서버에서   로컬 디렉토리 / mnt / point /. 모든 것이 오류없이 마운트 되었다면 / etc / fstab에 디렉토리 자동 마운트를 등록 할 수 있습니다.

사용자 이름으로 호스트에 연결하고 호스트 호스트에서 볼을 봅니다.

Smbclient -L 호스트 -U 사용자 이름

새 사용자 만들기 :

Smbpasswd -a

기존 사용자 비밀번호 변경 :

Smbpasswd

기존 사용자 삭제 :

Smbpasswd -x

삭제하지 않고 계정 일시 중지 :

Smbpasswd -d

이 컴퓨터를 기존 도메인에 연결 :

Smbpasswd -j   -U

  관련 웹 사이트

  • http://smb-conf.ru/ Samba에 대한 모든 것 러시아어

SAMBA는 SMB 네트워크의 서브 클래스 인 Microsoft ™ 및 LanManager 네트워크와 UNIX 시스템을 통신하기위한 서버 및 클라이언트 소프트웨어 세트입니다.

처음에는 SMB 네트워크가 IBM ™에 의해 개발되었으며, NetBIOS 프로토콜을 기반으로했으며 주로 토큰 링 네트워크 용이었으며 OS / 2 Warp LanServer에 완벽하게 구현되었습니다. 나중에 Windows 95에서이 프로토콜은 NetBEUI (NetBIOS의 다소 단순화 된 버전)로 대체되었습니다.

이전에는 OS / 2 Warp 및 NT 3.5에서 TCP / IP에 대한보다 편리한 구현 - TCP / IP상의 NetBIOS -가 복잡한 이기종 네트워크에 구현되었습니다. 이 접근법의 명백한 이점으로 인해, 오늘날에도 여전히 사용됩니다. Windows의 어딘가에서 TCP / IP를 통해 네트워크 공유 리소스로 작업을 구성하면 실제로 "TCP / IP를 통한 NetBIOS"가 사용됩니다 (예 : TCP / IP 속성의 Win95에서는 NetBIOS 탭에 해당 표시가 있음) .

Samba는 또한 OS / 2 3-4, Windows 9X-ME, NT3.5-4 / 2000 / XP, UNIX 시스템에 포함 된 것과 같은 SMB 구현과 성공적으로 상호 작용할 수있는 "NetBIOS over TCP / IP"프로토콜을 사용합니다 Samba와 아마도 다른 사람들도 좋아할 것입니다. TCP / IP를 사용하지 않으면 Samba가 작동하지 않는다는 점은 분명하지 않습니다 (NetBIOS 및 NetBEUI에서). 이것은 네트워크를 설계 할 때 잊어서는 안됩니다.

따라서 SMB 네트워크에서 작업하려면 다음이 필요합니다.

고객;

서버;

관리 도구.

이 모든 것은 samba-client, samba-client-cups, samba-common, samba, samba-swat 패키지에 있습니다.

SMB를 사용할 때 다음 리소스를 사용할 수 있습니다.

네트워크 드라이브;

드라이브에 직접 경로;

프린터;

도메인 인증 및 관리.

디렉토리 및 파일 개요

모든 Samba 구성 및 권한 파일은 / etc / samba 디렉토리 및 하위 디렉토리에 있습니다. 그들을 더 자세히 고려하십시오.

MACHINE.SID

서버가 시작될 때 자동으로 생성되며 Microsoft ™ 네트워크 도메인에있는 컴퓨터를 식별하기위한 시스템의 시스템 식별자.

코드 페이지 /

주술사

/ etc / hosts와 같지만 NetBIOS IP를 변환하려고합니다. 일반적으로 하나의 항목 만 포함합니다.

127.0.0.1 localhost

다른 서브넷에서 호스트를 가져 오는 것이 좋습니다 (어떤 이유 때문에 브로드 캐스트 요청 또는 WINS를 사용하여 IP-NetBIOS를 안정적으로 변환 할 수없는 경우) 또는 그 반대로 - 자체 도메인의 주요 서버.

비밀

microsoft ™ 네트워크 도메인에서 시스템을 식별하기위한 핵심 파일. 보안 관점에서 / etc / tcb / * / shadow 파일과 동일한 값을 가지므로 액세스 권한은 root.root 0600이어야합니다.

samba 주 구성 파일. 서버 측뿐만 아니라이 시스템의 다른 모든 구성 요소도 필요합니다.

smbpasswd

암호가있는 Samba 서버 사용자의 / etc / passwd 및 / etc / tcb / * / shadow-file과 유사합니다. 보안의 관점에서 볼 때 / etc / tcb / * / shadow와 동일한 값을 가지므로 액세스 권한은 root.root 0600이어야합니다. Samba 사용자와 시스템 사용자의 통신은 공통 UID를 기반으로 이루어집니다. 이 파일은 PDC의 사용자 데이터가 없거나 PDC 자체가없는 경우 Samba에서 사용합니다.

smbusers

sMB 네트워크 및 로컬 사용자 이름 매핑 파일. 이는 관리 및 게스트 로그인을 서버에 구성하는 편리한 방법입니다. Samba 사용자와 시스템 사용자의 대응은 상징적 인 이름을 기준으로 이루어집니다.

/ var / log / samba / *

samba 서버 측 로그 파일. 이 중 log.smbd, log.nmbd, log.winbind는 해당 프로세스의 로그이고 다른 모든 로그는 서버의 개별 클라이언트 호스트와 기본 명명 형식 로그의 상호 작용 로그입니다. . smb.conf에 지정된 제한을 초과하면 로그 회전이 수행되고 * .old 파일이 형성됩니다.

/ var / spool / samba

samba 서버는 동적 스풀링 디렉토리를 인쇄합니다. 무겁지 않은 프린트 서버에서는 일반적으로 비어 있습니다. 클라이언트가 전혀 인쇄되지 않을 때 동시에 여러 파일이 존재한다는 것은 인쇄 서버가 실패했다는 명확한 신호입니다.

/ var / cache / samba / *

다양한 Samba 구성 요소의 작동 중에 형성된 파일 (일반적으로 2 진 데이터베이스). 가장 주목할만한 것 :

browse.dat 및 wins.dat

텍스트 파일, 그들의 이름은 그들 자신을 위해 말한다;

winbindd * .tdb

winbind에 의해 형성된 도메인 사용자 데이터베이스 ( "winbind 사용"참조). 업그레이드가 진행되는 동안 또는 서버를 "이동"하거나 재설치하는 경우 winbind가 이러한 파일을 처음부터 생성하면 시스템 및 도메인의 기호 및 숫자 이름이 변경되어 아카이브에서 복원 된 파일에 대한 액세스 권한이 혼동을 일으킬 수 있습니다. 따라서 /var/cache/samba/winbindd*.tdb 파일을 보관하는 것이 좋습니다.

/ var / lib / samba / *

서버 관리자를위한 서비스 디렉토리.

실행 가능한 Samba 파일 목록은 다음 명령으로 얻을 수 있습니다.

$ rpm -ql`rpm -qa | grep samba` | grep bin /

문서의 관련 섹션을 읽어 각자에게 익숙해 져야합니다.

여기서는 가장 중요하고 자주 사용되는 구성 요소에만 초점을 맞 춥니 다.

1. 서버 구성 요소 :

/ usr / sbin / nmbd

이름 및 주소 변환 서버;

/ usr / sbin / smbd

파일 서버;

/ usr / sbin / winbindd

pDC로 사용자 및 그룹의 서버 가져 오기;

/ usr / sbin / swat

samba 웹 설정 도구

/etc/init.d/smb 및 /etc/init.d/winbind

서비스 초기화 제어 스크립트

/etc/init.d/smb 스크립트에는 restart 및 reload라는 두 가지 다시 시작 모드가 있으며 이는 다음 기능에서 크게 다릅니다 :

다시 시작하다   현재 연결을 재설정하여 smbd 및 nmbd 프로세스를 완전히 다시 시작합니다. 일반적으로 클라이언트 자체는 자동으로 리소스에 다시 연결되지만 파일을 다시 시작할 때 열면 클라이언트 응용 프로그램 (예 : MS Office 및 1C)의 문제가 발생할 수 있습니다.

재 장전하다   smbd 및 nmbd가 연결을 다시 시작하고 삭제하지 않고 구성 파일 만 다시 읽도록합니다. 동시에 이전 규칙에 따라 이전 연결이 계속 존재하며 구성 파일을 기반으로하는 새 연결에 새 규칙이 적용됩니다.

2. 클라이언트 구성 요소 :

/ usr / bin / smbclient

네트워크 자원을보기위한 대화식 응용 프로그램;

/sbin/mount.smb, /sbin/mount.smbfs, / usr / bin / smbumount, / usr / sbin / smbmnt, / usr / bin / smbmount

네트워크 파일 시스템을 마운트 / 마운트 해제하는 수단.

3. 유틸리티 :

/ usr / bin / smbpasswd

사용자 및 도메인 연결 관리

/ usr / bin / wbinfo

winbindd가 가져온 사용자 목록을 표시합니다.

/ usr / bin / testparm

구성 파일 구문 확인;

/ usr / bin / smbstatus

smbd 및 nmbd 프로세스의 상태 표시;

/ usr / bin / nmblookup

wINS 이름 확인 프로그램 (DNS의 nslookup과 유사).

사용자 정의

대부분의 경우 Samba를 구성하는 것은 /etc/samba/smb.conf 기본 파일을 편집하고 smbpasswd를 사용하여 사용자를 관리하는 것입니다. 비정상적인 경우 SWAT 웹 인터페이스 (Samba 웹 관리 도구)를 사용해보십시오. 이렇게하려면 samba-swat 패키지를 설치하고 http : // localhost : 901 / URL을 브라우저에 엽니 다.

일반 서버

이것으로 우리는 네트워크에 파일 리소스를 제공하는 컴퓨터를 의미합니다. 실제로이 파일은 자체 사용자 권한 데이터베이스가있는 가장 단순한 독립적 인 파일 서버입니다.

이러한 서버를 만들려면 표준 smb.conf 구성 파일 (필요한 작업 그룹 이름과 리소스 이름 대체)을 조정하고 아래에 설명 된대로 사용자 계정을 만들고, 기사 마지막 부분에 요약 된 보안 권장 사항도 고려하면됩니다 .

다음은 "정규 서버"를 생성하는 주요 smb.conf 항목입니다.

#이 절에서는 Samba 서버의 일반 설정을 다음에서 정의합니다.

# 모든 자원에 대해 전반적으로.

# 사무실 작업 그룹 이름

작업 그룹 = 사무실

# 사용자 수준에서 액세스 권한 결정 수준

#이 작업 그룹의 다른 컴퓨터 중이 서버의 우선 순위 :

# 누가 책임 져야 할 주 기계가 될 것인가를 결정한다.

# 매핑 네트워크 리소스. 비교를 위해 Win9X os level = 34,

# NT4 OS 레벨에서 # 64.

# 분명히 도메인이 없으므로 마스터가 없습니다.

도메인 마스터 = 아니오

# 근처의 기계에 대한 암호 서버가되지 마십시오. 그래서

# 이웃 한 NT 서버의 분노한 관리자가

# 자신의 서버에서 허용되지 않는 불만 사항 - put

# domain logons = no ;-)

도메인 로그온 = 아니오

# 보통 가장 간단한 네트워크에서는 WINS가 필요하지 않습니다.

승 지원 = 아니오

이제 우리는 네트워크에 어떤 디렉토리를 제공할지 결정해야합니다. 각 리소스마다 별도의 섹션이 있습니다.

일반 자원에 대한 가장 간단한 옵션은 public이라는 일반 디렉토리입니다.

# 네트워크에 표시된 리소스 이름


comment = 공공 물건

# 자원 디렉토리 경로

경로 = / home / samba / public

# 권한이 부여 된 모든 사용자에게 읽기 액세스 권한 표시 (

# 정의 된 경우 게스트 포함)

# 모든 사용자에게 쓰기 금지

# 시스템의 모든 사용자에게 쓸 수있는 권한

# 그룹 스탭

리스트 쓰기 = @staff

마찬가지로 액세스 권한이 다른 여러 네트워크 서버 리소스를 만들 수 있습니다. 지시문 및 구문에 대한 자세한 내용은 참조 설명서를 참조하십시오.

Samba는 chroot에서 실행되지 않기 때문에 자원 내부에서 심볼릭 링크를 로컬 및 네트워크 (NFS, SMB, Coda 등) 파일 객체에 사용할 수 있으므로 시스템 관리 측면에서 매우 편리합니다.

특수 리소스 - 예 : 사용자의 홈 디렉토리 :

# 자동으로 이름으로 대체 될 자원의 이름

# 클라이언트가 연결된 사용자의 홈 디렉토리

# 그리고 그의 홈 디렉토리의 이름이 네트워크 상에 정확히 표시 될 것이다.

#를 자원의 이름으로 사용하십시오.

#이 리소스에 액세스하려면 클라이언트가 다음을 제공해야합니다.

# 서버 이름 및 암호, 다른 모든 사용자

#이 리소스는 전혀 액세스 할 수 없습니다.

# 주석은 온라인에서 자원 주석으로 간주됩니다.

comment = 홈 디렉토리

# 표시 안함 -이 리소스는 네트워크에서만 볼 수 있습니다.

# 소유하고있는 사용자에게 #. 이걸로

# 자원은 이름을 지정하여 직접 액세스 할 수 있지만

# 네트워크를 탐색하면 소유자 만 볼 수 있습니다.

# 쓰기 권한.

쓰기 가능 = 예

프린터 :

# 네트워크에서 볼 수있는 리소스의 이름입니다. 그 외에 네트워크는

# 로컬 프린터는에서와 같은 이름으로도 볼 수 있습니다.

# lpq 명령으로 시스템을.

# 주석은 무시됩니다.

comment = 모든 프린터

# 프린터 스풀이 위치한 디렉토리 경로

# Samba를 통해 네트워크에 제공됨

경로 = / var / spool / samba

# 자원을 탐색 할 때 보이지 않음, 시스템 1로 교체 됨

# 자원.

# 게스트 호출 용 인쇄 권한.

Samba가 스풀 자체에 쓰기 때문에 # 쓰기 금지.

# 사용자.

# 이것은 파일 자원이 아닌 프린터임을 표시합니다.

# 인쇄 작업 파일을 만들기위한 마스크

생성 모드 = 0700

# Samba가 문서를 인쇄하기 위해 실행하는 명령.

# 유닉스 이외의 클라이언트에 사용되는 클라이언트 드라이버 사용

# 고객.

인쇄 명령 = lpr-cups -P % p -o raw % s -r

# 서버 측에서 CUPS 드라이버 사용 (측면

# clients는 일반 PostScript 드라이버를 사용합니다).

; 인쇄 명령 = lpr-cups -P % p % s

# 다음 명령은 printing = cups,

필요한 경우 변경할 수 있습니다.

lpq 명령 = lpq -P % p

lprm 명령 = 취소 % p- % j

기존 NT 도메인의 일부인 서버

새로 생성 된 Samba 컴퓨터를 COMP라는 이름으로 기존 DOM 도메인에 연결합니다.이 도메인의 관리자는 Administrator 사용자이고이 도메인의 PDC는 다른 컴퓨터에 구현됩니다.

먼저 연결하려는 컴퓨터와 이름이 같은 컴퓨터가 아직 도메인에 없는지 확인해야합니다. 그렇지 않으면이 컴퓨터를 PDC 자체를 통해 도메인에서 제거하거나 다른 이름을 선택해야합니다.

/etc/samba/smb.conf의 COMP 시스템에서 다음과 같이 변경해야합니다.

작업 그룹 = DOM

netbios name = COMP

보안 = 도메인

암호 서버 = *

신뢰할 수있는 도메인 허용 = 예

nt acl 지원 = 예

그런 다음, Samba 서버가 실행 중이면 서비스 smb stop 명령을 사용하여 Samba 서버를 중지해야합니다.

이제 다음 명령을 사용하여 PDC에 도메인의 새 구성원을 권한을 요청하는 요청을 보내야합니다.

$ smbpasswd -j DOM -r DOMPDC -U 관리자

이 사용자가 도메인에 등록 된 것과 동일한 관리자 사용자의 암호를 입력하라는 요청에 대한 응답으로

메시지를받은 경우 :

DOM에 가입되었습니다.

모든 것이 작동합니다. 그렇지 않으면 smb.conf에서 다음과 같이 작성해야합니다.

로그 수준 = 4

마지막 명령을 반복하고 세부 로그로 잘못된 점을 찾으십시오. 이 로그 수준에서 log.smbd에는 PDC에 대한 자세한 교환 보고서가 들어 있습니다. 이름 철자에 실수가 있었거나 실수로 암호를 입력했을 수 있습니다. PDC 측의 모든 오작동이 가능합니다.

이 시점에서 Samba가 "user123"사용자에 의해 "passw"라는 암호로 액세스되면 다음과 같이됩니다.

먼저 암호와 이름이 일치하면 / etc / samba / smbpasswd에서 암호를 검색합니다. 그렇지 않으면 인증을 거절하거나 게스트로 간주합니다 (설정에 따라 다름).

언급 된 파일에 그러한 이름이 없으면 / etc / passwd (/ etc / samba / smbusers 파일을 통해 일치를 확인) 및

그런 사용자가있는 경우 PDC는 수신 된 암호가 "passw"인지 묻습니다.

그렇다면 허용하고, 그렇지 않으면 설정에 따라 게스트 항목에 대한 권한 부여 또는 전환을 거부합니다.

일반적으로 일반 워크 스테이션의 도메인에서 작업 할 때 / etc / samba / smbpasswd는 완전히 비어 있거나 도메인과 관련이없는 관리 계정 만 포함해야합니다.

이 작업 논리는 winbind를 사용하지 않는 경우에만 적용됩니다. 도메인 사용자가 첫 번째 성공적인 액세스에서 / etc / passwd에 자동으로 끝나기 위해서는 (PDC가 암호의 정확성을 확인했기 때문에) /etc/samba/smb.conf에 한 줄을 써야합니다

사용자 스크립트 추가 = / usr / sbin / useradd -d / home / domain / % u -g 600 -m \\

K / etc / skel_domain -s / bin / false % u

따라서 그룹 600뿐 아니라 / home / domain 및 / etc / skel_domain 디렉토리가 이미 존재해야합니다. useradd의 모든 특정 이름과 옵션은 특정 응용 프로그램에 따라 변경 될 수 있습니다.

사용자가이 컴퓨터에 아직 등록되어 있지 않은 경우 활성화되는 지시문 추가 사용자 스크립트에 의해 / usr / sbin / useradd뿐만 아니라 다른 프로그램도 호출 할 수 있습니다. 판타지가 생기면이 지침의 도움을 받아 매우 흥미로운 것을 할 수 있습니다.

보안을 잊지 말라 - add user 스크립트를 사용하여 시작된 프로그램은 루트 사용자 시스템 내의 전능력에서 실행되며, 호출에 대한 매개 변수는 잠재적으로 위험한 사용자에 의해 부분적으로 결정됩니다!

이제 service smb start 명령을 사용하여 Samba 서버를 활성화하고 Windows 네트워크 도메인에서 일반적인 도메인 구성원으로 작업 할 수 있습니다.

PDC 도메인으로서의 서버

주 도메인 컨트롤러 (PDC)를 만들려면 smb.conf에서 다음 항목을 만들거나 변경해야합니다

# 서버 이름; 이 매개 변수가 정의되지 않은 경우,

# 호스트 이름에 해당하는 값을 취합니다.

netbios name = COOLSERVER

# 도메인 이름

workgroup = COOLDOMAIN

# 서버 권한 부여 시스템의 모드.

# 암호화 된 패스워드 사용 권한

암호 암호화 = 예

# 로컬 패스워드 파일의 경로

smb passwd 파일 = / etc / samba / smbpasswd

# 도메인 마스터 브라우저가 되십시오.

로컬 마스터 = 예

# PDC가 되라.

도메인 마스터 = 예

# 즉시 시작시 도메인 마스터 브라우저가 되십시오.

선호하는 마스터 = 예

# 도메인 암호 서버가됩니다.

도메인 로그온 = 예

# 도메인 사용자 프로필의 위치

로그온 경로 = \\\\ % L \\ 프로필 \\ % U

# 관리 그룹 도메인, 목록에 있음

# 사용자 "administrator"는

#이 사용자는 관리 권한을받지 못합니다.

# Windows 클라이언트 컴퓨터에 대한 권한.

도메인 관리자 그룹 = 루트 @ 휠 관리자

# WINS 서버가됩니다. WINS 서버는 10 개 이상의 온라인 상태 일 때 의미가 있습니다.

# SMB 기계. 복잡한 서버의 존재

# 네트워킹은 브로드 캐스트 트래픽을 크게 줄입니다.

승 지원 = 예

# NetBIOS 이름을 확인하는 절차는 다음 항목과 유사합니다.

# /etc/host.conf - DNS 이름 확인. 승률

# 네트워크 상에 wins-servers가있는 경우에만 의미가 있습니다.

# 그렇지 않으면 작업 속도가 느려집니다.

이름 해결 순서 = 승리 lmhosts bcast

또한 도메인에 대한 리소스를 만들어야합니다.

netlogon 리소스는 PDC와 도메인 전체의 운영에 필요합니다. 그는 단지 존재해야합니다.

comment = 네트워크 로그온 서비스

경로 = / var / lib / samba / netlogon

손님 ok = 예

쓰기 가능 = 아니오

쓰기 목록 = 관리자, 관리자

이 자원은 도메인 사용자 프로파일을 작성하고 저장하는 데 필요합니다.

경로 = / var / lib / samba / profiles

browseable = 아니오

읽기 전용 = 아니오

마스크 생성 = 0600

디렉토리 마스크 = 0700

/ var / lib / samba / profiles에 도메인 사용자를 만들면 사용자가 생성되어 그에게 속한 사용자 (0700 권한 있음)와 동일한 이름으로 디렉토리가 자동으로 만들어집니다. 이 디렉토리는 사용자의 개인 설정을 저장합니다.

클라이언트 시스템을 도메인에 사용하려면 다음 단계를 수행해야합니다.

우선, 도메인에 연결된 시스템의 NetBIOS 이름에 해당하는 이름으로 로컬 시스템 사용자를 작성해야합니다. 끝에 "$"기호가 추가됩니다. machine_name이라는 시스템을 추가하려면 root로 다음 명령을 실행해야합니다.

# / usr / sbin / useradd -g 시스템 -d / dev / null -c "시스템 별명"-s

/ bin / false machine_name $

# passwd -l machine_name $

이제 사용자가 생성되었습니다 (이름 끝에 "$"는 사용자 이름이 아닌 컴퓨터의 NetBIOS 이름임을 의미합니다). root로 다음 명령을 실행하여 도메인에 추가 할 수 있습니다. smbpasswd -a -m machine_name.

이제 컴퓨터가 도메인에 연결됩니다.

smb.conf에 다음 항목을 포함 시켜서 컴퓨터 계정 생성 작업을 Samba로 옮길 수 있습니다.

사용자 스크립트 추가 = / usr / sbin / useradd -d / dev / null -g machines -s

/ bin / false -M % u

이제 Samba는 클라이언트 컴퓨터에서 도메인 구성원에 대한 요청을 수락하고 NT Server와 동일한 방식으로 자동으로 등록합니다.

이 시점부터 Samba 서버를 기반으로하는 도메인과 PDC가 존재하기 시작합니다. 사용자는 설정이 저장되어있는 도메인 머신의 사용자 이름과 비밀번호로 로그인 할 수있을뿐 아니라 네트워크 관리자의 도움없이 사용자 비밀번호를 독립적으로 변경할 수 있습니다.

사용자 계정

모든 계정은 / etc / samba / smbpasswd 파일에 저장됩니다.

Samba에서 사용하는 사용자 계정은 다음 두 가지 범주로 분류됩니다.

도메인 내의 컴퓨터 기록;

이 서버에 등록 된 사용자 레코드

/ etc / samba / smbpasswd에서 계정을 만들고 사용하려면 먼저 / etc / passwd에 해당 항목을 만들어야합니다. 일반적인 규칙은 / etc / samba / smbpasswd의 각 사용자에 대해 / etc / passwd에 사용자가 있어야한다는 것입니다. 그 반대는 사실이 아닙니다.

계정 관리의 경우 smbpasswd 유틸리티가 사용됩니다. 해당 기능의 전체 목록은 해당 man 페이지에서 찾을 수 있지만 가장 자주 사용되는 방법을 살펴 보겠습니다.

새 사용자 만들기 :

# smbpasswd -a

기존 사용자 비밀번호 변경 :

# smbpasswd

기존 사용자 삭제 :

# smbpasswd -x

삭제하지 않고 계정 일시 중지 :

# smbpasswd -d

이 컴퓨터를 기존 도메인에 연결 :

# smbpasswd -j   -U

winbind 사용

winbind 서비스는 Samba를 Windows 도메인에보다 완벽하게 통합 할 수 있도록 설계된 새로운 도구입니다. Samba 2.2.0부터 시작되었습니다. 이 서비스는 /etc/samba/smb.conf에서 구성을 읽고 PDC 도메인과 동적으로 상호 작용하여 사용자 및 도메인 그룹과 Samba 시스템 목록을 자동으로 동기화합니다. 따라서 winbind는 Samba 워크 스테이션에서 도메인 사용자 기반의 관련성을 자동으로 유지 관리하기위한 매우 편리한 도구입니다.

이 서비스의 작동은 / etc에있는 권한 파일의 내용을 변경하지 않고 발생하며 시스템이 다시 시작되면 winbindd를 시작한 후에 만 ​​도메인 사용자가 시스템에 표시됩니다. 작동 중에 winbindd를 중지하면 다시 부팅 할 때까지 도메인 사용자 및 그룹이 시스템에서 사라지지 않지만 이름 및 암호 목록의 동적 업데이트는 발생하지 않습니다.

컴퓨터 (또는 winbindd 서비스 만)를 다시 시작할 때 내부 UID 및 도메인 SID가 위반되지 않도록하기 위해 목록의 현재 상태를 /var/cache/samba/winbindd*.tdb 파일에 저장합니다.

winbindd가 정상적으로 작동하려면 /etc/samba/smb.conf 파일에서 다음 지시문을 선언해야합니다.

# 될 로컬 사용자 번호의 범위

도메인 사용자를 동적으로 생성하는 데 사용됩니다.

winbind uid = 10000-20000

# 될 로컬 사용자 그룹의 번호 범위

# 사용자 그룹을 동적으로 생성하는 데 사용됩니다.

# 도메인.

winbind gid = 10000-20000

# 도메인 이름을 구성하는 데 사용되는 구분 기호

# 사용자 및 도메인 이름과 이름 사이에 위치

# 명의 사용자.

winbind separator = +

# PDC에 대한 winbind 요청 간의 간격 (초)

사용자 및 그룹 목록을 동기화하려면 #을 누르십시오.

winbind 캐시 시간 = 10

# 도메인 사용자의 홈 디렉토리 이름을위한 템플리트,

# 각 사용자에게 자동으로 할당됩니다. 디렉토리 자체,

# 그러나 동적으로 생성되지 않습니다. 변수 % D 대신에 대체 됨

#은 도메인 이름이고 % U 대신에 사용자 이름이 사용됩니다.

template homedir = / home / % D / % U

# 기본 명령 인터프리터 for

# 사용자가 winbindd를 통해 권한을 부여 받았습니다.

템플릿 셸 = / bin / bash

winbind 지시문을 입력하여 passwd 및 group 섹션에 /etc/nsswich.conf 파일을 변경해야합니다 (예 : 다음과 같이).

passwd : 파일 winbind

그룹 : 파일 winbind

이 시점부터 /etc/samba/smb.conf에있는 도메인 사용자 이름을 파일 및 디렉토리에 대한 액세스 제어의 목적으로 다른 호스트에서이 호스트의 네트워크 자원에 연결할 수 있습니다.

CUPS 인쇄 서버

기본적으로 Samba는 CUPS를 인쇄 스풀러로 사용하도록 구성됩니다. 그 의미는 CUPS가 이미 구성되어 실행 중이라는 것입니다. 다음 지시문은 /etc/samba/smb.conf에 있습니다.

printcap 이름 = lpstat

프린터로드 = 예

인쇄 = 컵

또한 리소스를 만들어야합니다. 그것의 생성과 지시어의 할당은 "특별한 자원"절의 "정규 서버"절에서 자세히 설명합니다.

클라이언트 및 서버 현지화 기능

모든 Samba 구성 요소가 러시아어 파일 객체 및 자원 이름과 올바르게 작동하려면 /etc/samba/smb.conf에 다음 지시문을 추가해야합니다.

클라이언트 코드 페이지 =

$ LANG = ru_RU.KOI8-R

클라이언트 코드 페이지 = 866

characte set = koi8-r

$ LANG = ru_RU.CP1251

클라이언트 코드 페이지 = 866

characte set = 1251

$ LANG = be_BY.CP1251

클라이언트 코드 페이지 = 866

문자 집합 = 1251

$ LANG = uk_UA.KOI8-U

클라이언트 코드 페이지 = 1125

문자 집합 = koi8-u

$ LANG = uk_UA.CP1251

클라이언트 코드 페이지 = 1125

문자 집합 = 1251U

$ LANG = ru_UA.CP1251

클라이언트 코드 페이지 = 1125

문자 집합 = 1251U

마지막 두 경우에서 1251U는 로컬로 "1251 - 원격으로 1125"조합을위한 Samba 내부의 특수 지정입니다. Samba에서 원격 인코딩의 정의는 로컬 이름으로 수행됩니다.

또한 Samba를 통한 상호 작용이 가정 된 Windows 컴퓨터에서 해당 시스템 현지화 설정을 지정해야합니다. 그렇지 않으면 키릴 문자 대신 "?"기호 또는 초대받지 않은 문자가 표시됩니다.

지정된 /etc/samba/smb.conf 지시문은 모든 Samba 구성 요소 (서버와 클라이언트 모두)의 작동에 영향을줍니다. 현재, 파일, 디렉토리 및 자원에 대한 키릴 문자의 철자가 지원됩니다.

일부 보안 문제

이 절은 주로 Samba 서버 측을 참조합니다.

우선, 연결 요청을 기다리는 동안 Samba가 수신해야하는 인터페이스를 결정해야합니다 (기본적으로 시스템에서 사용할 수있는 모든 것을 수신합니다).

예를 들어, 로컬 호스트와 첫 번째 네트워크 카드를 듣는 것을 제한하려면 /etc/samba/smb.conf에 다음을 써야합니다.

인터페이스 = 127.0.0.1 eth0

바인드 인터페이스 만 = 예

또한이 서버에 액세스 할 수있는 주소 범위를 제한 할 수 있습니다. 이러한 지시문의 효과는 xinetd 및 ssh에 대한 /etc/hosts.allow 및 /etc/hosts.deny의 영향과 유사합니다. 호스트의 IP 주소가 허용 규칙에 속하지 않으면 연결이 전혀 설정되지 않습니다. 하나의 호스트를 제외하고 두 서브넷과 로컬 시스템에 대한 액세스를 제한하려면 다음을 작성할 수 있습니다.

호스트는 = 192.168.1을 허용합니다. 192.168.2. 127.

호스트 거부 = 192.168.1.12

위 지시문은 모두 권한 부여 전에 인터페이스 및 IP 주소 수준에서 연결을 제한합니다. 다음 지시문은 사용자 인증 모드를 제어합니다.

민감한 데이터를 일반 텍스트로 네트워크를 통해 전송할 때 가로 챌 수 없도록하려면 암호를 암호화하는 것이 일반적입니다. Samba와 Win98 버전부터 시작하는 모든 Windows 버전은 기본적으로 암호 암호화를 사용합니다. 이 지시문에는 Samba에 포함되어 있습니다.

암호 암호화 = 예

사용자 이름 덮어 쓰기 파일은 사용자 계정을 관리하기위한 매우 강력한 도구이지만 부당하게 사용하면이 도구는 위험하므로 기본적으로 사용하지 않도록 설정되어 있습니다. 사용하기 전에 / etc / samba / smbusers 파일의 내용을주의 깊게 읽으십시오.

; username map = / etc / samba / smbusers

일반 고객

Samba 클라이언트 기능은 네트워크 환경 뷰어와 / usr / bin / smbclient 및 / usr / bin / smbmount 파일 시스템의 마운트로 각각 나타납니다. / usr / bin / smbount에 대한 기호 링크 인 mount.smb 및 mount.smbfs도 사용할 수 있습니다.

시작될 때이 프로그램은 /etc/samba/smb.conf 파일에서 현재 구성을 읽고 시스템이 Windows 도메인에 연결된 경우 도메인 기능을 사용합니다.

smbfs를 파일 시스템 유형으로 지정하여 시스템 명령 마운트로 파일 시스템을 마운트하고 / etc / fstab에서이 항목을 사용하여 시스템 부트시 자동으로 마운트 할 수도 있습니다.

예를 들어 SMALLLSERVER 시스템에서 / mnt / disk 디렉토리의 공용 자원을 cooluser로 마운트하려면 다음 명령을 실행하십시오. smbmount // smallserver / public / mnt / disk -o username = cooluser

컴퓨터 이름, 자원 및 사용자를 작성하는 것은 중요하지 않습니다. 이 컴퓨터의 Samba 리소스 목록과 작업 그룹 또는 도메인 컴퓨터 목록을 얻으려면 다음 명령을 실행하십시오. smbclient -L localhost -N

자세한 내용은 smbclient 및 smbmount의 man 페이지에서 찾을 수 있습니다.

이 배포판에는 smbclient 및 smbmount 유틸리티 맨 위에서 실행되는 두 개의 그래픽 클라이언트 응용 프로그램 인 LinNeighborhood와 gnomba가 함께 제공됩니다.

http://www.public.iastate.edu/~chadspen/homepage.html에서 매우 고품질의 그래픽 클라이언트 응용 프로그램 xSMBrowser를 얻을 수 있습니다.

기존 NT 도메인의 일부인 클라이언트

연결은 "서버를 기존 NT 도메인의 일부로 사용"에서 설명한 것과 같습니다. 또한 모든 작업은 이전 단락에서 설명한 것과 완전히 동일합니다.

Samba 3.0 사용의 특징

Samba 3.0은 이전 버전과 눈에 띄는 차이점이 있습니다. 이 중 가장 눈에 띄는 것은 버전 2.2와 비교하여 향상된 유니 코드 지원이며 훨씬 많은 수의 코드 페이지를 지원하며 smbpasswd를 대체 할 수있는 새로운 넷 관리 유틸리티입니다.

패키지에는 samba3-client, samba3-client-cups, samba3-common, samba3, samba3-swat 패키지가 포함됩니다.

코드 페이지 설정하기

다음의 새로운 smb.conf 매개 변수가 인코딩을 설정하는 데 사용됩니다.

유닉스 charset =

dos charset =

표시 charset =

어디서?   - iconv가 지원하는 모든 인코딩. 가능한 인코딩 목록은 iconv -list 명령을 실행하여 찾을 수 있습니다.

클라이언트 코드 페이지 및 문자 세트 매개 변수는 더 이상 지원되지 않습니다. unix charset 매개 변수는 smb.conf에 매개 변수가 지정되는 디스크의 파일을 저장할 인코딩을 지정합니다. 마지막으로 UTF-8에 파일 이름을 저장할 수 있습니다!

dos charset 매개 변수는 Samba가 유니 코드를 지원하지 않는 클라이언트와 통신 할 인코딩을 지정합니다. 95에서 시작하여 모든 버전의 Windows는 유니 코드를 인식하지만 이전 버전에서는 클라이언트 코드 페이지 = 866에 해당하는 dos charset = cp866을 설정하는 것이 좋습니다.

display charset 매개 변수는 프로그램 정보를 출력 할 인코딩을 지정합니다 (예 : smbclient, net, wbinfo 등).

유틸리티 네트

net 유틸리티는 smbpasswd를 대체하도록 설계되었으며 네트워크 및 네트워크 관리에 대한 정보를 얻을 수있는 훨씬 더 많은 기회를 제공합니다. 유틸리티의 명령 형식은 동일한 이름의 Windows NT / 2000 명령 형식과 매우 유사합니다.

net 명령의 주요 용도 :

사용자 생성 및 삭제 : net user

도메인의 컴퓨터 포함 : net ads join - Active Directory; net rpc join - NT 도메인;

도메인, 머신, 열린 파일, 세션에 대한 정보 얻기 : net info, net ads status, net rpc status;

원격 컴퓨터에서 공유 리소스 생성 및 삭제 : net share;

windows 서버와의 시간 동기화 : net time

Microsoft Management Console에서 Samba 시스템 제어

버전 2.2부터 Samba는 MMC (Microsoft Management Console)에서 원격으로 관리 할 수 ​​있습니다. 이 기능은 Samba가 NT 도메인 또는 AD의 구성원 일 때 유용합니다. 도메인 관리자는 Samba를 실행하는 UNIX 시스템에서 네트워크 자원을 작성, 삭제 및 수정할 수 있습니다.

원격 관리를 위해 Samba를 구성하는 방법은 무엇입니까? 자원을 관리하려면 /etc/samba/smb.conf 매개 변수를 사용하십시오.

add share 명령 =

매개 변수는 MMC에서 새 리소스를 만들려고 할 때 호출 할 스크립트를 지정합니다. 이 스크립트에는 네 개의 매개 변수가 전달됩니다.

구성 파일의 이름 (예 : /etc/samba/smb.conf).

생성되는 자원의 이름.

디스크의 기존 디렉토리 경로.



관련 기사 :