네트워크용 Cifs amr 프로토콜입니다. 예제에 사용된 기본 매개변수입니다. SMB 프로토콜용 CIFS 확장

최근 SMB v1 취약점을 악용하는 WannaCry 랜섬웨어가 발생하면서 이 프로토콜을 비활성화하라는 조언이 네트워크에 다시 나타났습니다. 또한 Microsoft는 2016년 9월에 SMB의 첫 번째 버전을 비활성화할 것을 강력히 권장했습니다. 그러나 이러한 연결 끊김은 예상치 못한 결과, 심지어 재미있는 일까지 초래할 수 있습니다. 저는 개인적으로 SMB와 싸운 후 Sonos 무선 스피커의 재생이 중단된 회사를 발견했습니다.


특히 "발에 총을 맞을" 가능성을 최소화하기 위해 SMB의 기능을 상기시키고 이전 버전을 무심코 비활성화했을 때의 결과를 자세히 고려하고 싶습니다.


중소기업(서버 메시지 블록)은 파일 및 프린터에 대한 원격 액세스를 위한 네트워크 프로토콜입니다. 이는 \servername\sharename을 통해 리소스를 연결할 때 사용되는 것입니다. 이 프로토콜은 처음에는 UDP 포트 137, 138 및 TCP 137, 139를 사용하여 NetBIOS 위에서 작동했습니다. Windows 2000이 출시되면서 TCP 포트 445를 사용하여 직접 작동하기 시작했습니다. SMB는 또한 Active Directory 도메인.


리소스에 대한 원격 액세스 외에도 프로토콜은 "명명된 스트림"(명명된 파이프)을 통한 프로세서 간 통신에도 사용됩니다. 프로세스는 \.\pipe\name 경로를 통해 액세스됩니다.

CIFS(Common Internet File System)라고도 알려진 프로토콜의 첫 번째 버전은 1980년대에 만들어졌지만 두 번째 버전은 2006년 Windows Vista에서만 나타났습니다. 프로토콜의 세 번째 버전은 Windows 8과 함께 출시되었습니다. 이 프로토콜은 Microsoft와 병행하여 생성되었으며 개방형 Samba 구현에서 업데이트되었습니다.


프로토콜의 새 버전이 나올 때마다 성능, 보안 및 새로운 기능 지원을 향상시키기 위해 다양한 개선 사항이 추가되었습니다. 그러나 동시에 호환성을 위해 이전 프로토콜에 대한 지원도 유지되었습니다. 물론 이전 버전에는 꽤 많은 취약점이 있었고 그 중 하나는 WannaCry에 의해 악용되었습니다.


스포일러 아래에는 SMB 버전의 변경 사항 요약 표가 있습니다.

버전 운영 체제 이전 버전에 비해 추가됨
중소기업 2.0 윈도우 비스타/2008 프로토콜 명령 수가 100개 이상에서 19개로 변경되었습니다.
"컨베이어" 작업 가능성 – 이전 요청에 대한 응답을 받기 전에 추가 요청 보내기
심볼릭 링크 지원
MD5 대신 SHA256을 사용하여 HMAC 메시지 서명
캐시 및 쓰기/읽기 블록 증가
중소기업 2.1 윈도우 7/2008R2 성능 개량
더 큰 MTU 지원
BranchCache 서비스 지원 - 로컬 네트워크에서 글로벌 네트워크에 대한 요청을 캐시하는 메커니즘
중소기업 3.0 윈도우 8/2012 부하 분산을 통해 투명한 장애 조치 클러스터 구축 가능
직접 메모리 액세스(RDMA) 지원
Powershell cmdlet을 통해 관리
VSS 지원
AES–CMAC 서명
AES-CCM 암호화
네트워크 폴더를 사용하여 HyperV 가상 머신을 저장하는 기능
네트워크 폴더를 사용하여 Microsoft SQL 데이터베이스를 저장하는 기능
중소기업 3.02 윈도우 8.1/2012R2 보안 및 성능 개선
클러스터의 자동 밸런싱
중소기업 3.1.1 윈도우 10/2016 AES–GCM 암호화 지원
SHA512 해시를 사용한 인증 전 무결성 검사
SMB 2.x 이상 클라이언트와 작업할 때 필수 보안 "협상"

우리는 조건부로 피해자를 고려합니다

현재 사용되는 프로토콜 버전을 보는 것은 매우 쉽습니다. 이를 위해 cmdlet을 사용합니다. Get-SmbConnection:



다른 버전의 Windows를 실행하는 서버에서 네트워크 리소스가 열려 있는 경우 cmdlet 출력입니다.


