Linux/centos에서 삼바 서버를 구성하고 관리하는 방법은 무엇입니까?

1 삼바 서비스 관련 지식

  • samba서버를 사용하면 사용자는 이기종 네트워크 운영 체제 간에 파일 시스템을 공유할 수 있습니다.
  • samba서버는 Windows환경에서 사용자 디렉토리를 공유하기 Linux위한 도구를 제공합니다.
  • linux에 설치한 액세스하려면 로그인만 하면 됩니다 samba.windows

1.1 SMB 프로토콜

  • Windows시스템은 TCP/IP기본 프로토콜을 사용하여 NetBOIS요청을 보내고 NetBOIS상위 계층 에서는 SMB(server message block)프로토콜을 고급 인터페이스로 사용하여 windows네트워크 환경에서 파일 및 인쇄와 같은 리소스 공유를 실현합니다.
  • SMB사용되는 NetBOIS응용 프로그램 인터페이스는 API일반적으로 포트입니다 139,445.
  • 이는 프로토콜 확장을 허용하는 개방형 프로토콜입니다.
  • 대략 65개의 최상위 작업이 있으며 각 작업에는 120개 이상의 기능이 있습니다.
  • CIFS(common Internet File system)SMB이는 프로토콜 의 향상된 버전입니다 .

1.2 삼바의 작동 원리

1.2.1 관련 프로세스

  • samba서버는 두 개의 데몬 프로세스 smbd로 구성되어 있으며 nmbd, 각 프로세스는 독립적으로 시작하거나 /etc/rc.d/init.d/smb시작을 사용하여 시작할 수 있습니다.

smbd : Windows 사용자를 위한 파일 및 인쇄 공유 서비스를 제공합니다.
nmbd : NetBIOS 이름 확인을 수행하고 Windows SMB 요청 정보의 NetBIOS 이름을 Linux의 IP 주소에 매핑합니다.

1.2.2 삼바 작업 흐름

여기에 이미지 설명을 삽입하세요.

1.2.3 삼바 기능

  • 파일 및 프린터 공유;
  • 인증 및 권한 설정
  • 이름 확인;
  • 서비스를 찾아보세요.

2개의 삼바 서버 설치

2.1 CD-ROM 드라이브를 이용한 설치

다음을 centos수행하십시오 .

  • linux시스템 설치 CD를 CD-ROM 드라이브에 넣고 다음을 만듭니다.
mkdir /mnt/cdrom
  • 다음 디렉터리에 읽기-쓰기 모드로 CD를 마운트합니다.
mount /dev/cdrom /mnt/cdrom
  • yum 소스 파일을 만드세요 /etc/yum.repos.d/cdrom.repo:
[cdrom]
name = cdrom
baseurl = file:///mnt/cdrom
gpgcheck = 0
enabled = 1

2.2 CD 매핑 파일 사용

다음을 수행합니다 centos(저는 이 방법을 사용합니다).

  • 광학 드라이브가 없으면 운영 체제의 매핑 파일을 사용하면 됩니다.

  • 예를 들어 매핑 파일을 맨 위 맨 아래 .iso에 업로드합니다 .linuxrootCentOS-7-x86_64-Everything-2003.iso
    여기에 이미지 설명을 삽입하세요.

  • 새 디렉터리를 만들고 iso이 디렉터리에 매핑 파일을 걸어 놓습니다.

mkdir /mnt/iso
mount -o loop /root/CentOS-7-x86_64-Everything-2003.iso /mnt/iso
  • 파일을 만드세요 /etc/yum.repos.d/iso.repo:
[iso]
name = iso
baseurl = file:///mnt/iso
gpgcheck = 0
enabled = 1
  • 다음 이름을 사용하여 설치하십시오.
yum -y install samba
  • 다음 명령을 사용하여 설치 상태를 확인할 수 있습니다.
rpm -qa | grep samba

3 삼바 서비스 시작 및 중지

  • samba서비스를 시작합니다 :
systemctl start smb.service
  • 삼바 서비스를 중지합니다:
systemctl stop smb.service
  • samba서비스를 다시 시작합니다 .
systemctl restart smb.service
  • samba서비스 새로고침 :
systemctl reload smb.service

여기에 이미지 설명을 삽입하세요.

  • samba부팅 시 자동 시작 서비스:
systemctl enable smb.service
# 查看是否开机自启
systemctl list-unit-files | grep smb

여기에 이미지 설명을 삽입하세요.

  • samba부팅 시 자동 시작 서비스를 취소합니다 .
systemctl disable smb.service
  • samba서비스 상태 확인 :
systemctl status smb.service

여기에 이미지 설명을 삽입하세요.

4 삼바 서버 구성

4.1 삼바 기본 구성 파일 smb.conf

4.1.1 삼바 구성 소개

  • 구성 파일은 /etc/samba다음과 같습니다 .
    여기에 이미지 설명을 삽입하세요.
  • 구성 정보는 다음과 같습니다.
    여기에 이미지 설명을 삽입하세요.
  • 설명하다:

① 시작 부분에서는 주로 삼바의 기능을 소개합니다.
② #: 설명용,
③;: 형식의 예,

4.1.2 전역변수

  • global주로 전역 변수입니다.
[global]
        workgroup = SAMBA # 设置samba的工作组
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
  • 부분 필드 분석:
필드 방법 설명하다
workgroup 작업그룹=<작업그룹> samba server작업 그룹 설정
server string 서버 문자열=<설명> samba server댓글 설정
host allow 호스트 허용= <IP>주소 samba server연결할 수 있는 컴퓨터를 제한하세요 .
security 보안=<수준> 액세스에 대한 보안 수준 설정
password level 비밀번호 수준=<숫자> 비밀번호 길이
username level 사용자 이름 레벨=<자릿수> 사용자 이름 길이
encrypt passwords 비밀번호 암호화=<예/아니요> samba비밀번호 암호화 여부 설정
smd password file smd 비밀번호 파일=<비밀번호 파일> samba비밀번호 파일 설정

4.1.3 공유 서비스

  • 공유 부분에는 [ home], [ printer], [사용자 정의 공유 이름]이 포함됩니다.
  • samba[ home], [ printer] 공유는 기본적으로 활성화되어 있습니다.
  • 다음 형식으로 공유 디렉터리를 직접 만들 수 있습니다.
[共享名]
字段 = 设置值
......
  • 필드 설명:
필드 설명하다
comment 노트
path 공유 리소스의 전체 경로
browseable 리소스 탐색 시 공유 디렉터리 표시 여부 설정
public 익명 접근 허용 여부 설정
read only 읽기 전용 모드로 공유 리소스에 액세스할지 여부
writeable 사용자가 작업을 쓸 수 있도록 허용할지 여부
vaild users 특정 사용자 설정
write list 쓰기가 허용된 사용자 또는 그룹

4.2 Samba 서비스 로그 및 계정

4.2.1 삼바 서비스 로그 파일

  • 목차:
/var/log/samba
  • 로그 파일의 저장 경로와 용량은 다음 파일을 수정하여 설정할 수 있습니다.
# smb.conf
log file = /var/log/samba/log.%m
max log size = 50

여기에 이미지 설명을 삽입하세요.

4.2.2 삼바 서비스 비밀번호 파일

  • 목차:
/etc/samba/smbpasswd
  • samba계정을 추가하는 명령은 다음과 같습니다.
smbpasswd -a 用户名

5 삼바 클라이언트 구성

5.1 리눅스에서 삼바 서버 테스트

  • smbclient주문하다:
smbclient -L 目标IP地址或主机名 -U 登陆用户名%密码
  • mount주문하다:
mount -t cifs //目标IP地址或主机名/共享目录名 挂载点 -o username=用户名,password=密码

5.2 Windows에서 삼바 서버 테스트

  • 시작-실행, linux공유 디렉토리를 입력하십시오.
  • 파일 브라우저에 입력된 linux공유 디렉터리를 열 수도 있습니다 .

6 실제 사례

6.1 예시 설명

공유 파일 서버, 파일 이름은 workgroup, 디렉터리는 /mnt/public, 공유 이름은 public이며 누구나 질문할 수 있습니다.

6.2 구현 프로세스

  • 새 디렉터리를 만듭니다.
mkdir /mnt/public
touch /mnt/public/test1.txt /mnt/public/test2.txt 

여기에 이미지 설명을 삽입하세요.

  • smb.conf파일 수정 :
[public]
        comment = Public
        path = /mnt/public
        public = yes
        browseable = yes
        guest ok = yes

여기에 이미지 설명을 삽입하세요.

  • 방화벽 samba서비스가 통과할 수 있도록 그래픽 인터페이스를 엽니다(응용 프로그램-기타-방화벽).
  • 설정은 Selinux다음과 같습니다 Permissive.
getenforce
setenforce 0
getenforce

여기에 이미지 설명을 삽입하세요.

  • 방문 경로 linux:
smbclient //192.168.0.190/public -U root

여기에 이미지 설명을 삽입하세요.

  • 계정 root에 조인을 추가합니다 .samba
smbpasswd -a root

여기에 이미지 설명을 삽입하세요.

  • 액세스를 통해 액세스할 수 없는 경우 파일 공유 지원을 windows활성화해야 합니다 .SMB
    여기에 이미지 설명을 삽입하세요.
    여기에 이미지 설명을 삽입하세요.

여기에 이미지 설명을 삽입하세요.

추천

출처blog.csdn.net/NoamaNelson/article/details/132143270