[홈서버] 우분투에서 CIFS(SMB) 마운트
[홈서버구축] 홈네트워크 구성하기 (1)
[홈서버] 디바이스, 기가바이트 브릭스 GB-BLCE-4105 [홈서버구축] 홈네트워크 구성하기 (1) 보통 가정용 인터넷을 신청하면 설치기사님이 모뎀과 공유기를 갖고 오신다. 통신사마다 다르지만 필자
malchooni.name
홈서버 및 사설망 네트워크를 구성하고 디바이스들 간에 공유디스크 필요성이 느껴졌다. 그래서 SMB로 공유디스크를 구성하였고 이를 우분투서버에 마운트 하려고 한다.
첫 단계로 cifs-utils을 설치한다. 필자는 작업 편의를 위해 root 계정으로 진행하였다.
$ apt-get install cifs-utils |
만약 apt를 통해 인스톨 시 404 not found 에러가 났다면 'apt-get update'를 실행해보는 것도 하나의 해결 방법이다.
설치 이후 마운트 할 경로에 디렉터리를 생성한다. /mnt/ghostdisk에 SMB 공유디스크를 마운트 하겠다.
$ mkdir /mnt/ghostdisk |
디렉터리 생성 후 CIFS로 SMB 공유디스크 마운트를 위해 다음 명령어를 입력한다.
$ mount -t cifs -o user=xxxx,password=xxxx //172.30.1.1/hdd1 /mnt/ghostdisk/ mount error(2): No such file or directory Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg) |
마운트 명령어를 입력하였으나 No such file or directory라는 오류가 발생하여 검색을 시작하였다.
우분투 SMB mount error(2): No such file or directory 오류
우분투에서 cifs 마운트 중 다음과 같은 오류가 발생하였다. $ mount -t cifs -o user=xxxx,password=xxxx //172.30.1.1/hdd1 /mnt/ghostdisk/ mount error(2): No such file or directory Refer to the mount.cif..
malchooni.name
다시 옵션 값에 버전 정보를 명령어에 넣은 후 실행하였더니 정상적으로 마운트 되었다. 옵션으로 넣은 user와 password는 SMB 서버의 계정과 패스워드이다.
$ mount -t cifs -o user=xxxx,vers=2.0,password=xxxx //172.30.1.1/hdd1 /mnt/ghostdisk/ |
$ df -BG udev 4G 0G 4G 0% /dev tmpfs 1G 1G 1G 1% /run /dev/nvme0n1p2 234G 87G 136G 39% / tmpfs 4G 0G 4G 0% /dev/shm tmpfs 1G 0G 1G 0% /run/lock tmpfs 4G 0G 4G 0% /sys/fs/cgroup /dev/nvme0n1p1 1G 1G 1G 2% /boot/efi //172.30.1.1/hdd1 1864G 31G 1833G 2% /mnt/ghostdisk |
그러나 root 계정으로 작업하였더니 다른 계정에서 접근권한 오류가 발생하였다. 마운트 옵션 중에 uid, gid 입력하여 해결할 수 있다. 특정 계정에 'id'라는 명령어로 uid, gid를 확인할 수 있다.
$ id uid=1000(xxxx) gid=1000(xxxx) groups=1000(xxxx),....... |
다시 마운트를 하기 위해 언마운트 먼저 진행한다.
$ umount -l /mnt/ghostdisk |
$ mount -t cifs -o uid=1000,gid=1000,user=xxxx,vers=2.0,password=xxxx //172.30.1.1/hdd1 /mnt/ghostdisk/ |
uid, gid를 입력하여 그 계정에게 권한을 주었다. 그러나 필자는 어느 계정이든 접근이 목적이기에 언마운트 후 uid와 gid 옵션을 제거, 'noperm' 이란 옵션을 넣었다.
$ mount -t cifs -o user=xxxx,vers=2.0,noperm,password=xxxx //172.30.1.1/hdd1 /mnt/ghostdisk/ |
이후 재부팅 시 자동 마운트 가능하게 /etc/fstab 파일을 vi 에디터로 열어 맨 마지막 줄에 다음 내용을 추가하였다.
$ vi /etc/fstab |
//172.30.1.1/hdd1 /mnt/ghostdisk/ cifs user=xxxx,vers=2.0,noperm,password=xxxx 0 0 |
추가된 내용은 의미는 <file system> <mount point> <type> <options> <dump> <pass> 순이며, 구분자는 스페이스 혹은 탭으로 한다.
이렇게 SMB 공유디스크를 우분투 서버에 마운트를 완료하였다. 다음은 mount 명령어에서 사용한 -o 옵션에 대한 설명이다. 구글 번역으로 바꾸었기 때문에 해석이 어색할 수 있음을 참고한다.
옵션 | 설명 |
user 혹은 username | 연결할 사용자 이름을 지정합니다. 이것이 주어지지 않으면 환경변수 USER가 사용됩니다. 이전 버전의 mount.cifs도 파일에 사용자 이름을 지정할 수 있었습니다. 암호를 허용하려면 "user%password" 또는 "workgroup/user" 또는 "workgroup/user%password" 사용자 이름의 일부로 지정될 작업 그룹. 대체 지원 사용자 이름 형식은 이제 더 이상 사용되지 않으며 더 이상 사용해서는 안 됩니다. 사용자는 다음을 사용해야 합니다. 개별 "password=" 및 "domain="을 사용하여 해당 값을 지정합니다. 일부 버전의cifs 커널 모듈은 "user="를 이 옵션의 약어로 허용합니다. 표준 마운트 프로그램을 이것이 수퍼유저가 아닌 마운트라고 생각하도록 혼동하십시오. 따라서 전체 "username=" 옵션 이름을 사용하는 것이 좋습니다. |
password | CIFS 암호를 지정합니다. 이 옵션이 주어지지 않으면 환경 변수PASSWD가 사용됩니다. 비밀번호를 직접 또는 간접적으로 지정하지 않은 경우마운트에 대한 인수, mount.cifs는 게스트 옵션이 지정. 구분 기호(예: 쉼표 ',')가 포함된 암호는 명령줄에서 올바르게 구문 분석되지 않습니다. 단, 에 정의된 것과 동일한 비밀번호 PASSWD 환경 변수 또는 자격 증명 파일을 통해 암호 프롬프트가 올바르게 읽혀질 것입니다. |
vers | SMB 프로토콜 버전. 허용되는 값은 다음과 같습니다. · 1.0 - 클래식 CIFS/SMBv1 프로토콜. 이것이 기본값입니다. · 2.0 - SMBv2.002 프로토콜. 이것은 Windows Vista에서 처음 도입되었습니다. 서비스 팩 1 및 Windows Server 2008. 초기 릴리스 버전 Windows Vista는 지원되지 않는 약간 다른 방언(2.000)을 사용했습니다. · 2.1 - Microsoft Windows 7 및 Windows에 도입된 SMBv2.1 프로토콜 서버 2008R2. · 3.0 - Microsoft Windows 8 및 Windows에 도입된 SMBv3.0 프로토콜 서버 2012. 이 옵션이 사용된 프로토콜 버전을 제어하지만 모든 기능이 각 버전을 사용할 수 있습니다. |
noperm | 클라이언트는 권한 확인을 하지 않습니다. 이렇게 하면 이 마운트의 파일이 다음을 통해 액세스할 수 있습니다. 로컬 클라이언트 시스템의 다른 사용자. 일반적으로 서버가 다음과 같은 경우에만 필요합니다. CIFS Unix Extensions를 지원하지만 클라이언트 및 서버 시스템의 UID/GID는 지원하지 않습니다. 마운트를 수행하는 사용자가 액세스할 수 있을 만큼 밀접하게 일치하지 않습니다. 이 서버 소프트웨어에서 수행하는 대상 시스템의 일반 ACL 검사에는 영향을 미치지 않습니다. |
자세한 mount 명령어 확인은 아래 링크를 참고 한다.
Ubuntu Manpage: mount.cifs - mount using the Common Internet File System (CIFS)
Powered by the Ubuntu Manpage Repository, file bugs in Launchpad © 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.
manpages.ubuntu.com