삼바 - 첫 번째 단계. Windows, Linux, Android OS Samba 서비스를 실행하는 장치용 Samba를 사용하여 홈 네트워크 만들기

기본 Samba 구성 파일은 /etc/samba/smb.conf입니다. 초기 구성 파일에는 다양한 구성 지시문을 문서화하기 위한 상당한 수의 주석이 있습니다.

가능한 모든 옵션이 기본 설정 파일에 포함되어 있는 것은 아닙니다. 매뉴얼 보기 남자 smb.conf 자세한 내용은 Samba FAQ를 참조하세요.

1. 먼저 섹션에서 다음 키/값 쌍을 변경합니다. 파일 /etc/samba/smb.conf:

작업 그룹 = 예 ... 보안 = 사용자

매개변수 보안섹션의 훨씬 낮은 곳에 위치해 있습니다. 기본적으로 주석 처리되어 있습니다. 또한 교체 주변 환경에 더 적합한 것으로.

2. 파일 끝에 새 섹션을 생성하거나 공유하려는 디렉터리에 대한 예제 중 하나의 주석 처리를 제거합니다.

설명 = Ubuntu 파일 서버 공유 경로 = /srv/samba/share browsable = 예 게스트 ok = 예 읽기 전용 = 아니요 마스크 생성 = 0755

    논평: 공유 리소스에 대한 간단한 설명입니다. 귀하의 편의를 위해 사용됩니다.

    : 공유 디렉터리의 경로입니다.

    이 예에서는 /srv/samba/sharename을 사용합니다. FHS(파일 시스템 계층 구조 표준)에 따라 /srv 디렉토리는 특정 사이트와 관련된 모든 데이터가 상주해야 하는 디렉토리이기 때문입니다. 기술적으로 Samba 공유는 파일 액세스 제한이 허용되는 파일 시스템의 어느 곳에나 배치할 수 있지만 다음 표준을 권장합니다.

    탐색 가능: Windows 클라이언트가 다음을 사용하여 공유 디렉터리의 내용을 볼 수 있습니다. 윈도우 익스플로러.

    손님 알았어: 클라이언트가 비밀번호를 제공하지 않고 공유 리소스에 연결할 수 있도록 허용합니다.

    읽기 전용: 읽기 전용 또는 쓰기 권한으로 리소스에 액세스할 수 있는지 여부를 결정합니다. 쓰기 권한은 다음을 지정한 경우에만 사용할 수 있습니다. 아니요, 이 예에 표시된 대로. 값이 , 리소스에 대한 액세스는 읽기 전용이 됩니다.

    마스크 만들기: 생성된 새 파일에 대해 어떤 액세스 권한을 설정할지 정의합니다.

3. 이제 Samba가 구성되었으므로 디렉토리를 생성하고 이에 대한 권한을 설정해야 합니다. 터미널에 입력:

Sudo mkdir -p /srv/samba/share sudo chown none.nogroup /srv/samba/share/

매개변수 -피 존재하지 않는 경우 완전한 디렉토리 트리를 생성하도록 mkdir에 지시합니다.

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

Sudo 다시 시작 smbd sudo 다시 시작 nmbd

이제 Windows 클라이언트를 사용하여 Ubuntu 파일 서버를 검색하고 해당 공유 디렉터리를 찾아볼 수 있습니다. 클라이언트가 공유를 자동으로 표시하지 않으면 Windows 탐색기 창에서 IP 주소(예: \\192.168.1.1)를 통해 서버에 액세스해 보십시오. 모든 것이 작동하는지 확인하려면 Windows에서 공유 내부에 디렉터리를 만들어 보십시오.

추가 공유를 생성하려면 /etc/samba/smb.conf에 새 섹션을 생성하고 Samba를 다시 시작하십시오. 공유 디렉터리가 생성되었고 올바른 권한이 있는지 확인하세요.

공유 리소스 "" 그리고 길 /srv/삼바/공유- 이것은 단지 예일 뿐입니다. 환경에 따라 리소스 이름과 디렉터리 이름을 설정합니다. 파일 시스템의 리소스 디렉터리 이름을 리소스 이름으로 사용하는 것이 좋습니다. 즉, /srv/samba/qa 디렉터리에 대한 리소스를 지정할 수 있습니다.

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

삼바여러 악마로 구성되어 있습니다. 배경 Windows 서비스와 상호 작용하기 위한 서비스 및 다양한 명령줄 도구를 제공합니다.

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

Samba에서 사용하는 포트 목록

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

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

위는 다음을 사용하여 디렉토리에 액세스하는 예입니다. 공유 액세스. 로그인과 비밀번호로만 접근할 수 있는 개인 디렉토리의 또 다른 예를 살펴보겠습니다.

그룹을 만들고 사용자를 추가해 보겠습니다.

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

삼바 사용자를 만들어보자

Sudo smbpasswd -a proft

/etc/samba/smb.conf에 새 리소스를 추가합니다.

경로 = /srv/samba/proft 유효한 사용자 = @smbgrp guest ok = 쓰기 가능 없음 = 예 탐색 가능 = 예

서버를 다시 시작하자

Sudo systemctl restart smbd

다음을 포함하는 리소스 설정의 예 심볼릭 링크사용자 폴더( /srv/삼바/미디어/비디오 » /홈/프로프트/비디오)

경로 = /srv/samba/media guest ok = 예 읽기 전용 = 예 탐색 가능 = 예 강제 사용자 = proft

클라이언트 설정

컴퓨터의 공유 리소스 보기

Smb클라이언트 -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 작업그룹

삼바 리소스 마운트

# 마운트 지점 생성 mkdir -p ~/shares/public # 익명 사용자를 위한 리소스 마운트 none 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 mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,password=1,workgroup=WORKGROUP,ip= 192.168.24.101,utf8

비밀번호를 별도의 파일에 저장하는 것이 더 좋습니다.

# sudo vim /etc/samba/sambacreds 사용자 이름=proft 비밀번호=1 사용자 이름=noboy 비밀번호=

접근 권한을 0600으로 설정하세요

Sudo chmod 0600 /etc/samba/sambacreds

새로운 마운트 라인

Mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101

그리고 예를 들어 /etc/fstab

//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0

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

니모가 쓴다면 Nemo는 "smb" 위치를 처리할 수 없습니다.그건 패키지가 없어졌다는 뜻이에요 gvfs-smb.

Windows 및 Android 클라이언트를 사용하여 서버에 액세스

Windows에서는 다음을 사용하여 콘솔에서 작업 그룹을 찾을 수 있습니다.

넷 구성 워크스테이션

탐색기 줄이나 실행(시작 - 실행)에 UNC 주소를 입력하여 원격 컴퓨터에서 리소스를 열 수 있습니다. \192.168.24.101 .

Android에서는 다음을 사용하여 서버에 연결할 수 있습니다. ES 파일 탐색기, 네트워크 탭에서 간단하게 IP로 서버를 추가합니다(구성표, smb를 지정하지 않음). 그런 다음 공유 리소스를 열 수 있습니다. 통계: HDRIP 영화는 속도 저하 없이 실행됩니다.

추가 독서

요즘에는 동일한 로컬 네트워크에서 Linux와 Windows를 실행하는 컴퓨터를 찾는 것이 매우 일반적입니다. 이 공생의 이유는 다를 수 있습니다. 예를 들어 인터넷 카페 소유자가 모든 컴퓨터에 대해 라이센스가 부여된 OS를 구매할 자금이 충분하지 않았거나 시스템 관리자가 단순히 고용되었습니다. 긍정적인 측면리눅스. Microsoft 운영 체제의 인기는 주로 Windows용 클라이언트 소프트웨어에 의해 결정됩니다. 이 분야가 무엇인지는 비밀이 아닙니다. 소프트웨어매우 발전했습니다. 많은 회사들이 이를 위해 진지한 노력을 기울여 왔으며, 가장 중요한 것은 일반 사용자도 쉽게 익힐 수 있는 사용하기 쉬운 프로그램을 만들었습니다. 그러나 서버로서 Windows의 입장은 더 이상 명확하지 않습니다. Unix를 실행하는 서버는 전통적으로 신뢰성, 안정적인 작동, 보안 및 종종 시스템 리소스에 대한 낮은 요구 사항을 특징으로 합니다. 그러나 어떤 경우에도 단순히 다른 소프트웨어 플랫폼을 사용하는 컴퓨터를 네트워크에 연결하는 것만으로는 예상한 결과를 얻을 수 없습니다. 문제는 이 두 시스템이 서로 호환되지 않는 네트워크 리소스를 구성하기 위해 서로 다른 원칙을 사용한다는 것입니다.
Microsoft의 자비를 기다릴 필요가 없으며 Windows는 표준 수단을 사용하여 Unix 네트워크 파일 시스템(NFS)으로 작업하는 방법을 배울 가능성이 낮고 솔직히 타사 프로그램을 모릅니다. 대중적인 방법은 Unix에게 Windows NT인 것처럼 "가장"하도록 가르치는 것입니다.

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

SAMBA는 무엇을 제공해야 할까요? 정상 작동 Windows 시스템 네트워크에 있습니까? 첫째, 리소스 수준(공유 수준)에서 구현될 수 있는 액세스 제어는 비밀번호와 해당 사용 규칙이 네트워크의 모든 리소스(예: "읽기 전용")에 할당되고 사용자 이름은 절대적으로 아니 의미가 없습니다. 또는 이름과 비밀번호 외에도 리소스에 대한 액세스 권한에 대해 필요한 모든 정보가 포함된 각 사용자에 대해 계정이 생성되는 경우 사용자 수준에서 보다 발전되고 유연한 조직입니다. 필요한 리소스에 액세스하기 전에 각 사용자는 인증을 받은 후 해당 계정에 따라 권한이 부여됩니다. 둘째, 파일 시스템에 의해 결정된 접근 권한의 에뮬레이션이 필요합니다. 문제는 문제의 시스템이 디스크의 파일과 디렉터리에 대한 액세스 권한을 다르게 갖는다는 것입니다. Unix에는 전통적으로 세 가지 범주의 파일 사용자가 있습니다. 소유자, 그룹그리고 나머지 (기타). 이러한 각 엔터티가 제공될 수 있습니다. 읽기 권한, 쓰다그리고 실행. Windows NT에서는 액세스 시스템이 다소 유연하여 여러 그룹이나 사용자에게 액세스가 부여되고 해당 액세스 권한은 각 주제에 대해 별도로 결정됩니다. 따라서 SAMBA를 사용하여 NTFS에 내재된 액세스 권한을 완전히 에뮬레이트하는 것은 불가능합니다.

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

읽기 위해서만- 소유자를 위한 읽기, 쓰기

보관- 소유자에 대한 실행;

전신의- 그룹을 위한 실행

숨겨진 - 그룹에 대한 실행입니다.

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

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

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

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

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

$ ps -aux | grep smbd 루트 1122 0.0 0.6 4440 380 ? S 16:36 0:00 smbd -D

보시다시피 이미 실행 중입니다. 그것이 없고 시스템이 부팅될 때 시작되도록 하려면 예를 들어 Linux Mandrake에서 원하는 상자를 선택하십시오. 드락컨프- 서비스 시작또는 Red Hat 제어판- 서비스 구성, 일반적으로 이것으로 충분합니다. 또는 수동으로 시작하세요: ./etc/rc.d/init.d/smb start. 유일한 Samba 구성 파일은 smb.conf라고 하며 일반적으로 /etc 디렉터리에 있습니다(예를 들어 AltLinux에서는 /etc/samba 디렉터리에 있음). SAMBA 서비스는 60초마다 이를 읽으므로 구성에 대한 변경 사항은 재부팅하지 않고도 적용되지만 이미 설정된 연결에는 적용되지 않습니다.

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

일반적인 단면 매개변수의 값 글로벌:

Workgroup = group_name # Windows 네트워크의 작업 그룹 이름 netbios name = 네트워크의 서버 이름 server string = 네트워크 검색 속성 창에 표시되는 설명 guest ok = yes # 게스트 로그인 허용 (guest ok = no - guest 로그인이 금지됨) guest account = none # 게스트 로그인이 허용되는 이름 security = user # 액세스 수준. user - 사용자 수준에서 security = share - 사용자 이름과 비밀번호를 기반으로 한 인증입니다. 다른 SMB 서버에 비밀번호 데이터베이스를 저장할 때 보안 = 서버 및 비밀번호 서버 = 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))에서 사용됩니다. 암호화된 비밀번호를 사용하는 옵션을 활성화하려면 encrypt Password = yes 옵션을 사용하세요. 이 옵션에 특히 주의하시기 바랍니다. Windows 95 시대에 구축된 이전 Linux 배포판(및 이전 버전의 Samba 포함)에서는 비밀번호 암호화가 기본적으로 비활성화되어 있으며 이전에는 Samba가 비활성화되어 있습니다. 버전 2.0는 이 모드를 전혀 지원하지 않습니다(그런데 이 옵션과 유사한 옵션(특정 리소스에 대한 액세스와 관련되지 않은 옵션)도 클라이언트에서 사용됩니다).

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

인터페이스 = 192.168.0.1/24 옵션은 서버가 동시에 여러 네트워크에 연결된 경우 프로그램이 실행되어야 하는 네트워크(인터페이스)를 지정합니다. 바인딩 인터페이스 전용 = yes 매개변수를 설정하면 서버는 이러한 네트워크의 요청에만 응답합니다.

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

전역 섹션에서는 보다 유연한 서버 구성을 위해 다양한 변수를 사용할 수 있습니다. 연결이 설정된 후에는 실제 값이 대신 대체됩니다. 예를 들어, log file = /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 파일이 있으면 이 파일에서 구성을 가져옵니다. 특정 시스템에 대한 별도의 파일이 없으면 해당 시스템 작업에 공통 파일이 사용됩니다.

# sudo vim /etc/samba/sambacreds 사용자 이름=proft 비밀번호=1 사용자 이름=noboy 비밀번호=

접근 권한을 0600으로 설정하세요

Sudo chmod 0600 /etc/samba/sambacreds

새로운 마운트 라인

Mount -t cifs //192.168.24.101/public /home/proft/shares/public -o user=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101

그리고 예를 들어 /etc/fstab

//192.168.24.101/public /home/proft/shares/public cifs noauto,username=proft,credentials=/etc/samba/sambacreds,workgroup=WORKGROUP,ip=192.168.24.101 0 0

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

니모가 쓴다면 Nemo는 "smb" 위치를 처리할 수 없습니다.그건 패키지가 없어졌다는 뜻이에요 gvfs-smb.

Windows 및 Android 클라이언트를 사용하여 서버에 액세스

Windows에서는 다음을 사용하여 콘솔에서 작업 그룹을 찾을 수 있습니다.

넷 구성 워크스테이션

탐색기 줄이나 실행(시작 - 실행)에 UNC 주소를 입력하여 원격 컴퓨터에서 리소스를 열 수 있습니다. \192.168.24.101 .

Android에서는 다음을 사용하여 서버에 연결할 수 있습니다. ES 파일 탐색기, 네트워크 탭에서 간단하게 IP로 서버를 추가합니다(구성표, smb를 지정하지 않음). 그런 다음 공유 리소스를 열 수 있습니다. 통계: HDRIP 영화는 속도 저하 없이 실행됩니다.

추가 독서

아니면 사용자가 다양한 적합한 소프트웨어를 검색하도록 유도하는 것은 단지 관심과 호기심일 수도 있습니다. Samba는 그러한 소프트웨어 중 하나입니다. 컴퓨터를 데이터베이스나 파일 저장소로 전환하려면 Ubuntu Server에서 Samba를 설정하는 방법을 알아야 합니다.

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

이 페이지가 댄스 학습 전용 페이지라고 생각했다면 약간 착각했습니다. 삼바는 무료 소프트웨어입니다. 프린터와 파일에 대한 액세스를 제공합니다. 그리고 다양한 운영 체제에서 이 작업을 수행합니다.

그것은 무엇을 위한 것입니까?

유사한 목적을 가진 다른 소프트웨어 패키지와 비교할 때 Samba에는 몇 가지 장점과 기능이 있습니다.

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

아마도 많은 사람들에게 가장 중요한 것은 Windows 시스템과의 통신입니다. 이 경우 Ubuntu 컴퓨터는 클라이언트 역할을 하고 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 주소 확인 순서입니다.
  • 읽기 전용 - 디렉터리를 읽거나 쓸 수 있는 권한입니다. 값은 "예"(읽기 전용), "아니오"(쓰기)일 수 있습니다.

사용자 생성

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


OS 자체에 사용자를 추가합니다.

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

비밀번호를 만들어 보겠습니다.

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

$ smbpasswd -a 사용자 이름


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

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

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

$ systemctl 재시작 smb

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

폴더 액세스

먼저 Samba에서 권한이 없는 사용자를 포함하여 모든 사용자가 액세스할 수 있는 폴더를 만들어 보겠습니다.

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

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

이제 우리는 모든 클라이언트가 이 폴더를 열 수 있도록 이 폴더에 대한 확장 액세스를 만들고 있습니다. 지역 네트워크:

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

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


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

작업그룹 = 작업그룹
서버 문자열 = 삼바 서버 %v
넷바이오스 이름 = srvr1
보안 = 사용자
게스트에 매핑 = 나쁜 사용자
이름 확인 순서 = bcast 호스트
DNS 프록시 = 아니요
#==============
액세스 폴더에 대한 데이터가 포함된 두 번째 항목은 다음과 같습니다.

경로 = /samba/access
탐색 가능 =예
쓰기 가능 = 예
손님 알았어 = 응
읽기 전용 = 아니요

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

업데이트 서버 변경 사항:

$ sudo 서비스 smbd 재시작

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 보안 그룹

우리는 다양한 그룹에 대해 특별한 권리를 부여합니다:

$ CD /삼바/액세스
$ sudo chown -R richard:보안그룹 폐쇄
$ sudo chmod -R 0770 닫힘/

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

경로 = /samba/access/closed
유효한 사용자 = @securegroup
손님 알았어 = 아니오
쓰기 가능 = 예
탐색 가능 = 예

서버를 다시 시작합니다.

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

모든 것이 배치 파일에 지정한 대로 정확하게 작동하는지 확인하려면 몇 가지 간단한 단계를 수행하면 됩니다.

요즘에는 동일한 로컬 네트워크에서 Linux와 Windows를 실행하는 컴퓨터를 찾는 것이 매우 일반적입니다. 이 공생의 이유는 다를 수 있습니다. 예를 들어 인터넷 카페 소유자는 모든 컴퓨터에 대해 라이센스가 부여된 OS를 구매할 자금이 충분하지 않았습니다. 시스템 관리자저는 단순히 Linux의 긍정적인 측면에 매료되었습니다. Microsoft 운영 체제의 인기는 주로 Windows용 클라이언트 소프트웨어에 의해 결정됩니다. 이 소프트웨어 부문이 매우 발전했다는 것은 비밀이 아닙니다. 많은 회사들이 이를 위해 진지한 노력을 기울여 왔으며, 가장 중요한 것은 일반 사용자도 쉽게 익힐 수 있는 사용하기 쉬운 프로그램을 만들었습니다. 그러나 서버로서 Windows의 입장은 더 이상 명확하지 않습니다. Unix를 실행하는 서버는 전통적으로 신뢰성, 안정적인 작동, 보안 및 종종 시스템 리소스에 대한 낮은 요구 사항을 특징으로 합니다. 그러나 어떤 경우에도 단순히 다른 소프트웨어 플랫폼을 사용하는 컴퓨터를 네트워크에 연결하는 것만으로는 예상한 결과를 얻을 수 없습니다. 문제는 이 두 시스템이 서로 호환되지 않는 네트워크 리소스를 구성하기 위해 서로 다른 원칙을 사용한다는 것입니다.
Microsoft의 자비를 기다릴 필요가 없으며 Windows는 Unix 네트워크 파일 시스템(NFS) 작업 방법을 배울 가능성이 낮습니다. 표준 수단, 그리고 솔직히 말해서 저는 타사 프로그램을 전혀 모릅니다. 가장 널리 사용되는 방법은 Unix가 Windows NT인 것처럼 "가장"하도록 가르치는 것입니다.

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

네트워크에서 Windows 시스템의 정상적인 작동을 위해 SAMBA는 무엇을 제공해야 합니까? 첫째, 리소스 수준(공유 수준)에서 구현될 수 있는 액세스 제어는 비밀번호와 해당 사용 규칙이 네트워크의 모든 리소스(예: "읽기 전용")에 할당되고 사용자 이름은 절대적으로 아니 의미가 없습니다. 또는 이름과 비밀번호 외에도 리소스에 대한 액세스 권한에 대해 필요한 모든 정보가 포함된 각 사용자에 대해 계정이 생성되는 경우 사용자 수준에서 보다 발전되고 유연한 조직입니다. 필요한 리소스에 액세스하기 전에 각 사용자는 인증을 받은 후 해당 계정에 따라 권한이 부여됩니다. 둘째, 파일 시스템에 의해 결정된 접근 권한의 에뮬레이션이 필요합니다. 문제는 문제의 시스템이 디스크의 파일과 디렉터리에 대한 액세스 권한을 다르게 갖는다는 것입니다. 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/samba /etc/samba /usr/share/man/man7/samba.7.gz

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

$ ps -aux | grep smbd 루트 1122 0.0 0.6 4440 380 ? S 16:36 0:00 smbd -D

보시다시피 이미 실행 중입니다. 그것이 없고 시스템이 부팅될 때 시작되도록 하려면 예를 들어 Linux Mandrake에서 원하는 상자를 선택하십시오. 드락컨프서비스 시작또는 Red Hat 제어판서비스 구성, 일반적으로 이것으로 충분합니다. 또는 수동으로 시작하세요: ./etc/rc.d/init.d/smb start. 유일한 Samba 구성 파일은 smb.conf라고 하며 일반적으로 /etc 디렉터리에 있습니다(예를 들어 AltLinux에서는 /etc/samba 디렉터리에 있음). SAMBA 서비스는 60초마다 이를 읽으므로 구성에 대한 변경 사항은 재부팅하지 않고도 적용되지만 이미 설정된 연결에는 적용되지 않습니다.

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

일반적인 단면 매개변수의 값 글로벌:

Workgroup = group_name # Windows 네트워크의 작업 그룹 이름 netbios name = 네트워크의 서버 이름 server string = 네트워크 검색 속성 창에 표시되는 설명 guest ok = yes # 게스트 로그인 허용 (guest ok = no - guest 로그인이 금지됨) guest account = none # 게스트 로그인이 허용되는 이름 security = user # 액세스 수준. user - 사용자 수준에서 security = share - 사용자 이름과 비밀번호를 기반으로 한 인증입니다. 다른 SMB 서버에 비밀번호 데이터베이스를 저장할 때 보안 = 서버 및 비밀번호 서버 = 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))에서 사용됩니다. 암호화된 비밀번호를 사용하는 옵션을 활성화하려면 encrypt Password = yes 옵션을 사용하세요. 이 옵션에 특히 주의하시기 바랍니다. Windows 95 시대(및 그 이후)에 만들어진 이전 Linux 배포판에서는 구 버전 Samba) 비밀번호 암호화는 기본적으로 비활성화되어 있으며 Samba는 최대 버전 2.0는 이 모드를 전혀 지원하지 않습니다(그런데 이 옵션과 유사한 옵션(특정 리소스에 대한 액세스와 관련되지 않은 옵션)도 클라이언트에서 사용됩니다).

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

인터페이스 = 192.168.0.1/24 옵션은 서버가 동시에 여러 네트워크에 연결된 경우 프로그램이 실행되어야 하는 네트워크(인터페이스)를 지정합니다. 바인딩 인터페이스 전용 = yes 매개변수를 설정하면 서버는 이러한 네트워크의 요청에만 응답합니다.

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

전역 섹션에서는 보다 유연한 서버 구성을 위해 다양한 변수를 사용할 수 있습니다. 연결이 설정된 후에는 실제 값이 대신 대체됩니다. 예를 들어, log file = /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 = 홈 디렉터리 # 네트워크 속성 창에 표시되는 주석 browserable = no # 찾아보기 목록에 리소스를 표시할지 여부를 결정합니다. writable = yes # 홈 디렉토리에 쓰기를 허용(아니요 - 거부)합니다. create mode = 0750 # 새로 생성된 파일에 대한 액세스 권한 Directory mode = 0775 # 또한, 그러나 디렉토리에만 해당

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

설명 = 공용 항목 경로 = /home/samba 공개 = 예 쓰기 가능 = 인쇄 가능 = 아니오 쓰기 목록 = 관리자, @sales

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

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

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

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

Cdrom -fstype=auto,ro:/dev/cdrom

이 모든 작업이 끝나면 /etc/smb.conf에 다음 줄을 작성하여 이 리소스를 사용할 수 있게 만듭니다.

경로 = /mnt/cdrom 쓰기 가능 = 아니요

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

Path = /mnt/cdrom 읽기 전용 = 예 root preexec = mount /mnt/cdrom # 루트만이 리소스를 마운트할 수 있는 권한을 가집니다. root postexec = umount /mnt/cdrom # 당연히 이러한 마운트 지점은 /etc/ 그렇지 않으면 다른 정보도 제공해야 합니다.

이제 리소스에 액세스하면 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 판매 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이 생성되며, 각 매핑은 별도의 줄로 지정됩니다.

User_Linux = user_win1 user_win2 user_winN

섹션에 사용자 이름 맵 = /etc/smbusers.map 줄을 추가합니다. 이 경우 Windows 사용자는 자신과 연결된 사용자의 비밀번호로 등록해야 합니다.

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

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

Printcap name = /etc/printcap # 시스템에 연결된 프린터를 설명하는 파일 load Printers = yes # 네트워크 자원 목록에 자동으로 포함해야 함을 나타냅니다. Printing = lprng # 인쇄 시스템(Linux의 경우 bsd를 사용할 수도 있음).

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

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

이제 좋은 점에 대해 조금 설명하겠습니다. Samba 구성은 상당히 복잡하지만 배포판에는 Samba라는 웹 기반 관리 도구가 함께 제공됩니다. 가볍게 때리다(Samba 웹 관리 도구, ). Swat은 서비스로 출시되거나 아파치 서버 smb.conf 파일 편집, 상태 확인, Samba 데몬 시작 및 중지, 사용자 비밀번호 변경을 위한 것입니다. 서비스로 작동하려면 /etc/services 파일에 swat 901/tcp 줄이 포함되어야 하고 /etc/inetd.conf 파일에 swat stream tcp nowait.400 root /usr/local/samba/bin/이 포함되어야 합니다. swat swat(네트워크 데몬이 사용되는 경우) inetd, 일반적으로 오래된 배포판에 있습니다. 최신 배포판은 더 안전한 옵션을 사용합니다. xinetd). /etc/xinet.d 디렉토리에서 swat를 사용하려면 다음 내용으로 swat 파일을 생성하십시오.

서비스 스와트( 비활성화 = 포트 없음 = 901 소켓_유형 = 스트림 대기 = 없음 only_from = 127.0.0.1 # 이것은 다음에서만 실행되는 줄입니다. 로컬 머신사용자 = 루트 서버 = /usr/sbin/swat log_on_failure += USERID )

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

http://localhost:901

하지만 그 전에 반드시 사용자를 생성하세요. 관리자위에서 설명한 방식으로. 그리고 절대로 SAMBA 서비스를 대신하여 실행하지 마십시오. 뿌리.

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

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

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

이제 우리(Linux 사용자)도 Windows 네트워크 리소스를 사용하여 작업하기를 원하므로 Samba 클라이언트 사용에 대해 이야기하겠습니다. 사용 가능한 리소스를 확인하려면 /usr/bin/smbclient -L host_name 명령을 입력해야 합니다. 프로그램은 비밀번호를 묻는 메시지를 표시하며, 이에 대한 응답으로 대부분의 경우 Enter 키만 누르면 됩니다. 이제 필요한 리소스에 연결하려면 컴퓨터 이름과 필요한 리소스를 입력하세요. 예를 들어:

# /usr/bin/smbclient \\Alex\Sound

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

Mount -t smbfs -o 사용자 이름=user,password=123456,iocharset=koi8-r,codepage=866 //alex/sound /mnt/sound.

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

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

//guest@alex/sound /mnt/alex/sound smbfs rw, noauto 0 0.

이 예에서는 사용자를 대신하여 손님(리소스가 이 사용자를 지원하고 이 사용자가 비밀번호로만 액세스할 수 있는 경우 걱정하지 마십시오. 반드시 비밀번호를 묻는 메시지가 표시됩니다.) alex 컴퓨터의 사운드 네트워크 리소스는 /mnt/alex/sound 폴더에 마운트됩니다. 이 디렉토리에 쓸 수 있는 능력이 있습니다. 그런데 Samba 클라이언트는 숨겨진 네트워크 리소스를 완벽하게 볼 수 있습니다. 네트워크 이름이 $ 기호로 끝나는 네트워크입니다.

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

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

더 말씀드리고 싶은 만큼, 잡지는 잡지입니다. 모든 것을 담을 수는 없습니다. 다음으로, 유비쿼터스 사람과 정보가 당신을 도울 것입니다. 또한 필요한 모든 참조 정보는 SWAT 유틸리티에서 얻을 수 있으며 Red Hat 7.3에는 Samba 사용 책이 있습니다. 로버트 "에크슈타인"(영어 - 나쁨, 완전 무료 - 좋음: /usr/share/swat/using_samba), SWAT()에서도 사용 가능합니다. 추가 문서, FAQ 및 예제 구성 파일은 /usr/share/doc/samba 디렉터리에서 찾을 수 있습니다. 다양한 포럼에서 Samba 작업에 대한 극도로 부정적인 의견부터 매우 모순적인 의견까지 찾을 수 있습니다. 완전한 기쁨. 개인적으로 저는 이것을 지지하는 사람들의 편입니다. Windows 에뮬레이터또한 NT의 경우 동일한 장비로 테스트한 결과 Samba 서버는 Microsoft 시스템을 실행하는 컴퓨터보다 약 25~30% 더 높은 성능을 보여줍니다. 행운을 빌어요.

때로는 매우 빠르게 서버에 파일 공유를 설정하고 이에 대한 액세스를 열어야 하는 경우도 있습니다. 이 경우 복잡한 구성, 액세스 권한 또는 기타 사항을 차단할 필요가 없습니다. 불필요한 질문 없이 정보에 빠르게 접근하면 됩니다.

예를 들어, 최근에 액세스를 열려면 이와 같은 것이 필요했습니다. 백업, 서버에 저장되었습니다. 나는 그것을 알아 내고 정보를 직접 찾고 싶지 않았고 필요한 모든 것을 찾을 수 있도록 그 사람에게 읽기 액세스 권한을 빨리 부여해야했습니다.

운영 체제 버전을 구체적으로 다루지는 않겠습니다. Samba의 구성은 제가 작업한 거의 모든 곳에서 동일합니다. 특히 가장 간단한 구성에서는 더욱 그렇습니다.

따라서 귀하의 상황에 적합한 방식으로 삼바를 설치하십시오. 운영 체제. 구성은 Samba 버전 3에 유효합니다. 다음으로 필요한 것이 무엇인지 결정합니다.

  • 사용자와 비밀번호로 접근,
  • IP 주소로 액세스,
  • 제한 없이 누구나 접근할 수 있습니다.

이에 따라 설정이 조금씩 달라집니다.

비밀번호 접근의 경우다음 구성을 그립니다.

보안 = 사용자 passdb 백엔드 = tdbsam 작업 그룹 = MYGROUP 서버 문자열 = Samba 경로 = /mnt/shara 유효한 사용자 = @users 강제 그룹 = 사용자 생성 마스크 = 0660 디렉터리 마스크 = 0771 쓰기 가능 = 예 탐색 가능 = 예

# useradd share-user -M -G 사용자 -s /sbin/nologin

이 사용자를 Samba로 가져오고 비밀번호를 설정합니다.

# smbpasswd -a 공유 사용자

그리고 우리는 다음 주소의 무도회에 가려고 합니다.

\\서버 IP\공유

정리하다 IP 주소에 따라 액세스, smb.conf에서 다음 설정을 지정합니다.

보안 = 작업 그룹 공유 = MYGROUP 서버 문자열 = 게스트에 대한 Samba 매핑 = 잘못된 사용자 경로 = /mnt/files 찾아보기 가능 = 예 쓰기 가능 = 예 게스트 ok = 예 읽기 전용 = 호스트 허용 안 함 = 192.168.0.171

이 경우 전체 권한주소는 192.168.0.171입니다. 전체 서브넷을 추가하려면 다음을 지정해야 합니다.

호스트 허용 = 192.168.0.

서로 다른 서브넷과 주소를 공백으로 구분하여 결합할 수 있습니다. 허용된 서브넷의 일부 개별 주소에 대한 액세스를 비활성화하려면 다음을 수행할 수 있습니다.

호스트 허용 = 192.168.0. 192.168.0.15 제외

주소 192.168.0.15를 제외하고 전체 서브넷 192.168.0.0/24에 대한 액세스가 허용됩니다.

삼바를 다시 시작하고 확인합니다.

Samba 4가 설치되어 있는 경우 이 구성은 작동하지 않으며 오류가 발생합니다.

경고: 잘못된 값 무시 "share" for parameter "security" !}

IP 액세스가 제대로 작동하려면 위 구성을 다음과 같이 변경해야 합니다.

보안 = 게스트에 대한 사용자 매핑 = 잘못된 비밀번호

나머지 매개변수는 그대로 둡니다. 그 후에는 IP를 통한 액세스가 Samba 버전 4에서 작동합니다.

만약에 모든 사람에게 제한 없이 액세스가 제공됩니다., 가장 간단한 삼바 구성은 다음과 같습니다.

보안 = 사용자 작업 그룹 = MYGROUP 서버 문자열 = Samba 게스트 계정 = 게스트에 아무도 매핑되지 않음 = 잘못된 사용자 경로 = /mnt/files 탐색 가능 = 예 게스트 ok = 예 쓰기 가능 = 예 공개 = 예

모든 사람에게 폴더에 대한 권한을 부여하는 것을 잊지 마세요:

# chmod 0777 /mnt/파일

Samba를 다시 시작하고 로그인을 시도하십시오. 그들은 어떤 질문도 없이 당신을 들여보내야 합니다.

삼바를 이용하여 말 그대로 5분만에 간단한 파일 서버를 구성하는 방법입니다. 그리고 종종 그것은 더 어렵고 필요하지 않습니다. 일종의 파일 덤프의 경우 최신 옵션이 적합합니다.

더 복잡한 구성에 대해서는 별도의 기사가 있습니다.

Linux 온라인 강좌

가용성이 높고 안정적인 시스템을 구축하고 유지 관리하는 방법을 배우고 싶다면 다음 내용을 익히는 것이 좋습니다. 온라인 코스 "Linux 관리자"오투스에서. 본 과정은 초보자를 위한 과정이 아니며, 입학을 위해서는 네트워크에 대한 기본 지식이 필요하며, 리눅스 설치가상 머신에. 교육은 5개월 동안 진행되며, 이후 성공적인 과정 수료자는 파트너와의 인터뷰를 받을 수 있습니다. 이 과정에서 제공되는 내용:
  • Linux 아키텍처에 대한 지식.
  • 개발 현대적인 방법데이터 분석 및 처리 도구.
  • 필요한 작업에 대한 구성을 선택하고 프로세스를 관리하며 시스템 보안을 보장하는 기능입니다.
  • 시스템 관리자의 기본 작업 도구에 능숙합니다.
  • Linux에 구축된 네트워크 배포, 구성 및 유지 관리의 세부 사항을 이해합니다.
  • 새로운 문제를 신속하게 해결하고 시스템의 안정적이고 중단 없는 작동을 보장하는 능력.
입학 시험을 통해 자신을 테스트하고 자세한 내용은 프로그램을 참조하세요.


맨 위