출력에서는 모든 버전의 프로토콜을 지원하는 클라이언트가 서버에서 지원하는 가능한 최대 버전을 사용하여 연결한다는 것을 보여줍니다. 물론 클라이언트가 이전 버전의 프로토콜만 지원하고 서버에서 비활성화된 경우 연결이 설정되지 않습니다. cmdlet을 사용하여 최신 Windows 시스템에서 이전 버전에 대한 지원을 활성화하거나 비활성화할 수 있습니다. 설정 -SmbServerConfiguration, 다음과 같은 상태를 확인하세요.


Get–SmbServer구성 | EnableSMB1Protocol, EnableSMB2Protocol을 선택합니다.


Windows 2012 R2를 실행하는 서버에서 SMBv1을 비활성화합니다.



Windows 2003에 접속했을 때의 결과.


따라서 오래되고 취약한 프로토콜을 비활성화하면 이전 클라이언트의 네트워크 기능이 손실될 수 있습니다. 또한 SMB v1은 Windows XP 및 2003 외에도 다양한 소프트웨어 및 하드웨어 솔루션(예: 이전 버전의 Samba를 사용하는 GNU\Linux의 NAS)에서도 사용됩니다.


스포일러 아래에는 SMB v1이 비활성화되면 작동이 완전히 또는 부분적으로 중지되는 제조업체 및 제품 목록이 제공됩니다.

제조업체 제품 코멘트
바라쿠다 SSL VPN
웹 보안 게이트웨이 백업
정경 네트워크 리소스로 스캔
시스코 WSA/WSAv
WAAS 버전 5.0 이상
F5 RDP 클라이언트 게이트웨이
Microsoft Exchange 프록시
포스포인트(레이시온) "일부 제품"
HPE ArcSight 레거시 통합 커넥터 이전 버전
IBM 넷서버 버전 V7R2 이하
QRadar 취약성 관리자 버전 7.2.x 이하
렉스마크 펌웨어 eSF 2.x 및 eSF 3.x
리눅스 커널 CIFS 클라이언트 2.5.42에서 3.5.x로
맥아피 웹 게이트웨이
마이크로소프트 윈도우 XP/2003 이하
묘브 회계사
넷앱 온탭 최대 9.1 버전
넷기어 레디NAS
신탁 솔라리스 11.3 이상
펄스 시큐어 PCS 8.1R9/8.2R4 이상
추신 5.1R9/5.3R4 이상
큐냅 모든 저장 장치 4.1보다 오래된 펌웨어
빨간 모자 RHEL 최대 버전 7.2
리코 MFP, 네트워크 리소스로 스캔 다양한 모델 외에도
RSA 인증 관리자 서버
삼바 삼바 3.5 이상
소노스 무선 스피커
소포스 소포스 UTM
소포스 XG 방화벽
소포스 웹 어플라이언스
수세 SLES 11세 이상
시놀로지 디스크스테이션 관리자 제어만 가능
톰슨 로이터 CS 프로페셔널 스위트
틴트리 틴트리 OS, 틴트리 글로벌센터
VM웨어 Vcenter
ESXi 6.0 이상
월드톡스 GX3 DMS
제록스 복사기 MFP, 네트워크 리소스로 스캔 ConnectKey 펌웨어가 없는 펌웨어

목록은 정기적으로 업데이트되는 Microsoft 웹사이트에서 가져왔습니다.


이전 버전의 프로토콜을 사용하는 제품 목록은 상당히 많습니다. SMB v1을 비활성화하기 전에 결과에 대해 확실히 생각해야 합니다.

아직도 꺼져 있어

네트워크에 SMB v1을 사용하는 프로그램과 장치가 없으면 물론 이전 프로토콜을 비활성화하는 것이 좋습니다. 또한 Powershell cmdlet을 사용하여 Windows 8/2012 SMB 서버 종료를 수행하는 경우 Windows 7/2008의 경우 레지스트리를 편집해야 합니다. Powershell을 사용하여 이 작업을 수행할 수도 있습니다.


Set –ItemProperty –Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 –DWORD 유형 –값 0 –Force

또는 다른 편리한 방법으로. 그러나 변경 사항을 적용하려면 재부팅이 필요합니다.


클라이언트에서 SMB v1 지원을 비활성화하려면 해당 작업을 담당하는 서비스를 중지하고 lanmanworkstation 서비스의 종속성을 수정하면 됩니다. 이 작업은 다음 명령을 사용하여 수행할 수 있습니다.


sc.exe 구성 lanmanworkstation 의존=bowser/mrxsmb20/nsi sc.exe 구성 mrxsmb10 시작=비활성화

네트워크 전체에서 프로토콜을 편리하게 비활성화하려면 그룹 정책, 특히 그룹 정책 기본 설정을 사용하는 것이 편리합니다. 이를 사용하면 레지스트리 작업을 편리하게 수행할 수 있습니다.



그룹 정책을 통해 레지스트리 요소를 생성합니다.


