삼바 로컬 네트워크 설정. Samba: 설치, 구성, 최적화

또는 단순히 관심과 호기심으로 인해 사용자가 다른 적합한 소프트웨어를 검색하도록 할 수도 있습니다. 이 소프트웨어에는 Samba가 포함되어 있습니다. 컴퓨터에서 데이터베이스나 파일 저장소를 만들려면 Ubuntu Server에서 Samba를 설정하는 방법을 알아야 합니다.

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

페이지가 춤을 배우는 것에 관한 페이지라고 생각했다면 약간 오산입니다. 삼바는 무료 소프트웨어입니다. 프린터 및 파일에 대한 액세스를 구현합니다. 그리고 그것은 다양한 운영 체제에서 수행합니다.

무엇을 위한 것입니까?

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

  • Unix 계열 시스템을 서로 연결할 수 있습니다. 즉, Linux 및 Windows의 모든 시스템입니다. 그리고 Windows뿐만 아니라. 이 프로그램은 매우 "잡식성"입니다: MacOS, Solaris 및 다양한 인기도의 기타 운영 체제.
  • Samba를 사용하면 Windows 사용자가 Ubuntu 컴퓨터를 서버로 사용할 수 있습니다. 즉, 접근이 설정된 파일과 연결된 일부 장치를 사용합니다.
  • NT 도메인의 도메인 구조를 지원하고, NT 사용자를 관리하고, 주 컨트롤러인 주체의 기능을 지원합니다.

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

삼바는 1992년부터 존재해 왔습니다. 그리고 가장 중요한 것은 새 버전이 여전히 출시되고 있다는 것입니다. 후자는 2017년 3월 7일에 출시되었습니다. 매년 개발자는 다양한 운영 체제 버전과의 호환성을 설정하려고 노력하고 있지만 주요 기능은 Linux 시스템과 Microsoft의 연결로 남아 있습니다. Windows Server와 비교하여 Samba는 일부 프로토콜 및 호스트 인프라에 대한 지원 부족으로 인해 열등할 수 있습니다. 그러나 많은 사람들은 Samba의 속도가 훨씬 더 높다고 주장합니다.

삼바 구성

직접 설정하기 전에 프로그램을 설치해야 합니다. Samba 설치는 터미널에 다음 명령을 입력하여 다른 프로그램과 동일한 방식으로 수행됩니다.

sudo apt-get 삼바 설치

즉시 참고: 프로그램 설치를 포함하여 설명할 모든 작업은 간단한 Ubuntu와 Ubuntu Server 모두에서 수행할 수 있습니다. 후자에서만 독점적으로 텍스트 기반 인터페이스를 사용할 수 있습니다.

설치 후 구성 파일을 백업해야 합니다.

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

$ sudo vi /etc/samba/smb.conf

또는 기존 것을 수정합니다. 이 파일에는 Samba 서버의 기본 설정이 포함되어 있습니다. 다음에 무엇을 할 것인지 알아내려면 다른 행이 의미하는 바를 이해해야 합니다.

  • 작업 그룹은 작업 그룹입니다. 이 매개변수의 값은 Windows에서 기본 작업 그룹 도메인이 다음과 같기 때문에 종종 Workgroup이 됩니다.
  • Netbios 이름은 Windows 사용자에게 표시되는 Ubuntu 컴퓨터의 이름입니다. 여기에서 재량에 따라 값을 입력할 수 있습니다.
  • 보안 - 사용자 인증 모드. 기본값은 사용자, 즉 사용자 수준 인증입니다. 지금은 그대로 두는 것이 좋습니다.
  • Os 수준 - Samba가 로컬 또는 인터넷 네트워크의 다른 클라이언트(PC)보다 우선 순위를 나타냅니다.
  • 이름 확인 순서 - NetBIOS 이름으로 IP 주소를 확인하는 순서입니다.
  • 읽기 전용 - 디렉토리를 읽거나 쓸 수 있는 권한입니다. 값은 "yes"(읽기 전용), "no"(쓰기)가 될 수 있습니다.

사용자 만들기

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

OS 자체에 사용자 추가:

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

비밀번호 생성:

Samba 데이터베이스에 사용자를 추가해 보겠습니다.

$ smbpasswd -a 사용자 이름

$ smbpasswd 명령으로 다양한 다른 작업을 수행할 수 있습니다.

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

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

$ systemctl smb 재시작

기본적인 삼바 설정입니다. 이제 프로그램을 실제로 적용해 볼 수 있습니다.

폴더 액세스

먼저 Samba에 로그인하지 않은 사용자를 포함하여 모든 사용자가 액세스할 수 있는 폴더를 생성해 보겠습니다.

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

$ sudo mkdir -p / 삼바 / 액세스

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

$ cd / 삼바
$ sudo chmod -R 0755 액세스
$ sudo chown -R 없음: 그룹 액세스 없음 /

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

이제 서버 구성이 있는 파일에서 두 개의 섹션을 만들어야 합니다. 첫 번째 섹션에는 기본 정보가 포함되어 있습니다.


작업 그룹 = 작업 그룹
서버 문자열 = 삼바 서버% v
netbios 이름 = srvr1
보안 = 사용자
게스트에 매핑 = 나쁜 사용자
이름 확인 순서 = bcast 호스트
DNS 프록시 = 아니요
#==============
두 번째는 액세스 폴더에 대한 정보를 포함합니다.

경로 = / 삼바 / 액세스
탐색 가능 = 예
쓰기 가능 = 예
손님 확인 = 예
읽기 전용 = 아니요

섹션은 동일한 순서로 차례로 이어집니다.

서버 변경 사항 업데이트:

$ sudo 서비스 smbd 다시 시작

Windows에서 컴퓨터로 작업

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

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

닫힌 폴더

구성된 Samba 서버를 사용하여 액세스가 제한된 네트워크 폴더를 생성할 수도 있습니다. 또한 이러한 폴더를 먼저 생성한 다음 Samba 구성에 추가해야 합니다.

"닫힘"이라는 폴더를 만듭니다.

$ sudo mkdir -p / samba / allaccess / 닫힘

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

$ sudo addgroup 보안 그룹

우리는 다른 그룹에 대한 특별 권리를 만듭니다.

$ cd / 삼바 / 액세스
$ sudo chown -R 리차드: securegroup 폐쇄
$ sudo chmod -R 0770 닫힘 /

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


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

서버를 다시 시작합니다.

상상할 수 있듯이 Access 내부에 Closed 폴더를 만들었습니다. 따라서 액세스는 로컬 네트워크의 모든 사용자가 열 수 있지만 닫힘을 보고 편집하려면 특별한 권한이 있어야 합니다.

모든 것이 배치 파일에 지정된 대로 정확하게 작동하는지 확인하기 위해 수행할 수 있는 몇 가지 간단한 단계가 있습니다.

사용자를 만들고 폐쇄 그룹에 추가합니다.

$ sudo usermod -a -G securegroup winston

사용자 이름은 담배 한 갑(또는 영국 총리)과 같습니다.

Winston의 비밀번호를 만듭니다.

$ sudo smbpasswd -a 윈스턴

그런 다음 새로 생성된 계정으로 다시 로그인하기 위해 새 비밀번호를 입력하라는 메시지가 표시됩니다. 이 후에 재부팅하는 것을 잊지 마십시오. 이제 Ubuntu에서 Samba를 통해 서버를 설정하는 방법을 알게 되었습니다.

물론 Samba의 기능은 단순한 폴더 생성에 국한되지 않습니다. 그러나 이 간단한 지침과 예제는 이 프로그램으로 무엇을 할 수 있는지 보여줍니다. 이것은 서버 PC가 무엇이며 어떻게 제어하는지 이해하는 첫 번째 단계가 될 것입니다.

이 기사에서는 Samba를 사용하여 Windows, Linux, Android의 다양한 운영 체제를 실행하는 장치를 위한 무선 근거리 통신망을 만드는 데 중점을 둘 것입니다.

요즘은 거의 모든 아파트에 Wi-Fi 네트워크가 있고 다양한 기기(노트북, 스마트폰, 태블릿, Android TV Box)도 있습니다. 이와 관련하여 조만간 모든 장치에서 모든 종류의 파일에 자유롭게 액세스하기 위해 사용 가능한 모든 장치를 하나의 홈 네트워크로 결합해야 할 필요가 있습니다.

사실 이것이 이 작품에서 논의될 내용이다. 시작하겠습니다.

네트워크 구축을 위해 Samba라는 기성 솔루션을 사용합니다. 이것은 자체 SMB/CIFS 프로토콜을 사용하여 다양한 운영 체제의 네트워크 드라이브, 프린터 및 기타 장비에 연결할 수 있는 무료 오픈 소스 소프트웨어 패키지입니다.

소프트웨어는 서버와 클라이언트의 두 부분으로 구성됩니다. 기본적으로 마스터가 될 장치 중 하나와 다른 모든 Samba 클라이언트에 Samba 서버를 설치합니다.

Samba 서버 측 설치

제 경우에는 서버 장치로 Windows 7과 Ubuntu Mate 16.04가 병렬로 설치된 노트북을 선택했습니다. 아래에서 두 운영 체제에 대해 Samba를 설치하고 구성하는 과정을 자세히 살펴보겠습니다.

Linux에서 삼바 서버 설정

Samba는 Ubuntu에 기본적으로 설치되어 있지 않으므로 계속 진행하기 전에 이 작업을 수행해야 합니다. 또는 나중에 터미널을 통해 Samba 구성 파일을 편집하지 않기 위해 Samba 서버 패키지 외에 그래픽 인터페이스가 포함된 Gadmin-Samba 프로그램을 설치합니다.

설치하려면 터미널을 입력합니다.

Sudo apt install gadmin-samba

설치가 완료되면 Gadmin Samba를 실행합니다. 응용 프로그램 인터페이스는 러시아화되지 않았지만 설정을 이해하는 것은 매우 쉽습니다.


프로그램에는 많은 설정이 있지만 대체로 우리의 경우 "사용자" 탭에 관심이 있습니다. 이동하여 새 사용자를 추가하십시오.


"새 사용자" 버튼을 누르고 업데이트된 창에 사용자 이름을 입력하고 암호를 만들고 그룹에 추가하고("자전거 발명"이 없도록 기존 이름, 즉 "sambausers" 지정) 홈 설정 파일의 디렉토리. 그 후 "적용"을 클릭하십시오.


HD Videobox - 신규 사용자

변경 사항을 적용하려면 응용 프로그램 창의 왼쪽 상단 모서리에 있는 "비활성화" 및 "활성화" 버튼인 서버를 다시 시작합니다.


또한 공유 액세스를 위해 "공유" 폴더에 대한 권한을 설정하는 것을 잊지 마십시오. 이것은 터미널과 노틸러스 파일 탐색기의 그래픽 인터페이스를 통해 수행할 수 있습니다.


노틸러스 - 권한 변경


노틸러스 - 파일 쓰기 권한

Windows에서 삼바 서버 설정

Windows의 경우 이 운영 체제에서 Samba가 기본적으로 사용되기 때문에 모든 것이 훨씬 더 산만합니다.

원칙적으로 기존 계정을 사용하거나 게스트 액세스를 허용할 수 있습니다. 또는 다른 계정을 만들 수 있으며 이 계정의 데이터는 네트워크 액세스에 사용됩니다.

새 계정을 만들려면 "제어판"으로 이동하여 "사용자 계정 관리"를 선택하고 암호로 새 계정을 만들어야 합니다.


새 계정 추가

새 사용자를 만들 때 계정 유형을 선택하고 이름과 암호를 입력해야 합니다.


마지막 단계에서 "공유" 폴더에 대한 변경 사항을 볼 수 있는 권한을 설정해야 합니다. 이것은 필요한 폴더와 관련된 "속성" 컨텍스트 메뉴 항목을 통해 표준 Windows 탐색기에서 수행할 수 있습니다.


폴더 "공유"


사용자 추가 및 폴더 권한 변경

새 사용자 생성 절차를 마친 후 변경 사항을 적용하려면 현재 세션에 로그인해야 합니다.

Android에 Samba 클라이언트 설치

Android 장치에서 Samba 서버 및 그에 따른 네트워크 드라이브에 액세스하려면 루트 탐색기 응용 프로그램을 사용하는 것이 좋습니다(기사 끝에 광고 없이 정식 버전을 다운로드할 수 있는 링크).

Samba는 Linux/Unix 및 Windows 운영 체제를 실행하는 컴퓨터 간에 파일 교환을 구성하고 공유 리소스로 작업하기 위한 소프트웨어입니다. Samba는 클라이언트 측과 서버 측으로 구성됩니다. 클라이언트 측에서는 네트워크 폴더 및 Windows 리소스에 액세스할 수 있으며 서버 측에서는 Windows를 포함한 다른 시스템의 Ubuntu 폴더에 대한 공유 액세스를 엽니다.

이 짧은 자습서는 Samba Ubuntu 18.04의 가장 간단한 설정과 여러 권한 수준으로 Ubuntu 폴더에 대한 공유 액세스를 설정하는 방법을 안내합니다.

권한 수준이 다른 세 개의 공유 폴더를 생성합니다. 특정 그룹에 속한 사용자는 액세스할 수 있고 특정 사용자만 액세스할 수 있는 익명 액세스 권한이 있는 폴더입니다.

Linux 및 Widnows 시스템 모두 SMB 프로토콜을 통해 작동하는 모든 프로그램을 사용하여 Ubuntu의 공유 폴더에 액세스할 수 있습니다.

모든 것이 제대로 작동하려면 모든 시스템이 Samba 서버에 지정된 동일한 작업 그룹에 있어야 합니다. 기본적으로 Windows, Linux 및 MacOS의 경우 작업 그룹의 이름은 Workgroup입니다. Windows에서 사용되는 작업 그룹을 찾으려면 명령 프롬프트(Win + R, cmd)를 열고 다음 명령을 실행합니다.

네트 구성 워크스테이션

라인에 필요한 매개변수가 표시됩니다. 워크스테이션 도메인... 워킹그룹입니다.

이제 네트워크에 Samba 서버가 있는 컴퓨터에 영구 IP 주소가 있는 경우 호스트 파일에 입력하는 것이 좋습니다. 이렇게 하려면 명령 프롬프트를 관리자로 실행합니다.

그리고 다음 명령을 실행합니다.

메모장 C: \ Windows \ System32 \ 드라이버 \ etc \ 호스트

열리는 파일에서 Samba가 설치될 컴퓨터의 IP 주소 행을 추가하십시오:

192.168.0.1 srvr1.domain.com srvr1

이제 Ubuntu 폴더를 공유하는 방법에 대한 질문으로 넘어갈 수 있습니다.

Ubuntu 16.04에서 Samba 설정

평소와 같이 설치를 시작해 보겠습니다. 필요한 모든 구성 요소와 함께 Samba Ubuntu를 설치하는 것은 다음 명령으로 수행됩니다.

sudo apt-get install -y samba samba-common python-glade2 시스템 구성-삼바

모든 것이 설치되면 구성을 진행할 수 있습니다. 먼저 원본 Samba 구성 파일을 백업합니다.

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

백업을 생성한 후 다음 명령을 사용하여 구성 파일을 생성합니다.

sudo vi /etc/samba/smb.conf

먼저 전역 파일 서버 설정을 지정하겠습니다. 이렇게 하려면 파일에 다음 줄을 삽입합니다.


작업 그룹 = 작업 그룹

netbios 이름 = 우분투 공유
DNS 프록시 = 아니요

최대 로그 크기 = 1000
passdb 백엔드 = tdbsam
유닉스 암호 동기화 = 예

pam 비밀번호 변경 = 예
게스트에 매핑 = 나쁜 사용자
usershare 게스트 허용 = 예

이 행이 의미하는 바를 자세히 살펴보겠습니다.

  • 작업 그룹- 이미 언급한 대로 작업 그룹은 모든 기계에서 동일해야 합니다.
  • 넷바이오스 이름- Windows에 표시될 컴퓨터의 이름
  • 로그 파일- 오류 메시지 및 기타 정보가 저장될 파일의 ​​주소
  • 보안- 기본적으로 사용자 수준 인증을 수행합니다.
  • 이름 확인 순서- NetBIOS 이름으로 IP 주소를 확인하는 순서입니다. bcast - 로컬 네트워크에 브로드캐스트 요청을 보내는 것을 의미합니다. 상호 작용할 모든 컴퓨터가 동일한 네트워크에 있는 경우 이 옵션이 최적입니다.
  • passdb 백엔드- 사용자 암호를 저장하는 방법;
  • 유닉스 비밀번호 동기화- 로컬 Unix 비밀번호와 삼바 사용자 비밀번호 동기화
  • 손님에게 지도- 사용자에게 게스트 액세스 권한이 부여되는 시기를 나타냅니다. 세 가지 값을 사용할 수 있습니다. 절대- 절대, 나쁜 사용자- 그러한 사용자가 존재하지 않는 경우, 잘못된 비밀번호- 비밀번호를 틀리게 입력한 경우

구성 파일 생성이 끝나면 Windows용 Ubuntu 폴더를 공유하는 방법에 대한 질문으로 넘어가겠습니다.

Ubuntu 폴더 공유

먼저 모든 사람이 사용할 수 있는 공유 폴더를 만듭니다. 즉, 삼바 인증 없이 익명으로 액세스할 수 있습니다.

액세스를 열 폴더를 만듭니다. 예를 들면 다음과 같습니다.

sudo mkdir -p / 삼바 / 모든 액세스

폴더를 만든 후에는 폴더에 대한 올바른 액세스 권한을 설정해야 합니다. 다음 명령을 사용하면 모든 사람이 폴더에 액세스하고 소유자를 아무도 만들 수 없습니다.

CD / 삼바
sudo chmod -R 0755 allaccess
sudo chown -R 아무도: nogroup allaccess /

다음 단계는 samba 구성 파일의 allaccess 폴더를 설명하는 것입니다.


경로 = / 삼바 / allaccess
탐색 가능 = 예
쓰기 가능 = 예
손님 확인 = 예
읽기 전용 = 아니요

구성 파일은 이제 다음과 같아야 합니다.


작업 그룹 = 작업 그룹
서버 문자열 = % h 서버(삼바, 우분투)
netbios 이름 = 우분투 공유
DNS 프록시 = 아니요
로그 파일 = /var/log/samba/log.%m
최대 로그 크기 = 1000
passdb 백엔드 = tdbsam
유닉스 암호 동기화 = 예
passwd 프로그램 = / usr / bin / passwd% u
pam 비밀번호 변경 = 예
게스트에 매핑 = 나쁜 사용자
usershare 게스트 허용 = 예
#==============
경로 = / 삼바 / allaccess
탐색 가능 = 예
쓰기 가능 = 예
손님 확인 = 예
읽기 전용 = 아니요

여기에 사용된 옵션을 자세히 살펴보겠습니다.

  • - 공유하려는 폴더의 경로
  • 탐색 가능한- 폴더가 사용 가능한 공유 목록에 표시되는지 여부;
  • 쓰기 가능- 폴더를 쓸 수 있는지 여부
  • 읽기 전용- 폴더가 읽기 전용입니다.
  • 게스트 확인, 공개- 게스트 액세스 허용 여부
  • 유일한 손님- yes로 설정하면 폴더는 손님만 사용할 수 있습니다.
  • 호스트 허용- 이 서버에 액세스할 수 있는 IP 주소
  • 유효한 사용자- 기본적으로 모든 사용자가 로그인할 수 있습니다. 이 매개변수에 사용자 목록이 전달되면 해당 사용자만 로그인할 수 있습니다.
  • 마스크 만들기- 생성된 파일에 대한 권한 마스크.

Samba 서버를 다시 시작하여 변경 사항을 적용합니다.

sudo systemctl 다시 시작 삼바

익명 액세스를 위한 Ubuntu 16.04의 Samba 설정이 이제 완료되었습니다. 이제 Windows에서 allaccess 공유 폴더의 가용성을 확인할 수 있습니다. 이렇게 하려면 Win + R을 누르고 다음을 실행합니다.

\\ srvr1 \ 모든 액세스

당신은 우리의 폴더를 볼 수 있습니다. 표시되지 않으면 구성을 다시 확인하십시오. 삼바 권한 없이 폴더에 접근할 수 있습니다. 이제 무단 액세스로 Samba 공유 설정이 완료되었습니다.

노틸러스를 사용하여 Linux에서 이 서버에 연결할 수도 있습니다. 이 경우 주소만 입력하면 됩니다. smb: // 서버 IP, 다른 장소에서:

보호 공유 Ubuntu 폴더

특정 그룹의 사용자만 액세스할 수 있는 Windows Ubuntu용 폴더를 공유하려면 별도의 폴더를 만들고 Ubuntu의 Samba 구성 파일에 설명합니다.

먼저 폴더를 만듭니다.

sudo mkdir -p / 삼바 / allaccess / 보안

그룹 만들기:

sudo addgroup 보안 그룹

권한 설정:

CD / 삼바 / 올 액세스
$ sudo chown -R 리차드: securegroup secure
$ sudo chmod -R 0770 보안 /

마지막 단계는 samba 구성 파일에 설정을 추가하는 것입니다.

sudo vi /etc/samba/smb.conf


경로 = / 삼바 / allaccess / 보안
유효한 사용자 = @securedgroup
손님 확인 = 아니요
쓰기 가능 = 예
탐색 가능 = 예

Samba 서버를 다시 시작합니다. 이제 securegroup의 사용자만 Ubuntu의 공유 폴더에 액세스할 수 있습니다.

작동 방식을 확인하기 위해 사용자 richard를 그룹에 추가해 보겠습니다.

sudo usermod -a -G securegroup 리차드

이 튜토리얼에서는 Ubuntu 16.04에서 Samba 서버를 설치하고 구성하는 방법을 배울 것입니다. Samba는 Unix/Linux용 SMB/CIFS 프로토콜의 무료 오픈 소스 구현으로, 로컬 네트워크의 시스템에서 Unix/Windows의 파일과 프린터 간의 통신을 허용합니다.

Samba는 소프트웨어 패키지이며, 그 중 가장 중요한 두 가지는 다음과 같습니다.

  • smbd: SMB/CIFS 서비스(파일 공유 및 인쇄)를 제공하며 Windows 도메인 컨트롤러 역할도 할 수 있습니다.
  • nmbd: NetBIOS 네이밍 서비스 제공

Ubuntu 16.04에 Samba 서버를 설치하는 방법

Samba는 대부분의 Linux 배포판에 포함되어 있습니다. Samba를 설치하려면 다음을 실행하기만 하면 됩니다.

Sudo apt 설치 삼바

최신 안정 버전은 2016년 12월 19일에 출시된 4.5.3입니다. 버전을 확인하려면 삼바 , 운영

Sudo smbstatus

Sudo smbd --버전

출력 예:

삼바 버전 4.3.11-우분투

Samba 서비스가 실행 중인지 확인하려면 다음 명령을 실행합니다.

Systemctl 상태 smbd systemctl 상태 nmbd

이 두 서비스를 시작하려면 다음 명령을 실행하십시오.

sudo systemctl 시작 smbd sudo systemctl 시작 nmbd

출시 후, smbd포트 139 및 445에서 수신 대기합니다.

구성 파일 편집

편집해야 하는 구성 파일은 /etc/samba/smb.conf뿐입니다.

스도 나노 /etc/samba/smb.conf

섹션에서 값을 확인하십시오. 작업 그룹 Windows 컴퓨터의 작업 그룹에 속합니다.

작업 그룹 = 작업 그룹

파일 맨 아래로 스크롤합니다. (나노 텍스트 편집기에서 CTRL + W를 누른 다음 CTRL + V를 누릅니다.) 아래와 같이 새 섹션을 포함합니다. 사용자 이름을 원하는 사용자 이름으로 바꿉니다.

설명 = 홈 공용 폴더 경로 = / 홈 / 사용자 이름 / 쓰기 가능 = 예 유효한 사용자 = 사용자 이름

홈 공유는 Windows 네트워크에 표시될 폴더의 이름입니다. 주석은 공유 폴더에 대한 설명입니다. 다음 3줄은 지정된 유효한 사용자만 /home/username/디렉토리에 액세스할 수 있으며 이 디렉토리도 쓰기 가능함을 나타냅니다. 위의 구성은 익명 액세스를 비활성화합니다.

파일을 저장하고 닫은 후 다음 명령어를 실행하여 구문 오류가 있는지 확인합니다.

테스트팜

사용자 생성

Samba에는 기본적으로 사용자가 보안 모드로 포함되어 있습니다. 즉, 클라이언트가 공유 폴더에 액세스하려면 사용자 이름과 암호를 입력해야 합니다. Ubuntu에 사용자를 추가하려면 다음 명령을 실행하십시오.

Sudo adduser 사용자 이름

Unix 암호를 설정하라는 메시지가 표시됩니다. 또한 다음 명령을 사용하여 사용자에 대해 별도의 Samba 비밀번호를 설정해야 합니다.

Sudo smbpasswd -a 사용자 이름

이제 smbd 데몬을 다시 시작하는 일만 남았습니다.

Sudo systemctl 재시작 smbd

Windows에서 공유 폴더에 대한 Samba 액세스

동일한 네트워크에 있는 Windows 컴퓨터에서 파일 탐색기를 열고 왼쪽 창에서 네트워크를 클릭합니다. 삼바 서버가 보입니다. 공유 폴더를 두 번 클릭하고 사용자 이름과 암호를 입력합니다.

Ubuntu 시스템에서 공유 폴더에 대한 Samba 액세스

파일 관리자에서 왼쪽 창의 네트워킹 탭으로 이동하여 Windows 네트워킹을 선택합니다.

작업 그룹, Samba 서버 및 공유 폴더를 선택한 다음 Samba 사용자 이름과 암호를 입력합니다.

여러 사용자 또는 그룹 추가

여러 계정이 공유 폴더에 액세스해야 하는 경우 /etc/samba/smb.conf 파일에서 아래 표시된 대로 적격한 사용자를 변경해야 합니다.

유효한 사용자 = user1, user2, user3

또한 smbpasswd를 사용하여 이러한 각 사용자의 Samba 암호를 설정합니다.

sudo smbpasswd -a user1 sudo smbpasswd -a user2 sudo smbpasswd -a user3

사용자 그룹이 공유 폴더에 액세스할 수 있도록 하려면 /etc/samba/smb.conf 구성을 사용하십시오.

유효한 사용자 = @sambashare

그룹을 만듭니다.

Sudo 그룹 추가 sambashare

그런 다음 이 그룹에 사용자를 추가합니다.

sudo gpasswd -a user1 sambashare sudo gpasswd -a user2 sambashare sudo gpasswd -a user3 sambashare

그룹에는 공유 폴더에 대한 쓰기 권한이 있어야 하며, 이는 다음 두 명령으로 달성할 수 있습니다.

sambashare를 공유 폴더 그룹의 소유자로 설정합니다.

Sudo chgrp sambashare / 경로 / 대상 / 공유 / 폴더 -R

그룹에 쓰기 액세스 권한을 부여합니다.

Sudo chmod g + w / 경로 / 대상 / 공유 / 폴더 / -R

이 기사가 Ubuntu 16.04에서 Samba 서버를 설정하는 데 도움이 되었기를 바랍니다. 항상 그렇듯이 이 게시물이 도움이 되었다면 댓글에서 구독을 취소하십시오.

이제 동일한 로컬 네트워크에서 Linux와 Windows를 실행하는 컴퓨터를 찾는 것이 일반적입니다. 이 공생의 이유는 다를 수 있습니다. 예를 들어, 인터넷 카페 소유자는 모든 컴퓨터에 대한 라이선스 OS를 구입할 자금이 충분하지 않거나 시스템 관리자가 단순히 Linux의 긍정적인 측면에 매료되었습니다. Microsoft 운영 체제의 인기는 주로 Windows용 클라이언트 소프트웨어에 의해 결정됩니다. 이 소프트웨어 부문이 고도로 발달되어 있다는 것은 비밀이 아닙니다. 많은 기업들이 이를 위해 많은 노력을 기울이고 있으며 정말 훌륭하고 무엇보다도 일반 사용자도 쉽게 마스터할 수 있는 사용하기 쉬운 프로그램을 만들었습니다. 그러나 서버로서 Windows의 위치는 더 이상 명확하지 않습니다. Unix를 실행하는 서버는 전통적으로 안정성, 작동 안정성, 보안 및 시스템 리소스에 대한 낮은 요구 사항으로 구별됩니다. 그러나 어쨌든 다른 소프트웨어 플랫폼을 가진 컴퓨터를 네트워크에 연결하는 것만으로는 예상한 결과를 얻을 수 없습니다. 전체 문제는 이 두 시스템이 서로 호환되지 않는 네트워크 리소스를 구성하는 서로 다른 원칙을 사용한다는 것입니다.
마이크로소프트의 은총을 기다릴 필요도 없고, 윈도우가 표준적인 수단으로 유닉스 NFS(Network File System)를 다루는 법을 배우지 않을 가능성이 높기 때문에, 솔직히 말해서 저는 써드파티 프로그램을 잘 몰라서, 대중적인 방법은 Unix에게 Windows NT인 척 "척"하도록 가르치는 것입니다.

Windows를 실행하는 컴퓨터 네트워크의 상호 작용은 프로토콜 사용을 기반으로 합니다. SMB(서버 메시지 블록)- 서버 메시지 블록. 열기 및 닫기, 읽기 및 쓰기, 파일 검색, 디렉토리 생성 및 삭제, 인쇄 작업 설정 및 삭제에 필요한 모든 작업의 ​​성능을 제공합니다. 이에 필요한 모든 작업은 패키지를 사용하여 Unix 계열 운영 체제에서 구현됩니다. 삼바... 그 기능은 조건부로 Windows 클라이언트를 위한 리소스 제공(프린터 시스템 및 파일에 대한 액세스를 의미)과 클라이언트 리소스에 대한 액세스의 두 가지 범주로 나눌 수 있습니다. 즉, Linux 컴퓨터는 서버와 클라이언트 역할을 모두 할 수 있습니다. 먼저 SAMBA 서버 옵션을 고려해 보겠습니다.

SAMBA는 Windows 시스템 네트워크에서 정상적인 작동을 위해 무엇을 제공해야 합니까? 첫째, 액세스 제어는 공유 수준에서 구현될 수 있습니다. 암호가 네트워크의 리소스 및 해당 사용 규칙(예: "읽기 전용")에 할당될 때 사용자 이름은 절대적으로 가치 없음; 또는 각 사용자에 대해 계정이 생성될 때 사용자 수준에서 보다 완벽하고 유연한 조직으로 이름과 암호 외에 리소스에 대한 액세스 권한에 대한 모든 필요한 정보가 포함됩니다. 필요한 리소스에 액세스하기 전에 각 사용자가 인증된 후 계정에 따라 권한이 부여됩니다. 둘째, 파일 시스템에서 정의한 액세스 권한을 에뮬레이트해야 합니다. 문제는 고려 중인 시스템이 디스크의 파일 및 디렉토리에 대해 서로 다른 액세스 권한을 가지고 있다는 것입니다. 전통적으로 Unix에는 세 가지 범주의 파일 사용자가 있습니다. 소유자, 그룹그리고 휴식(기타)... 이러한 각 과목은 다음과 같이 제공될 수 있습니다. 읽기 권한, 쓰다그리고 실행하다... Windows NT에서는 액세스 시스템이 다소 유연하고 여러 그룹 또는 사용자에게 액세스 권한이 부여되며 해당 액세스 권한은 각 주체에 대해 별도로 결정됩니다. 따라서 SAMBA를 사용하여 NTFS 액세스 권한을 완전히 에뮬레이트하는 것은 불가능합니다.

실행 중인 클라이언트와 함께 윈도우 9x, 상황이 다릅니다. DOS의 조상 이래로 시스템이 단일 사용자이고 그룹은 고사하고 모든 사용자에 대한 질문이 있을 수 없다는 사실 때문에 FAT 파일 시스템에 대해 4가지 속성만 정의되었습니다. 읽기 전용, 시스템, 아카이브 및 숨김... 또한 Windows에서 Unix와 달리 파일 확장자는 특별한 의미를 갖습니다. 실행하려는 파일의 확장자는 .exe, .com 또는 .bat입니다. Unix 시스템에서 Windows를 실행하는 컴퓨터로 파일을 복사할 때 속성은 다음과 같이 설정됩니다.

읽기 전용- 소유자를 위한 읽기, 쓰기

아카이브- 소유자에 대한 실행;

전신- 그룹에 대한 실행;

숨김 - 그룹에 대한 실행.

Windows 시스템의 네트워크는 컴퓨터가 서로 독립적이고 각각 ​​고유한 보안 정책이 있는 고유한 암호 및 로그인 데이터베이스와 NT 도메인이 있는 경우 작업 그룹으로 구성될 수 있습니다. 사용자 및 컴퓨터 인증의 전체 기반을 관리합니다. 주 도메인 컨트롤러(PDC), 즉. 중앙 집중식. Samba를 사용하면 이러한 모든 수준에서 액세스를 제한할 수 있으며 작업 그룹 또는 도메인 컨트롤러의 컨텍스트에서 "마스터 브라우저" 역할을 합니다.

우리는 일반적인 조직 문제를 다루었습니다. 이제 Linux에서 SAMBA 서버의 구현 및 구성을 구체적으로 살펴보겠습니다. Samba 서버가 작동하려면 두 개의 데몬이 실행 중이어야 합니다. smbd Samba 클라이언트(예: 모든 줄무늬의 Windows)에 인쇄 및 파일 공유 서비스를 제공하고 nmbd NetBIOS 이름 지정 서비스를 제공합니다(다른 이름 지정 서비스 데몬을 쿼리하는 데 사용할 수도 있음). 프로토콜은 클라이언트에 액세스하는 데 사용됩니다. TCP/IP... 일반적으로 Samba는 Linux 배포판과 함께 설치됩니다. 확인하는 방법? 명령을 내리십시오.

$ 여기서 삼바

그리고 당신은 다음과 같은 것을 얻어야 합니다:

삼바: / usr / sbin / 삼바 / etc / 삼바 /usr/share/man/man7/samba.7.gz

표준 배포판에 포함되어 있지 않다면 ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz 또는 Linux 프로그램이 있는 거의 모든 서버에 오신 것을 환영합니다. 패키지는 설치하기 쉽기 때문에 공간을 절약하기 위해 설치되어 있다고 가정합니다. 이제 데몬이 실행 중인지 확인합니다.

$ 추신 - 보조 | grep smbd 루트 1122 0.0 0.6 4440 380? S 16:36 0:00 smbd -D

보시다시피 이미 시작했습니다. 예를 들어 Linux Mandrake가 없는 경우 시스템 부팅 시 시작하도록 하려면 다음에서 필수 항목을 확인하십시오. DrakConf서비스 시작또는 안에 Red Hat 제어판서비스 구성이것은 일반적으로 충분합니다. 또는 수동으로 시작하십시오: ./etc/rc.d/init.d/smb start. 유일한 Samba 구성 파일은 smb.conf라고 하며 일반적으로 /etc/디렉토리에 있습니다(예를 들어 AltLinux에서는 /etc/samba 디렉토리에 있음). SAMBA 서비스는 60초마다 이를 읽기 때문에 구성에 대한 변경 사항은 재부팅 없이 적용되지만 이미 설정된 연결에는 영향을 미치지 않습니다.

이것이 내가 Linux를 좋아하는 이유입니다. 구성 파일은 일반 텍스트(게다가 내부에 주석이 잘 달려 있음)이고 대부분의 매개변수를 사용하려면 해당 행의 주석을 제거하면 됩니다. smb.conf 파일도 예외는 아닙니다. 대괄호로 묶인 섹션 이름으로 시작하는 명명된 섹션으로 구성됩니다. 각 섹션에는 키 = 값 형식의 여러 매개변수가 있습니다. 구성 파일에는 4개의 특수 섹션, 및 별도의 리소스(공유)가 있습니다. 이름에서 알 수 있듯이 이 섹션에는 모든 곳에 적용되지만 개별 리소스에 대한 섹션에서 재정의할 수 있는 가장 일반적인 특성이 포함되어 있습니다. 이 섹션의 몇 가지 옵션은 Samba 클라이언트 구성과 관련이 있습니다.

일반적인 섹션 매개변수의 값 글로벌:

Workgroup = group_name # Windows 네트워크의 작업 그룹 이름 netbios name = 네트워크 서버 이름 string = 네트워크 보기 속성 창에 표시되는 설명 guest ok = yes # 게스트 로그인 권한(guest ok = no - guest 로그인이 거부됨) guest account = nobody # 게스트 로그온이 허용되는 이름 security = user # 액세스 수준. 사용자 - 사용자 수준에서 보안 = 공유 - 사용자 이름 및 암호 기반 인증. 다른 SMB 서버에 암호 데이터베이스를 저장할 때 security = server 및 password server = name_server_NT 값이 사용됩니다. 서버가 도메인의 구성원인 경우 security = domain 값이 사용되며 smb 옵션 passwd file = / path / to / file로 지정된 파일에 액세스 암호가 지정됩니다.

또한 등록할 때 다음을 사용할 수 있습니다. 암호화된 일반 텍스트 암호... 후자는 이전 Windows(Windows for Workgroups, Windows 95(OSR2), 모든 버전의 Windows NT 3.x, Windows NT 4(서비스 팩 3까지))에서 사용됩니다. 암호화된 암호를 사용하는 옵션을 활성화하려면 암호 암호화 = 예 옵션을 사용합니다. 이 옵션에 특히 주의하십시오. Windows 95 시대에 생성된 이전 Linux 배포판(및 이전 버전의 Samba 포함)에는 기본적으로 암호 암호화가 비활성화되어 있으며 samba는 최대 버전 2.0이 모드를 전혀 지원하지 않습니다(그런데 이 옵션 및 이와 유사한 옵션(특정 리소스에 대한 액세스와 관련이 없는 옵션)도 클라이언트에서 사용됨).

러시아어 파일 이름을 올바르게 표시하려면 클라이언트 코드 페이지 = 866 및 문자 집합 = koi8-r 옵션이 필요합니다. 예를 들어 Mandrake 및 러시아어의 파생 상품과 같이 현지화가 잘 된 배포판에는 이미 이 줄이 있습니다. 때로는 단순히 주석 처리를 제거하는 것으로 충분하지만 대부분의 다른 배포판에서는 직접 추가해야 합니다.

interface = 192.168.0.1/24 옵션은 서버가 한 번에 여러 네트워크에 연결된 경우 프로그램이 작동해야 하는 네트워크(인터페이스)를 지정합니다. bind interface only = yes 매개변수를 설정하면 서버는 이러한 네트워크의 요청에만 응답합니다.

호스트 허용 = 192.168.1. 192.168.2. 127. - 서비스에 대한 액세스가 허용되는 클라이언트를 정의합니다.

전역 섹션에서는 다양한 변수를 사용하여 서버 운영을 보다 유연하게 구성할 수 있습니다. 연결이 설정되면 실제 값으로 대체됩니다. 예를 들어, 지시문 로그 파일 = /var/log/samba/%m.log에서 % m 매개변수는 각 클라이언트 시스템에 대해 별도의 로그 파일을 정의하는 데 도움이 됩니다. 전역 섹션에서 사용되는 가장 일반적인 변수는 다음과 같습니다.

% a - 클라이언트 시스템의 OS 아키텍처(가능한 값 - Win95, Win NT, UNKNOWN 등);

% m은 클라이언트 컴퓨터의 NetBIOS 이름입니다.

% L - SAMBA 서버 NetBIOS 이름;

% v - SAMBA 버전;

% I는 클라이언트 컴퓨터의 IP 주소입니다.

% T - 날짜 및 시간;

% u - 서비스를 사용하는 사용자의 이름.

% H는 사용자 % u의 홈 디렉토리입니다.

또한 보다 유연한 사용자 정의를 위해 위의 변수를 사용하여 include 지시문을 사용합니다. 예: include = /etc/samba/smb.conf.%m - 이제 컴퓨터 판매에서 요청할 때 /etc/samba/smb.conf.sales 파일이 있으면 이 파일에서 구성을 가져옵니다. 일부 시스템에 대해 별도의 파일이 없는 경우 공통 파일을 사용하여 작업합니다.

흥미로운 기회도 있습니다 가상 서버 생성... 이를 위해 netbios aliases 매개변수가 사용됩니다.

Netbios 별칭 = 영업 회계 관리자

이제 Samba가 각 가상 서버에 대해 자체 구성 파일을 사용하도록 명령합니다.

포함 = /etc/samba/smb.conf.%L

네트워크 브라우저 창에 세 개의 서버가 표시됩니다. 매상, 회계, 관리자.

대소문자 보존 및 대소문자 보존 옵션을 활성화하면 서버가 모든 입력을 대소문자를 구분하는 방식으로 저장합니다(Windows에서는 대소문자가 중요하지 않으며 모든 Unix에서는 그 반대도 마찬가지임).

이 섹션에서는 사용자가 명시적으로 설명하지 않고도 작업 디렉터리에 연결할 수 있습니다. 클라이언트가 자신의 디렉토리 // sambaserver / sergej를 요청하면 시스템은 파일에서 해당 설명을 찾고 찾지 못하면 이 섹션이 있는지 찾습니다. 키가 있는 경우 암호 파일을 검색하여 요청하는 사용자의 작업 디렉터리를 찾고 발견된 경우 사용자가 사용할 수 있도록 합니다.

이 섹션에 대한 일반적인 설명은 다음과 같습니다.

Comment = 홈 디렉토리 # 네트워크 속성 창에서 볼 수 있는 주석 browseable = no # 찾아보기 목록에 리소스를 표시할지 여부를 결정합니다. writable = yes # 홈 디렉토리에 쓰기를 허용(아니오 - 허용하지 않음) create mode = 0750 # 새로 생성된 파일에 대한 권한 디렉토리 모드 = 0775 # 또한, 그러나 디렉토리에만 해당

기본 설정을 구성한 후 특정 사용자 또는 사용자 그룹이 액세스할 수 있는 네트워크 공유를 생성할 수 있습니다. 이러한 리소스는 기존 디렉토리에서 생성되며 이를 위해 파일에 다음과 같이 작성합니다.

주석 = 공개 항목 경로 = / 홈 / 삼바 공개 = 예 쓰기 가능 = 인쇄 불가능 = 쓰기 목록 없음 = 관리자, @sales

경로 매개변수는 자원이 있는 디렉토리를 가리킵니다. public 매개변수는 게스트가 리소스를 사용할 수 있는지 여부를 나타내고 printable은 지정된 리소스를 인쇄에 사용할 수 있는지 여부를 나타냅니다. 쓰기 목록 매개변수를 사용하면 쓰기 가능한 값에 관계없이 리소스에 쓸 수 있는 사용자를 정의할 수 있습니다(이 예에서는 사용자 관리자 및 영업 그룹). 반대 목록인 읽기 목록을 사용하는 것도 가능합니다. 일부 파일을 숨길 필요가 있는 경우 이를 위해 Unix/Linux에서 파일 이름은 점으로 시작해야 합니다(숨김 파일 표시를 제어하는 ​​hide dot files 매개변수는 기본적으로 ). 또한 숨김 파일 매개변수를 사용하는 숨김 파일의 이름에 대한 템플릿을 설정할 수 있습니다. 각 패턴은 슬래시(/)로 시작하고 끝나며 정규식에 사용되는 문자를 포함할 수 있습니다. 예: 파일 숨기기 = /*.log/??.tmp/. Windows 사용자는 탐색기에서 "숨김 파일 및 시스템 파일 표시" 모드를 설정하기만 하면 이러한 트릭을 우회할 수 있습니다. 거부 파일 및 삭제 거부 파일 매개변수를 사용하여 파일(디렉토리)의 액세스 가능성(삭제 기능)을 안정적으로 제한합니다.

CD 드라이브의 경우 상황이 다소 복잡합니다. 문제는 유닉스 계열 시스템에서는 그 자체로 디스크라는 개념이 없고, 원하는 장치에 접근하기 위해서는 먼저 디렉토리 트리(# mount -t iso9660 / dev / cdrom / mnt / cdrom) 및 사용 후 파일 시스템을 파괴하지 않도록 마운트를 해제해야 합니다(# umount / dev / cdrom). 그렇지 않으면 장치가 단순히 디스크를 포기하지 않습니다. 서버에서 실행 중인 데몬이 있는 경우 autofs, 그러면 문제를 간단하게 해결할 수 있습니다. 일정 시간 동안 사용하지 않은 장치를 자동으로 마운트 해제하려면 /etc/auto.master 파일에서 timeout 매개변수에 원하는 값을 설정합니다. 예를 들어:

/ mnt / auto / etc / --timeout = 5

(비슷한 줄이 이미 있으므로 주석 처리를 제거하면 됩니다.) 그런 다음 /etc/auto.tab 파일에서 적절한 장치에 대한 옵션을 설정합니다.

Cdrom -fstype = 자동, ro: / dev / cdrom

이 모든 작업을 마친 후 이 리소스를 사용할 수 있도록 /etc/smb.conf에 다음 줄을 작성합니다.

경로 = / mnt / cdrom 쓰기 가능 = 없음

두 번째 옵션은 preexec 및 postexec 지시문을 사용하는 것입니다. 이 지시문은 리소스에 액세스할 때와 연결을 끊은 후 어떤 명령을 실행해야 하는지를 나타냅니다(이 매개변수는 모든 리소스에 대해 지정될 수 있으며 전역 섹션에서도 큰 기회를 제공할 수 있습니다) .

경로 = / mnt / cdrom 읽기 전용 = yes root preexec = mount / mnt / cdrom # root만 리소스를 마운트할 수 있습니다. postexec = umount / mnt / cdrom # 당연히 이러한 마운트 지점은 /etc/fstab 파일에 설명되어야 합니다. 그렇지 않으면 나머지 데이터도 지정해야 합니다.

이제 리소스에 액세스할 때 CD-ROM이 자동으로 마운트되고 때로는 마운트 해제됩니다. 전체 문제는 리소스를 닫는 결정은 서버에서 내려야 한다는 것입니다. 클라이언트는 일반적으로 이에 대해 알리지 않습니다. 그러나 일반적으로 여러 사용자가 동시에 리소스를 사용하거나 이 리소스의 동일한 컴퓨터에 열려 있는 파일이 남아 있기 때문에(장치 사용 중) 이러한 문제가 발생합니다. 따라서 CD-ROM은 자동으로 마운트 해제되지 않으며 리소스를 해제할 수 있는 유일한 방법은 유틸리티를 사용하여 확인하는 것입니다. smb 상태이 리소스를 사용하는 프로세스의 번호를 확인하고 # kill pid_number 명령(또는 kill -s HUP pid_number)으로 종료합니다.

필요한 구성이 설정되면 이제 사용자 계정을 생성합니다(최소 권한의 게스트 로그인 제외). SAMBA 사용자를 식별하기 위해 사용자 이름과 암호화된 암호가 포함된 /etc/samba/smbpasswd 파일이 사용됩니다. Windows 시스템 네트워크의 암호화 메커니즘은 표준 Unix 메커니즘과 호환되지 않기 때문에 별도의 유틸리티를 사용하여 암호 파일을 채우십시오. smbpasswd.

# useradd -s / bin / false -d / home / samba / sergej -g sales sergej # smbpasswd -a sergej # smbpasswd -e sergej

이 예에서는 새 사용자를 추가합니다. 세르게이그룹에 속하는 매상, 더미 쉘(옵션은 / sbin / nologin, / dev / null) 및 홈 디렉토리 / home / samba / sergej. 그런 다음 사용자 sergej의 암호를 만들고 마지막 단계로 사용자에 대한 액세스를 활성화합니다. 기본적으로 비활성화되어 있습니다. 때때로 혼란스러울 수 있는 흥미로운 지점. 사실은 Windows NT/2000이 설치된 컴퓨터가 SAMBA 서버에 연결되면 사용자에게 예상대로 사용자 이름과 암호를 입력하라는 메시지가 표시되고 Windows 9x/Me가 설치된 컴퓨터가 액세스에 사용되는 경우 사용자에게 암호만 입력하라는 메시지가 표시되고 등록 이름을 기반으로 로그인이 자동으로 생성됩니다.

여러 Windows 사용자를 단일 Linux/Unix 사용자에 매핑하는 것도 가능합니다. 이를 위해 매핑 파일 /etc/smbusers.map이 생성되며, 여기서 각 매핑은 별도의 줄에 설정됩니다.

Linux_user = user_win1 user_win2 user_winN

섹션에서 사용자 이름 map = /etc/smbusers.map 줄을 추가합니다. 이 경우 Windows 사용자는 연결된 사용자의 암호로 로그인해야 합니다.

SAMBA를 사용하여 Windows를 실행하는 컴퓨터에서 네트워크 인쇄 기능을 구성할 수 있습니다(별도의 인쇄 서버가 계획된 경우 486 프로세서 기반 시스템으로 충분할 수 있음).

이렇게 하려면 섹션에 다음 줄을 작성합니다.

Printcap 이름 = / etc / printcap # 시스템에 연결된 프린터를 설명하는 파일 load printers = yes # 네트워크 리소스 목록에 자동 포함이 필요함을 나타냅니다. 인쇄 = lprng # 인쇄 시스템(Linux의 경우 bsd를 계속 사용할 수 있음).

경로 = / var / spool / samba # 인쇄 작업이 있는 디렉토리를 가리킵니다. 검색 가능 = 예 인쇄 가능 = 예 읽기 전용 = 예

파일 생성 후 유틸리티로 테스트 테스트팜... 불행히도 이 프로그램을 사용하면 논리적 오류가 아닌 구문 오류만 감지할 수 있으므로 파일에 설명된 서비스가 올바르게 작동한다는 보장은 없습니다(테스트 중에는 다음에서 설치한 설정을 포함하여 모든 설정이 표시됩니다. 기본값 - 따라서 신중하게 결과를 검토하십시오). 그러나 프로그램이 맹세하지 않으면 시작 시 파일이 문제 없이 로드되기를 바랄 수 있습니다. SAMBA 서버와 함께 / etc / printcap 파일에 나열된 프린터의 올바른 작동은 유틸리티를 사용하여 확인할 수 있습니다. 테스트 프로그램... 또한 .log 파일을 잊지 마십시오. 문제가 있는 경우 때때로 그곳에서 해결책을 찾을 수 있습니다.

이제 좋은 점에 대해 조금. Samba 구성은 다소 복잡한 절차이지만 배포판에는 구타(Samba 웹 관리 도구,). Swat은 서비스로 시작되거나 Apache 서버를 사용하여 시작되며 smb.conf 파일을 편집하고 상태를 확인하고 Samba 데몬을 시작 및 중지하고 사용자 암호를 변경하기 위한 것입니다. 서비스로 작동하려면 swat 901/tcp 행이 /etc/services 파일에 있어야 하고 swat stream tcp nowait.400 root/usr/local/samba/bin/swat swat이 /etc/inetd에 있어야 합니다. .conf 파일(네트워크 데몬이 사용되는 경우) inetd일반적으로 이전 배포판에서; 최신 배포판은 더 안전한 옵션을 사용합니다. xinetd). /etc/xinet.d 디렉토리에서 swat를 사용하려면 다음 내용으로 swat 파일을 만드십시오.

Service swat (disable = no port = 901 socket_type = stream wait = no only_from = 127.0.0.1 # 이것은 로컬 머신에서만 실행되는 라인이다 user = root server = / usr / sbin / swat log_on_failure + = USERID)

이제 브라우저 창에서 Swat를 실행하려면 다음을 입력하십시오.

HTTP: // 로컬 호스트: 901

하지만 그 전에 사용자를 생성해야 합니다. 관리자위에서 설명한 대로. SAMBA 서비스를 다음과 같이 실행하지 마십시오. 뿌리.

smb.conf 파일을 모두 변경한 후 데몬을 다시 시작해야 하는 경우가 있습니다.

Smb: /etc/rc.d/init.d/smb 재시작

위의 모든 단계를 수행한 후에도 SAMBA 리소스에 대한 액세스를 구성할 수 없는 경우 다음과 같은 유틸리티가 (네트워크에서 노드의 가용성을 확인하기 위해), nmblookup(NetBIOS 이름을 쿼리하기 위해) 또는 최후의 수단으로 TCP 덤프... 그리고 권한을 잊지 마세요. / gde / to / w / glubine 디렉토리를 사용자에게 할당하면 그에게 이전 디렉토리를 읽을 수 있는 권한(실행 권한)이 부여되기 때문입니다.

이제 우리(Linux 사용자)도 Windows 네트워크 리소스로 작업하기를 원하기 때문에 Samba 클라이언트 사용에 대해 이야기해 보겠습니다. 사용 가능한 리소스를 확인하려면 /usr/bin/smbclient -L host_name 명령을 입력해야 합니다. 프로그램은 암호를 묻고 대부분의 경우 Enter 키를 누르면 충분합니다. 이제 필요한 리소스에 연결하기 위해 컴퓨터 이름과 필요한 리소스를 입력합니다. 예를 들어:

# / usr / bin / smbclient \\ Alex \ 사운드

(여기서는 Alex의 컴퓨터에 있는 Sound 폴더에 연결하려고 합니다). 결과적으로 명령이 올바르게 입력되고 이러한 네트워크 리소스가 있으면 암호 프롬프트를 받아야 합니다. 암호를 입력하거나 액세스하는 데 암호가 필요하지 않은 경우 Enter 키를 누릅니다. 응답으로 samba 클라이언트 프롬프트 smb:>를 받게 됩니다. 미래에는 파일 작업(복사, 생성, 이동 등)에 필요한 모든 작업을 수행할 수 있는 일련의 명령으로 작업이 수행됩니다. 도움을 받으려면 smb:> help를 입력하십시오. 이 모드는 다소 불편하므로 대부분의 경우 모듈을 사용합니다. smbfs삼바의 일부입니다. 그러나 이전 배포판에서는 smbfs 지원 없이 커널을 빌드할 수 있으며 이 경우 다시 빌드해야 합니다. 필요한 리소스를 탑재하려면 다음과 같이 입력합니다.

Mount -t smbfs -o 사용자 이름 = 사용자, 암호 = 123456, iocharset = koi8-r, 코드 페이지 = 866 // alex / sound / mnt / sound.

사용자 이름과 암호를 지정하지 않으면 시스템 자체에서 사용자 이름과 암호를 묻습니다. ~HOME / .bash_history 파일을 보면 입력한 명령어로 비밀번호를 알 수 있다는 점 잊지 마세요. 한 가지 더 미묘한 점: smbclient 프로그램이 러시아어 이름을 가진 파일을 올바르게 표시하는 경우 smbfs 모듈은 명시적으로 지정하더라도 다른 인코딩에 전혀 주의를 기울이지 않는 경우가 있습니다. 패치로 고칠 수 있다고 하는데 아직 Red Hat용 패치를 찾지 못했습니다.

시스템 시작 시 SMB 공유가 자동으로 마운트되도록 하려면 /etc/fstab 파일에 다음과 같은 줄을 추가합니다.

//[이메일 보호됨]/ 사운드 / mnt / 알렉스 / 사운드 smbfs rw, noauto 0 0.

이 예에서는 사용자를 대신하여 손님(리소스가 이 사용자를 지원하고 이 사용자가 암호로만 액세스할 수 있는 경우 걱정하지 마십시오. 확실히 묻습니다.) alex 컴퓨터의 사운드 네트워크 리소스는 다음 기능을 가진 / mnt / alex / sound 폴더에 마운트됩니다. 이 디렉토리에 쓰기 위해. 그건 그렇고, Samba 클라이언트는 숨겨진 네트워크 리소스를 완벽하게 봅니다. 네트워크 이름이 $로 끝나는 사람들.

보시다시피 현대 사용자에게 조용한 공포를 유발하는 명령줄로 작업해야 합니다. 그리고 여기에서 OpenSource의 세계가 그를 만나러 갔습니다. 그래픽 셸의 버튼을 클릭하여 보다 친숙한 방식으로 Samba 리소스를 사용할 수 있도록 하는 많은 유틸리티가 만들어졌습니다. Mandrake 및 파생 상품 배포판에 포함된 가장 인기 있는 프로그램은 물론 Debian - 그놈바... 어쨌든 Linux용 소프트웨어가 있는 대부분의 서버에서 찾을 수 있습니다(ftp://ftp.altlinux.ru/에서 확실히 봤습니다). 이 유틸리티를 사용하면 사용 가능한 네트워크 리소스()를 볼 수 있고 필요한 경우 원하는 디렉토리에 마운트할 수 있으며, 이를 필요로 하는 리소스에 대한 로그인 및 비밀번호 표시와 함께 마운트하는 옵션이 가능합니다. 마운트할 때 파일 관리자를 시작할 수 있습니다(기본적으로 지엠씨), 마운트된 리소스에 대한 디렉토리 생성, 프로그램 시작 시 자동 스캔 옵션 설정(기본 SMB 프로토콜 사용) 및 IP 주소 스캔(WINS 프로토콜 사용 계획). 내가 명확히 하지 않은 이유로 일부 배포판에서는 SMB 프로토콜을 사용하여 스캔할 때 네트워크 리소스가 표시되지 않았기 때문에 항상 두 번째 방법을 사용합니다. 완벽하게 작동하기 때문에 스캔할 IP 주소 범위를 설정하기만 하면 됩니다( 알고 있다면). 올바른 러시아어 파일 이름을 표시하려면 탭에 koi8-r 글꼴을 설치하는 것을 잊지 마십시오. 옵션> 글꼴 선택또한 smb.conf 파일에서 키릴 문자 인코딩을 나타내는 행을 확인하십시오(위 참조).

gnomba가 리소스만 마운트 및 마운트 해제할 수 있는 경우 프로그램은 xsmbrowser또한 로컬 컴퓨터의 폴더로 입력할 수 있습니다(). 사실, 저는 아직 이 프로그램이 러시아어 이름을 가진 파일을 이해하도록 만들 수 없었지만 긍정적인 측면도 있습니다. 이 프로그램이 실행 중일 때 모든 마운트 명령과 다양한 네트워크 요청이 콘솔에 표시되므로 이해할 수 있습니다. 잘. KDE 개발자는 다음을 시도했습니다. 환경 설정> 정보유틸리티 사용 가능 삼바 상태, 로컬 컴퓨터와의 모든 연결을 표시하는 동시에 .log 파일을 보는 편리한 수단입니다. 유틸리티는 유사한 정보를 제공합니다. 콤바 http://linux.tucows.com/()에서 찾을 수 있습니다.

더 많이 말씀드리고 싶지만 잡지는 잡지입니다. 모든 것을 다 맞출 수는 없습니다. 또한 유비쿼터스 사람과 정보가 도움이 될 것입니다. 또한 필요한 모든 도움말 정보는 SWAT 유틸리티에서 얻을 수 있으며 Red Hat 7.3에는 Using Samba라는 책이 있습니다. 로버트 "엑스타인"(영어 - 나쁨, 완전 무료 - 좋음: / usr / share / swat / using_samba), SWAT()에서도 사용할 수 있습니다. 추가 문서, FAQ 및 샘플 구성 파일은 /usr/share/doc/samba 디렉토리에서 찾을 수 있습니다. 다양한 포럼에서 극도로 부정적인 것부터 완전한 열정에 이르기까지 Samba의 작업에 대해 상당히 상충되는 의견을 찾을 수 있습니다. 개인적으로 저는 이 Windows NT 에뮬레이터를 지지하는 편입니다. 게다가 동일한 하드웨어에 대한 테스트 결과에 따르면 Samba 서버는 Microsoft 시스템을 실행하는 컴퓨터보다 약 25-30% 높은 성능을 보여줍니다. 행운을 빕니다.



관련 기사: