SW/리눅스

Linux : CIFS로 윈도우 공유 마운트 방법, 예제, 명령어

얇은생각 2022. 4. 29. 07:30
반응형

Linux 및 유닉스 운영 체제의 경우 mount 명령의 cifs 옵션을 사용하여 로컬 디렉터리 트리의 특정 마운트 지점에 Windows 공유를 마운트할 수 있습니다.

CIFS(Common Internet File System)는 네트워크 파일 공유 프로토콜입니다. CIFS는 SMB의 한 형태입니다. 

이 튜토리얼에서는 Linux 시스템에 Windows 공유를 수동으로 자동으로 마운트하는 방법에 대해 설명합니다.

 

 

Linux : CIFS로 윈도우 공유 마운트 방법, 예제, 명령어

 

 

CIFS 유틸리티 패키지를 설치

Linux 시스템에 Windows 공유를 마운트하려면 먼저 CIFS 유틸리티 패키지를 설치해야 합니다.

Ubuntu 및 Debian에 CIFS 유틸리티를 설치합니다.

sudo apt update
sudo apt install cifs-utils

 

 

CentOS 및 Fedora에 CIFS 유틸리티를 설치합니다.

sudo dnf install cifs-utils

 

 

패키지 이름은 Linux 배포판마다 다를 수 있습니다.

 

 

 

CIFS Windows Share를 마운트

원격 Windows 공유를 마운트하는 것은 일반 파일 시스템을 마운트하는 것과 유사합니다.

먼저 원격 Windows 공유의 마운트 지점 역할을 할 디렉터리를 만듭니다.

sudo mkdir /mnt/win_share

 

 

다음 명령을 루트 또는 sudo 권한이 있는 사용자로 실행하여 공유를 마운트합니다.

암호를 입력하라는 메시지가 표시됩니다.

sudo mount -t cifs -o username=<win_share_user> //WIN_SHARE_IP/<share_name> /mnt/win_share

# Password:

 

 

성공하면 출력이 생성되지 않습니다.

원격 Windows 공유가 성공적으로 마운트되었는지 확인하려면 mount 또는 df -h 명령을 사용하십시오.

공유가 마운트되면 마운트 지점이 마운트된 파일 시스템의 루트 디렉터리가 됩니다. 원격 파일을 로컬 파일인 것처럼 작업할 수 있습니다.

다음 명령행에도 암호를 제공할 수 있습니다.

sudo mount -t cifs -o username=<win_share_user>,password=<win_share_password> //WIN_SHARE_IP/<share_name> /mnt/win_share

 

 

사용자가 Windows 작업 그룹 또는 도메인에 있는 경우 다음과 같이 설정할 수 있습니다.

sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain> //WIN_SHARE_IP/<share_name> /mnt/win_share

 

 

보안을 강화하기 위해 공유 사용자 이름, 암호 및 도메인이 포함된 자격 증명 파일을 사용하는 것이 좋습니다.

자격 증명 파일의 형식은 다음과 같습니다.

# /etc/win-credentials

username=user
password=password
domain=domain

 

 

사용자가 파일을 읽을 수 없어야 합니다. 올바른 사용 권한 및 소유권을 설정하려면 다음을 실행합니다.

sudo chown root: /etc/win-credentials
sudo chmod 600 /etc/win-credentials

 

 

인증 정보 파일을 사용하려면 다음과 같이 정의하십시오.

sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/<share_name> /mnt/win_share

 

 

기본적으로 마운트된 공유는 루트에서 소유하며 사용 권한은 777로 설정됩니다.

dir_mode 옵션을 사용하여 디렉터리 권한을 설정하고 file_mode를 사용하여 파일 권한을 설정합니다.

sudo mount -t cifs -o credentials=/etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share

 

 

기본 사용자 및 그룹 소유권은 uid 및 gid 옵션으로 변경할 수 있습니다.

sudo mount -t cifs -o credentials=/etc/win-credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share

 

 

추가 옵션을 설정하려면 -o 옵션 뒤에 쉼표로 구분된 목록으로 추가합니다. 모든 마운트 옵션 목록을 가져오려면 터미널에 man mount를 입력합니다.

 

 

 

자동 마운트

마운트 명령을 사용하여 공유를 수동으로 마운트하면 재부팅 후에도 공유가 유지되지 않습니다.

/etc/fstab 파일에는 시스템 시작 시 마운트할 파일 시스템과 위치를 정의하는 항목 목록이 포함되어 있습니다.

Linux 시스템이 시작될 때 Windows 공유를 자동으로 마운트하려면 /etc/fstab 파일에 마운트를 정의합니다. 줄에는 Windows PC의 호스트 이름 또는 IP 주소, 공유 이름 및 로컬 컴퓨터의 마운트 지점이 포함되어야 합니다.

텍스트 편집기로 /etc/fstab 파일을 엽니다.

파일에 다음 줄을 추가합니다.

# /etc/fstab

# <file system>             <dir>          <type> <options>                                                   <dump>  <pass>
//WIN_SHARE_IP/share_name  /mnt/win_share  cifs  credentials=/etc/win-credentials,fi

 

 

다음 명령을 실행하여 공유를 마운트합니다.

sudo mount /mnt/win_share

 

 

마운트 명령은 /etc/fstab의 내용을 읽고 공유를 마운트합니다.

다음에 시스템을 재부팅하면 Windows 공유가 자동으로 마운트됩니다.

 

 

 

Windows Share를 마운트 해제

umount 명령은 마운트된 파일 시스템을 디렉터리 트리에서 분리(마운트 해제)합니다.

마운트된 Windows 공유를 분리하려면 umount 명령을 사용한 다음 마운트된 디렉토리 또는 원격 공유를 사용합니다.

sudo umount /mnt/win_share

 

 

CIFS 마운트에 fstab 파일에 항목이 있는 경우 해당 항목을 제거합니다.

umount 명령은 공유가 사용 중일 때 분리되지 않습니다. Windows 공유에 액세스하는 프로세스를 확인하려면 다음 fuser 명령을 사용하십시오.

fuser -m MOUNT_POINT

 

 

프로세스를 찾으면 kill 명령으로 프로세스를 중지하고 공유를 마운트 해제할 수 있습니다.

공유를 마운트 해제하는 데 여전히 문제가 있는 경우 사용 중인 파일 시스템이 더 이상 사용되지 않는 즉시 마운트 해제할 수 있는 -l(--lazy) 옵션을 사용합니다.

sudo umount -l MOUNT_POINT

 

 

Linux에서는 cifs 옵션과 함께 mount 명령을 사용하여 Windows 공유를 마운트할 수 있습니다.

반응형