서버에서 프로토콜을 비활성화하려면 다음 매개변수를 생성하면 됩니다.

    경로: HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters;

    새 매개변수: 이름이 SMB1인 REG_DWORD;

  • 값: 0.


그룹 정책을 통해 서버에서 SMB v1을 비활성화하는 레지스트리 설정을 만듭니다.


클라이언트에서 SMB v1 지원을 비활성화하려면 두 매개변수의 값을 변경해야 합니다.


먼저 SMB v1 프로토콜 서비스를 비활성화합니다.

    경로: HKLM:\SYSTEM\CurrentControlSet\services\mrxsmb10;

    매개변수: 이름이 Start인 REG_DWORD;

  • 값: 4.


매개변수 중 하나를 업데이트합니다.


그런 다음 SMB v1에 의존하지 않도록 LanmanWorkstation 서비스의 종속성을 수정합니다.

    경로: HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation;

    매개변수: REG_MULTI_SZ, 이름은 ExpectOnService입니다.

  • 값: 세 줄 – Bowser, MRxSmb20 및 NSI.


그리고 우리는 그것을 다른 것으로 교체합니다.


그룹 정책을 적용한 후에는 조직의 컴퓨터를 다시 시작해야 합니다. 재부팅 후에는 SMB v1이 더 이상 사용되지 않습니다.

작동합니다. 만지지 마세요.

이상하게도 이 오래된 명령이 항상 유용한 것은 아닙니다. 트로이 목마는 거의 업데이트되지 않는 인프라에도 나타날 수 있습니다. 그러나 부주의한 서비스 종료 및 업데이트는 바이러스와 마찬가지로 조직의 업무를 마비시킬 수 있습니다.


SMB의 첫 번째 버전을 이미 비활성화하셨나요? 사상자가 많았나요?

초보자를 위한 단계별 가이드

컴퓨터에서 수행되는 작업

열고 필요한 경우 컴퓨터의 네트워크 설정을 변경합니다. 다음과 같아야 합니다:

  1. 실제 또는 가상의 IP 주소입니다. 이 예에서는 주소를 사용합니다. 10.10.10.10
  2. 컴퓨터가 참여하는 작업 그룹(또는 회사 로컬 네트워크의 도메인)의 이름입니다. 우리는 그 이름을 사용할 것입니다 노워크노그룹
  3. 활성 연결의 사용자 이름(보통 시작 메뉴에 표시됨) 우리는 그 이름을 사용할 것입니다. 도시카우보이
  4. 필요한 경우 이 계정의 비밀번호입니다. 비밀번호를 사용하겠습니다. 비밀 비밀번호

이제 "네트워크 공유"를 생성해야 합니다. 온라인에서 사용할 수 있는 디렉토리입니다.

이 예에서는 다음과 같은 디렉터리를 만듭니다. C:\Nokia770. 탐색기에서 이 디렉터리를 마우스 오른쪽 버튼으로 클릭하고 "집단이용과 안전"(또는 이와 유사한 것).

"네트워크에서 공유" 프레임에서 "이 디렉토리를 네트워크에서 공유" 확인란을 선택해야 합니다.

그런 다음 공유 리소스가 네트워크에 나타날 이름을 입력해야 합니다. 이 이름은 디렉터리 이름과 동일할 필요는 없습니다. 우리의 경우에는 이름을 저장해 두겠습니다. 노키아770기본.

공유 제품이 네트워크에서 읽기 전용인지 또는 다른 컴퓨터에서도 사용자 컴퓨터에 쓸 수 있는지 여부를 결정하는 확인란도 있습니다. 선택은 당신의 것입니다 ...

대화 상자에서 작업을 확인한 후 탐색기의 디렉터리 아이콘은 "유지 관리"되었음을 나타내도록 변경됩니다. 이제 컴퓨터 측에서 모든 것이 준비되었습니다.

중급

다음 주소의 "fanoush" 사용자 덕분에 사용할 수 있는 작은 소프트웨어를 태블릿에 추가해 보겠습니다.

문제가 발생하면 웹사이트에도 게시됩니다.

서버가 빠르지는 않지만 액세스가 제한되지 않고 파일 크기도 작습니다(105KB).

Nokia 장치에서의 작업

Xterm이 설치되어 있어야 하며 어떻게든 "관리자 사용자"가 되어야 합니다(그리고 명령줄을 사용하여 작업하는 것이 두렵지 않을 것입니다...).

Nokia 장치와 네트워크 또는 컴퓨터 간에 Wi-Fi 연결을 설정합니다.

xterm의 관리자로서 이제 다음을 수행해야 합니다.

  1. "문서"로 표시되는 유효한 디렉터리를 입력하세요.
CD /home/users/MyDocs/.documents
  1. 네트워크에서 공유 제품을 "볼" 디렉토리를 만듭니다: mkdir myPC
  1. 파일을 생성하는 cifs.tgz의 내용을 추출합니다. cifs.ko현재 디렉터리에서(다음을 입력하여 확인할 수 있습니다. ㅋㅋㅋ).
tar xvzf cifs.tgz
  1. 위의 모든 단계는 한 번만 수행하면 됩니다. 이제 두 개의 명령이 필요한 두 시스템을 직접 연결할 차례입니다. 첫 번째 명령은 cifs.ko 커널 모듈을 로드하여 이러한 종류의 네트워크 공유 제품을 이해하도록 시스템을 "훈련"합니다. 결과적으로 "cifs.ko가 현재 사용 중입니다"와 같은 메시지가 나타납니다.
insmod./cifs.ko
  1. 오류가 없으면 게스트 디렉토리에 네트워크 공유 제품을 "설치"하여 컴퓨터의 파일이 태블릿에 나타날 수 있습니다. 길고 자세한 명령이므로 모든 부분이 정확하게 맞아야 하므로 다시 한번 확인하시기 바랍니다. 다시 한 번 오류 메시지가 없으면 **ls myPC를 입력하면 됩니다. 컴퓨터의 파일이 태블릿에 나타나는지 확인하세요.
    (물론 이탤릭체를 데이터로 바꾸십시오 - 한 줄에 입력하십시오)
마운트 -t cifs //_10.10.10.10/ Nokia770_ myPC -o 도메인=noworknogroup,user=urbancowboy,password=secretpassword **

설치 명령이 응답하지 않으면 컴퓨터의 모든 방화벽이 로컬 네트워크의 장치에서 액세스를 허용하는지 확인하십시오. 예를 들어 ZoneAlarm의 경우 Maemo 장치의 IP 번호 또는 DHCP의 전체 번호 범위를 "확인된" IP 주소 영역에 추가해야 합니다. 또 다른 예로 MS XP에 내장된 인터넷 연결 방화벽을 사용하면 cifs용 포트 445(TCP)를 추가할 수 있습니다.

이제 귀하의 공유가 디렉터리로 표시됩니다. 내 PC카탈로그에 선적 서류 비치 Maemo 파일 관리자에서.

메모: 태블릿을 재부팅할 때마다 마지막 두 명령을 실행해야 합니다. 이것을 많이 사용할 예정이라면 Linux 매뉴얼을 읽고 나중에 다시 입력할 필요가 없도록 이 두 명령을 두 줄 스크립트로 저장하는 방법을 배우는 것이 좋습니다.

메모: 온라인 상태에서 "smbtree"를 실행하면 공유 리소스가 있는 모든 장치가 표시됩니다. 연결하려면(cifs를 사용하려는 경우) "smbtree -d 3"을 입력하고 "Connecting to xx.xx.xx.xx"라는 줄을 읽으세요. 이는 필수 IP 주소입니다.

Linux 학습, 302(혼합 환경)

CIFS 프로토콜과 통합

Linux를 SMB/CIFS 서버용 클라이언트로 사용

콘텐츠 시리즈:

이 시리즈 정보

이 기사 시리즈는 Linux 운영 체제 관리 작업을 익히는 데 도움이 됩니다. 이 기사의 자료를 사용하여 LPIC 레벨 3(LPIC-3) 시험을 준비할 수 있습니다.

이 시리즈의 기사에 대한 설명을 보고 해당 기사에 대한 링크를 얻으려면 당사를 참조하십시오. 이 목록은 새로운 기사가 ​​준비되면 지속적으로 업데이트됩니다. 현재(2010년 11월 기준) 목표 LPIC-3 인증 시험.

이 문서에서는 다음 주제를 다룹니다.

  • SMB(서버 메시지 블록) 및 CIFS(공용 인터넷 파일 시스템) 프로토콜.
  • CIFS 사용의 특징 및 이점
  • Linux 클라이언트에 CIFS 파일 공유 마운트.

이 문서는 LPI 302(혼합 환경 전문화)를 준비하는 데 도움이 되며 주제 314의 목표 314.1의 자료를 포함합니다. 목표의 가중치는 3입니다.

전제조건

기사를 최대한 활용하려면 Linux에 대한 고급 지식이 있어야 하며, 발생하는 모든 명령을 실행할 수 있는 Linux 컴퓨터가 있어야 합니다. 특히, 독자가 Linux 명령줄에 익숙하고, Samba 구성의 기본 사항을 알고 있으며, smb.conf 구성 파일의 구조에 대해 전반적으로 이해하고 있다고 가정합니다. 또한 로컬 및 원격 파일 시스템 마운트(mount 명령 및 /etc/fstab 파일 사용)의 기본 사항을 알아야 합니다. 표준 Linux 텍스트 명령 세트의 일부인 ftp 명령에 대한 지식은 필수는 아니지만 환영합니다.

SMB/CIFS란 무엇입니까?

LPI-302 선택 시험 정보

많은 프로그램과 마찬가지로 LPIC(Linux Professional Institute Certification) 프로그램은 다양한 수준의 인증을 제공하며 각 수준에는 더 많은 고급 지식과 실무 경험이 필요합니다. LPI-302 시험은 Linux 시스템 관리에 대한 고급 지식이 필요한 LPIC 프로그램의 레벨 3 선택 시험입니다.

LPIC 레벨 3(LPIC-3) 인증을 획득하려면 레벨 1 시험 2개(101 및 102), 레벨 2 시험 2개(201 및 202) 및 레벨 3 Core 301 시험(LPIC-3)을 성공적으로 통과해야 합니다. 레벨 3 인증을 완료한 경우 LPI-302 시험과 같은 특정 전문 분야의 선택 시험에 응시할 수 있습니다.

Linux를 SMB/CIFS 서버용 클라이언트로 사용하는 방법을 살펴보기 전에 이러한 프로토콜의 기능에 대해 이야기하고 Linux에서 작업할 때 파일 시스템 사용을 얼마나 완벽하게 제공하는지 알아 보는 것이 유용합니다. 원래 SMB 프로토콜을 학습하는 방법과 CIFS 수정에 어떤 새로운 기능이 구현되는지 설명하겠습니다. 몇 가지 기본 SMB/CIFS 개념을 다루는 LPI 시험 목표 310.1에 대한 개발자웍스 문서를 참조할 수 있습니다(아래 링크 참조).

주요 SMB 기능

SMB에는 자체 NetBIOS(네트워크 기본 입력/출력 시스템), 작업 그룹 및 인증 프로토콜을 포함하여 여러 가지 고유한 네트워킹 기능이 있습니다. SMB 및 CIFS가 Linux 파일 공유 클라이언트와 작동하는 방식을 이해하려면 이러한 프로토콜의 가장 중요한 기능인 제공하는 메타데이터 세트에 대해 설명해야 합니다.

메타데이터- 파일과 관련된 데이터이지만 파일의 일부는 아닙니다. 메타데이터의 예로는 타임스탬프, 소유자, 권한, 파일 이름 등이 있습니다. 여러분은 Linux 컴퓨터에서 메타데이터가 사용되는 몇 가지 방식과 Linux와 Windows 등 다른 운영 체제 간의 차이점을 알고 있을 것입니다. SMB 프로토콜은 DOS, Windows 및 IBM Operating System/2®(OS/2)용으로 개발되었으므로 해당 운영 체제와 관련된 많은 메타데이터를 포함합니다. 그러나 더 중요한 것은 SMB가 소유자, 그룹 및 대부분의 권한과 같은 UNIX® 및 Linux 메타데이터를 지원하지 않는다는 것입니다. 또한 SMB는 기호 링크, 하드 링크 또는 장치 파일과 같은 기타 특수 파일 형식을 지원하지 않습니다. SMB에는 비트와 같이 Linux에서 일반적으로 인식되지 않는 여러 유형의 메타데이터가 포함되어 있습니다. 숨겨진(숨겨진) 보관소(아카이브) 및 체계(전신). 읽기 전용 비트는 Linux의 쓰기 권한 비트에 매핑될 수 있습니다.

나만의 채널 만들기

자신만의 RSS, Atom 또는 HTML 업데이트 피드를 만들고 당사 사이트의 새 기사 또는 업데이트된 기사에 대한 알림을 받을 수 있습니다. 이렇게 하려면 페이지로 이동하여 영역을 선택하세요. 리눅스, 확인란을 선택하세요. 조항 Linux Professional Institute를 암호로 입력한 후 원하는 채널 유형을 선택하세요.

SMB의 또 다른 제한 사항은 최대 파일 크기가 2GB라는 것입니다. 이러한 제한은 오늘날 멀티 기가바이트 아카이브, 멀티미디어 파일 등의 세계에서 명백한 문제입니다.

Linux 클라이언트가 위 기능으로 SMB를 처리하려면 해당 기능을 무시하거나 "가짜" 데이터를 사용할 수 있어야 합니다. 이러한 옵션은 Linux에서 NTFS 또는 FAT 파일 시스템을 마운트할 때 사용되는 옵션과 유사합니다. 다행스럽게도 CIFS 프로토콜은 이러한 제한 사항 중 일부를 극복할 수 있는 더 광범위한 도구 세트를 제공합니다.

또한 SMB 프로토콜에서 사용되는 네트워크 포트에 대해서도 알아야 합니다. 이는 UDP(사용자 데이터그램 프로토콜) 포트 137 및 138과 TCP 포트 139(세션 서비스, 즉 파일 전송)입니다. 낮은 수준의 네트워크 진단 유틸리티를 사용하여 SMB를 디버깅할 때 이 정보가 필요합니다.

SMB 프로토콜용 CIFS 확장

1990년대 중반에 Microsoft®는 SMB 프로토콜의 이름을 다음과 같이 변경했습니다. CIFS동시에 기호 링크와 하드 링크, 대용량 파일에 대한 지원을 포함하여 여러 가지 새로운 기능을 추가했습니다. CIFS는 표준 포트 139 외에 보안 TCP 포트 445를 통해 서버에 대한 액세스도 지원합니다.

다른 CIFS 확장은 Microsoft 자체 SMB 확장만큼 중요한 것으로 입증되었습니다. 특히, 다음과 같은 기능 세트가 있습니다. UNIX 확장(UNIX 확장)은 다른 유형의 UNIX 메타데이터와 함께 파일 소유권 및 권한에 대한 지원을 제공합니다. 클라이언트와 서버가 모두 이러한 확장을 지원하는 경우 SMB 대신 CIFS를 사용하면 Linux를 실행하는 클라이언트에 훨씬 더 효율적인 환경을 제공할 수 있습니다. 예상할 수 있듯이 이러한 확장은 Windows Server® 운영 체제 제품군에서 지원되지 않으므로 Linux 클라이언트가 Samba 서버에 연결할 때만 유용합니다. 서버는 다음 전역 설정으로 구성되어야 합니다.

유닉스 확장 = 예

기본적으로 이 설정은 Samba 3.0 미만의 모든 버전에서 No로 설정되어 있지만 Samba 3.0에서는 기본적으로 Yes로 설정되어 있어 수동으로 구성할 필요가 없습니다.

smb클라이언트 사용

아마도 Linux 클라이언트에서 SMB/CIFS 서버에 액세스하는 가장 쉬운 방법은 smbclient 명령줄 유틸리티를 사용하는 것입니다. 이 유틸리티는 기존의 ftp 명령과 유사하므로 ftp에 익숙하다면 smbclient를 쉽게 마스터할 수 있습니다. FTP에 익숙하지 않다면 이 프로그램이 서버에 대한 연결을 제공한다는 것만 알아도 충분합니다. 없이파일 공유의 표준 마운트. 대신 사용자는 다양한 명령을 실행하여 파일을 보거나 삭제하거나 다운로드하거나 전송합니다.

smbclient를 사용하려면 명령줄에 이 명령의 이름과 서비스 이름을 다음 형식으로 입력해야 합니다. // 섬기는 사람 / 서비스. 예를 들어 TANGO 서버의 GORDON 공유에 액세스해야 하는 경우 이름을 지정해야 합니다. //탱고/고든. 서버 구성에 따라 비밀번호를 입력해야 할 수도 있습니다. 올바른 비밀번호를 입력하면 다양한 명령어를 입력하여 서버에 저장된 파일에 접근할 수 있습니다. 표 1에는 가장 중요한 smbclient 명령 중 일부가 나열되어 있습니다. 다른 보다 이국적인 명령에 대한 자세한 내용은 유틸리티의 매뉴얼 페이지를 참조하십시오.

표 1. 가장 중요한 smbclient 명령
행동
? 또는 도움모든 명령을 나열합니다.
CD원격 서버의 작업 디렉터리를 변경합니다.
파일을 삭제합니다.
dir 또는 ls현재(또는 지정된) 디렉터리의 파일을 나열합니다.
나가거나 그만둬세션 종료
얻다서버에서 클라이언트로 파일을 전송합니다.
액정로컬 컴퓨터의 작업 디렉터리를 변경합니다.
md 또는 mkdir원격 서버에 디렉터리를 생성합니다.
mget서버에서 클라이언트로 여러 파일을 전송합니다.
로컬 페이징 명령을 사용하여 삭제된 파일을 나열합니다.
입력클라이언트에서 원격 서버로 여러 파일을 전송합니다.
놓다클라이언트에서 원격 서버로 파일을 전송합니다.
rd 또는 rmdir디렉터리를 삭제합니다.
이름 바꾸기원격 서버의 파일 이름을 바꿉니다.
RM원격 서버에서 하나 이상의 파일을 삭제합니다.

기본적으로 smbclient는 현재 사용자 이름을 사용하여 서버에 연결하지만 -U 옵션을 사용하여 사용자 이름을 명시적으로 지정할 수 있습니다. 실제로 smbclient 대화형 모드를 시작하지 않고도 파일을 전송할 수 있는 옵션을 포함하여 여러 가지 명령줄 옵션을 사용할 수 있습니다. 따라서 smbclient를 스크립트에서 사용하여 자동 파일 전송을 수행할 수 있습니다. 자세한 내용은 이 유틸리티의 매뉴얼 페이지를 참조하십시오.

smbclient를 사용한 세션은 다음과 같습니다.

목록 1. smbclient를 사용한 세션의 예
$ smbclient //TANGO/GORDON/ Gordon의 비밀번호 입력: Domain= OS= Server= smb: \> cd mystuff smb: \mystuff\> ls . D 0 Mon May 16 19:20:08 2011 .. D 0 Mon 5월 16일 19:18:12 2011 xv-3.10a-1228.1.src.rpm 3441259 화요일 5월 18일 19:09:26 2010 License.txt 27898 월요일 5월 16일 19:17:15 2011 xorg.conf 1210 금요일 1월 21일 04: 18:13 2011 51198 블록 크기 2097152. 2666 블록 사용 가능 smb: \mystuff\> xorg.conf에서 크기 1210의 \mystuff\xorg.conf 파일을 xorg.conf(9.4 킬로바이트/초)로 가져옴(평균 9.4 킬로바이트/초) ) smb:\mystuff\> 종료

조언. smbclient 유틸리티는 뛰어난 디버깅 도구입니다. 단순함에도 불구하고 리소스를 탑재하지 않고도 네트워크 환경에 액세스할 수 있으므로 문제 해결이 단순화될 수 있습니다.

SMB/CIFS 파일 공유 마운트

모든 효율성에도 불구하고 smbclient는 Windows 클라이언트로 작업할 때처럼 서버에 대해 동일한 투명한 액세스를 허용하지 않습니다. 이것이 필요한 경우 다른 방법을 사용하여 SMB/CIFS 공유를 마운트해야 합니다. 이는 표준 Linux 마운트 명령을 사용하거나 컴퓨터가 부팅될 때 SMB/CIFS 공유를 자동으로 마운트하도록 /etc/fstab 파일을 편집하여 수행할 수 있습니다.

임시로 공유 마운트

SMB/CIFS 파일 공유는 로컬 볼륨이나 NFS 공유를 마운트하는 데에도 사용되는 mount 명령을 사용하여 마운트할 수 있습니다. cifs 파일 시스템 유형을 지정할 수 있습니다. 또는 대부분의 경우 mount는 명령 구문을 기반으로 특정 드라이버가 필요한지 여부를 결정합니다. 또는 mount.cifs 유틸리티 프로그램을 직접 호출할 수 있습니다. 기본적으로 로컬 및 원격 파일 시스템 마운트는 마운트되는 장치 유형만 다릅니다. 따라서 TANGO 서버에 있는 GORDON 리소스를 마운트하려면 루트 사용자로 다음 명령을 실행하면 됩니다.

# 마운트 //TANGO/GORDON/mnt

실제로 이 명령은 문제를 일으킬 수 있습니다. 즉, root라는 이름을 사용자 이름으로 서버에 전달하며 해당 사용자가 서버에 연결하는 것이 허용되지 않으면 마운트가 실패합니다. 이 문제는 -o user=name 옵션을 사용하여 사용자 이름을 서버에 전달함으로써 해결할 수 있습니다.

# mount -o user=gordon //TANGO/GORDON /mnt 비밀번호:

-o 옵션을 사용하여 mount 명령에 전달되는 여러 가지 다른 마운트 옵션을 사용할 수 있습니다. 가장 유용한 옵션은 표 2에 나열되어 있습니다. 나머지 옵션에 대한 자세한 내용은 mount.cifs 매뉴얼 페이지를 참조하십시오.

표 2. 가장 중요한 mount.cifs 옵션
옵션행동
사용자= 이름또는 사용자 이름= 이름 서버에 전달된 사용자 이름을 지정합니다.
비밀번호= 통과하다 서버로 보낼 비밀번호를 정의합니다. 암호를 지정하지 않으면 mount.cifs는 PASSWD 환경 변수의 값을 사용합니다. PASSWD 값이 지정되지 않은 경우 프로그램은 사용자에게 암호를 묻는 메시지를 표시합니다.
자격 증명= 파일 이름 사용자 이름, 비밀번호 및 선택적 작업 그룹 이름이 포함된 파일을 정의합니다. 각 값은 각각 사용자 이름= , 비밀번호= 및 작업 그룹= 으로 시작하는 별도의 줄에 나열됩니다.
UID= UID 탑재된 리소스 파일의 소유자가 될 사용자 ID를 정의합니다.
기드= GID uid= 옵션과 동일 UID, 그러나 사용자 식별자(UID)가 아닌 그룹 식별자(GID)에 적용됩니다.
파일_모드= 방법 서버의 파일에 할당될 파일 모드(권한)를 숫자 형식으로 설정합니다.
dir_mode= 방법 file_mode=mode 옵션과 유사하지만 파일이 아닌 디렉터리에 적용됩니다.
손님비밀번호 프롬프트를 방지합니다. 일반적으로 이 옵션은 리소스가 게스트 액세스를 지원하는 경우에만 작동합니다.
딱딱한서버를 사용할 수 없게 되면 해당 서버에 있는 파일에 액세스하려는 프로세스는 서버에 대한 액세스가 복원될 때까지 정지된 상태로 유지됩니다.
부드러운서버를 사용할 수 없게 되면 서버에 있는 파일에 액세스하려고 시도하는 프로세스에 오류 메시지가 나타납니다. 이 작업이 기본값입니다.

CIFS에 구현된 UNIX 확장을 지원하는 서버에 연결할 때 uid, gid, file_mode 및 dir_mode 매개변수는 일반적으로 선택 사항입니다. 그러나 이러한 설정을 사용하여 서버에 설정된 값을 재정의할 수 있습니다. 또한 이러한 모든 옵션은 파일이 표시되는 방식에 영향을 미칩니다. 클라이언트에게; 서버에 있는 파일의 권한이나 소유권에는 영향을 주지 않습니다.

SMB/CIFS 공유가 마운트되면 로컬 디스크 또는 NFS 볼륨과 동일한 방식으로 액세스할 수 있습니다. cp, rm 명령을 사용하여 파일을 복사, 삭제할 수 있고, 텍스트 편집기나 다른 프로그램 등에서 편집할 수 있습니다. 단, 서버가 특정 기능을 지원하지 않는 경우 해당 기능을 사용할 수 없다는 점을 기억하세요. 예를 들어, 서버가 UNIX 확장을 지원하지 않는 경우 chmod를 사용하여 파일 모드를 변경할 수 없습니다. chmod의 경우 특별한 예외는 쓰기 권한을 변경하는 기능입니다. 이러한 권한은 SMB의 읽기 전용 비트에 역으로 매핑됩니다. 규약).

공유 작업이 끝나면 일반 로컬 파일 시스템처럼 umount 명령을 사용하여 마운트 해제할 수 있습니다.

#umount/mnt
SMB를 사용하여 파일 공유 마운트

버전 2.6.37 이전의 Linux 커널에는 별도의 SMB 및 CIFS 드라이버가 포함되어 있으며 원래 SMB 프로토콜을 사용하여 공유를 마운트할 수 있었습니다. 이렇게 하려면 파일 시스템 유형으로 smbfs를 지정하거나 smbmount 명령을 사용해야 했습니다. 세부 사항에는 약간의 차이가 있지만 이는 cifs 파일 시스템 유형이나 mount.cifs 명령을 사용하는 것과 거의 동일하게 작동합니다. SMB 프로토콜을 사용하면 UNIX 확장과 같은 CIFS 관련 기능을 사용할 수 없게 되었습니다.

과거에는 때때로 SMB를 사용하는 것이 합리적이었습니다. 예를 들어, Linux smbfs 드라이버를 사용하여 매우 오래된 Windows 9x/Me 컴퓨터에 파일 공유를 마운트할 수 있지만 cifs를 사용하지 않는 것이 가능했습니다. 오늘날 이러한 상황은 매우 드뭅니다. 왜냐하면 현대적인 cif 구현으로 인해 다음의 사용이 제거되었기 때문입니다. 영형한때 존재했던 한계의 대부분. 그러나 비슷한 문제가 발생하면 2.6.37 이전의 Linux 커널 버전을 설치해 보고 smbfs 드라이버가 문제 해결에 도움이 되는지 확인하세요.

영구적으로 공유 마운트

SMB/CIFS 파일 공유를 영구적으로 마운트해야 하는 경우 /etc/fstab 파일에 항목을 추가해야 합니다. 이러한 변경 사항은 mount 명령의 일부로 발생하는 /etc/fstab 파일의 다른 모든 변경 사항과 유사합니다. 그러나 이 상황에서 특별한 주의를 기울여야 할 옵션이 하나 있는데, 바로 자격 증명입니다. 대부분의 SMB/CIFS 서버는 인증을 위해 비밀번호를 사용하므로 /etc/fstab을 사용하여 파일 공유를 마운트하려면 영구 비밀번호를 저장해야 합니다. 비밀번호를 /etc/fstab 파일에 직접 저장할 수 있지만(password 옵션 사용) 권장되지 않습니다. /etc/fstab 파일은 모든 사용자가 읽을 수 있어야 하기 때문에 모든 사용자가 비밀번호를 볼 수도 있습니다. 자격 증명 옵션을 사용하면 루트 사용자만 읽을 수 있는 파일에 비밀번호를 저장할 수 있으므로 보안이 강화됩니다.

SMB/CIFS 공유에 대한 /etc/password 파일의 작업 항목은 다음과 같습니다.

//TANGO/BACKUPS /saveit cifs 자격 증명=/etc/samba/creds.txt 0 0

연결된 자격 증명은 다음과 같습니다.

사용자 이름=buuser 비밀번호=Iw2bUmS)

질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: